华电微机原理与技术汇编语言题目及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一微机原理与接口技术汇编题目
(1)数据块传送
1、将数据段中2000H单元开始存放的10个数(8位数)传送到3000H开始的10个字节中。
2、将数据段DATA1中的10个字数据(16位数)传送到数据段DA TA2中。
提示:
1、指定数据的起始地址:(如果不指定起始地址,则起始地址为0000H)
DA TA SEGMENT
ORG 2000H
DB 1,,2,3,4,5,6,7,8,9,10 ; DB定义字节数据
ORG 3000H
DB 10 DUP(0); 预留10个单元存放结果,初值预定义为0
DA TA ENDS
定义的内存单元为:
2、定义字数据命令为:DW
DA TA1 SEGMENT
DW 1,,2,3,4,5,6,7,8,9,10 ; DW定义字数据
DA TA1 ENDS
一个字为两个字节,在内存中低位在前,高位在后。
(2) 查表
1、已知0~15的平方值表,查表求X(X就是0到15 间任一数)的平方值,送到Y单元,用两种方法。
2、已知0~255的平方值表,查表求X的平方值,送到Y单元。
提示:
0到15的平方表,每个平方值为一个字节;
0到255的平方表,每个平方值为2个字节;调试程序,平方表中的数据定义几个就行,目的就是程序正确即可。
一个字为两个字节,在内存中低位在前,高位在后。
(3)计算
1、计算多字节数据1122334455667788H 与 99AABBCCDDEEFF00H 的与。
2、计算8字节的BCD 码十进制数1122334455667788H 与9988776655443322H 的与
3、计算10个字数据的与(数据自己定义)。 提示;
1、多字节数据在内存中存放,低位在前,高位在后 DA T1 DB 88H,77H,66H,55H,44H,33H,22H,11H
DA T2 DB 00H,0FFH,0EEH,0DDH,0CCH,0BBH,0AAH,99H
2、 BCD 十进制加法
二进制加法指令: ADD BCD 十进制加法: ADD
DAA;十进制调整指令,仅对AL 作为加法的累加与寄存器进行调整 (4)计算表达式的值
1 计算表达式)2/()7*)((+-=Y Y X Z 的值,已知X=10,Y=5。 提示:
Y DB 5
Z DB ?
AL=X-Y
BL=7
AX=AL*BL
BH=Y+2
AL=AX/BH 的商
AH=AX/BH 的余数
(5)找最大、最小数
1、找出2040H单元与2041H单元的大数,并送2042H单元(数据自己定义)
2、找出10个数(8位数)里的最大数(数据自己定义)
3、找出10个数(16位数)里的最小数(数据自己定义)
(6)统计正数、负数个数
1、找出10个数(8位数)里的正数个数(数据自己定义)
2、找出10个数(16位数)里的负数个数(数据自己定义)
(7)数据块比较
1、分别在FARD1与FARD2单元开始存放了10个字节数据,编程比较就是否一致(数据自己定义)。
2、分别在FARD1与FARD2单元开始存放了10个字数据,编程比较就是否一致(数据自己定义)。
(8)逻辑运算
1、在数据段3000H单元开始存放了数字0~9的ASCII码,求对应的十进制数字并存放到
3500H开始的单元;再将3500H开始的十进制数字转换为对应的ASCII码,存放到3800H 开始单元。
提示:
数字转换方法:
例如:数字‘5‘的ASCII 为35H(0011 0105B),想办法变为05H(00000105B),存入对应的单元,然后再将05H(00000105B),变为35H(0011 0105B) 存入对应的单元。
DA TA SEGMENT
ORG 3000H
DB ‘0123456789’ ; DB定义字节数据
ORG 3500H
DB 10 DUP(?); 预留10个单元存放结果
ORG 3800H
DB 10 DUP(?); 预留10个单元存放结果
(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个字节中。源程序:数据定义
DA TAS SEGMENT
ORG 2000H
DA TA1 DB 1,2,3,4,5,6,7,8,9,10
ORG 3000H
DA TA2 DB 10 DUP (0)
DA TAS ENDS
CODES SEGMENT
START: MOV AX,DA TAS
MOV DS, AX
MOV SI, 2000H
MOV DI, 3000H
MOV CX, 10
NEXT:MOV AL, [SI]