完整版华电微机原理与技术汇编语言题目及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机原理与接口技术汇编题目
(1)数据块传送
1、 将数据段中2000H 单元开始存放的10个数(8位数)传送到3000H 开始的10个字节中。
2、 将数据段 DATA1中的10个字数据(16位数)传送到数据段 DATA2中。
提示:
1、指定数据的起始地址:(如果不指定起始地址,则起始地址为 0000H )
SEGMENT 2000H
1,,2,3,4,5,6,7, 8,9,10 ; DB 定义字节数据 3000H
10 DUP (0);预留10个单元存放结果,初值预定义为 0 ENDS
定义的内存单元为:
DATA ORG DB ORG DB DATA
2、定义字数据命令为:DW
DATA1 SEGMENT
DW 1,,2,3,4,5,6,7,8,9,10 ; DW 定义字数据DATA1 ENDS
一个字为两个字节,在内存中低位在前,高位在后。
1已知0~15的平方值表,查表求X(X是0到15间任一数)的平方值,送到丫单元,用两种方法。2、已知0-255的平方值表,查表求X的平方值,送到丫单元。
提示:
0到15的平方表,每个平方值为一个字节;
0到255的平方表,每个平方值为2个字节;调试程序,平方表中的数据定义几个就行,目的是程序正确即可。
—个字为两个字节,在内存中低位在前,咼位在后。
1、 计算多字节数据 1122334455667788H 与 99AABBCCDDEEFF00H 的和。
2、 计算 8字节的 BCD 码十进制数 1122334455667788H 与 9988776655443322H 的和
3、 计算10个字数据的和(数据自己定义)。
提示;
1多字节数据在内存中存放,低位在前,高位在后
88H,77H,66H,55H,44H,33H,22H,11H 00H,0FFH,0EEH,0DDH,0CCH,0BBH,0AAH,99H 9 DUP(0)
2BCD 二进制加法指令:ADD
BCD 十进制加法:ADD
DAT1 DB DAT2 DB DAT3
DB
DAA;十进制调整指令,仅对 AL 作为加法的累加和寄存器进行调整
(4 )计算表达式的值 1计算表达式Z ((X Y )*7)/(Y 2)的值,已知X=10,Y=5。 提示: DB 10 DB 5 DB ? AL=X-Y BL=7 AX=AL*BL BH=Y+2
AL=AX/BH AH=AX/BH 的商 的余数
•Nirr 无符号数乘法 •rARTL 有符号数乘法 ・例 I. IMlfL MI L <-AL*DL
A\
叽
T AX BX T l>X BYTE PTRISip AX < AL*(BS* 16+ST>
(5)找最大、最小数 1、 找出2040H 单元和2041H 单元的大数,并送 2042H 单元(数据自己定义) 2、 找出10个数(8位数)里的最大数(数据自己定义) 3、 找出10个数(16位数)里的最小数(数据自己定义) (6 )统计正数、负数个数 1、 找出10个数(8位数)里的正数个数(数据自己定义) 2、 找出10个数( (7)数据块比较 1、 分别在FARD1 己定义)。 2、 分别在 FARD1
定义)。
16位数)里的负数个数(数据自己定
义)
和FARD2单元开始存放了 10个字节数据,编程比较是否一致(数据自 和FARD2单元开始存放了 10个字数据,编程比较是否一致(数据自己
(8 )逻辑运算
1、在数据段3000H单元开始存放了数字0~9的ASCII码,求对应的十进制数字并存放到3500H开始的
单元;再将3500H开始的十进制数字转换为对应的ASCII码,存放到3800H 开始单元。
提示:
数字转换方法: 例如:数字’5 '的ASCII为35H(0011 0105B),想办法变为05H(00000105B),存入对应的单元,然后再将05H(00000105B),变为35H(0011 0105B)存入对应的单元。
DATA SEGMENT
ORG 3000H
DB ‘0123456789 'DB定义字节数据
ORG 3500H
DB 10 DUP( ?); 预留10个单兀存放结果
ORG 3800H
DB 10 DUP( ?); 预留10个单兀存放结果
DATA ENDS
(9 )输入输出
1、在显示器上输出字符串‘ HELLO !'
2、从键盘输入一组字符串,存入到BUFFER数据区(自己定义)中。
3、将十进制数25从显示器上输出。
4、将数据段中的10个个位数数据从显示器上输出。以上各题做为练习使用!提示:
1、显示字符串
2、键盘输入一组字符串
方法 1 用10 号调用,
方法 2 用 1 号调用,设置循环次数
3、将十进制数25 从显示器上输出。
想办法把25 的十位和个位拆开,再分别变为ASCII ,先显示 2 ,后显示 5
3、将数据段中的10 个个位数数据从显示器上输出。
从数据段中直接定义10个个位数据,取出数据后,变为变为ASCII, 显示
实验过程参考步骤
题目
1、将数据段中2000H 单元开始存放的10 个数(8 位数)传送到3000H 开始的10 个字节中。源程序:数据定义
DATAS SEGMENT
ORG 2000H
DATA1 DB 1,2,3,4,5,6,7,8,9,10