微机原理 第4章 作业
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第4章习题与思考题
1、编写8086汇编语言程序,将寄存器AX的高8位传送到寄存器BL,AX的
低8位传送到寄存器DL。
答:CODE SEGMENT
ASSUME CS:CODE
START:MOV BL,AH
MOV DL,AL
CODE ENDS
END START
2、将DX寄存器的内容从低位到高位的顺序分成4组,且将各组数分别送到寄
存器AL、BL、CL和DL。
答:MOV AH,DL ;取DL 低4位送AL
AND AH,0FH
MOV AL,AH
SHR DL,1 ;DL高4位逻辑右移4位送BL
SHR DL,1
SHR DL,1
SHR DL,1
MOV BL,DL
MOV AH,DH ;取DH 低4位送CL
AND AH,0FH
MOV CL,AH
SHR DH,1 ;DH高4位逻辑右移4位送DL
SHR DH,1
SHR DH,1
SHR DH,1
MOV DL,DH
HLT
3、判别MEM单元的数据,编程将奇数存入MEMA单元,将偶数存入MEMB
单元。
答:MOV AL,MEM
TEST AL,00000001B
JZ OS ;偶数转OS
MOV MEMA,AL
HLT
OS:MOV MEMB,AL
HLT
4、试统计9个数中偶数的个数,并将结果在屏幕上显示。
答:
DATA SEGMENT
MESS1 DB “THE NUMBER OF EVEN NUMBERS:$”
MEM DB 9 DUP(?);统计对象共9个
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV AH,09H
MOV DX,OFFSET MESS1
INT 21H ;屏幕显示THE NUMBER OF EVEN NUMBERS:
MOV CX,9 ;设置循环此数
MOV AH,0 ;AH存放统计的偶数个数
LEA SI,MEM
NEXT:MOV AL,[SI]
TEST AL,00000001B
JNZ QS ;奇数转QS
INC AH ;是偶数AH增1
QS:INC SI
LOOP NEXT
MOV DL,AH ;统计结束,开始显示
ADD DL,30H ;转ASCⅡ码
MOV AH,02H
INT 21H ;屏幕显示统计个数CODE ENDS
END START