东华大学微机原理作业7答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第7次作业
1 按下是求写出相应的指令或程序段
(1)写出两条使AX寄存器内容为0的指令
解:(1) XOR AX,AX,(2) MOV AX,0;(3) SUB AX,AX,(4) AND AX,0
(2)使BL寄存器的高低4位互换
解:MOV CL,4
ROL BL,CL
(3)屏蔽BX寄存器的b4,b6,b11位
解:AND BX,1111011110101111B
(4)将AX寄存器的b5,b14位取反,其它位不变。
解:XOR AX,0100000000100000B
(5)使CX寄存器中的整数变为奇数(如原来已是奇数,则不变)
解:OR CX,1
2 完成从NUM1单元开始的连续8个压缩BCD数相加,和(超过一字节)放在RES和RES+1单元。试写出程序段
解:
MOV BX,OFFSET NUM1
MOV CX,8
XOR AX,AX
AGAIN: ADD AL,[BX]
DAA
XCHG AH,AL
ADC AL,0
DAA
XCHG AH,AL
INC BX
DEC CX
JNZ AGAIN
MOV RES,AX
3
CPU中寄存器及RAM参数如图,试求独立执行下列指令后,CPU中寄存器及相应内在单元的内容为多少?
(1)MOV DX,[BX]2;DX=0006H BX=0004H
(2)PUSH CX;SP=1FFEH [SP]=FFFEH
(3)MOV CX,BX;CX=0004H BX=0004H
(4)TEST AX,01;AX=8094H CF=0
(5)MOV AL,[SI];AL=87H
(6)ADC AL,[DI];AL=0CCH CF=0
(7)INC SI;SI=0009H
(8)DEC DI;DI=0009H
(10)XCHG AX,DX;AX= 17C6H DX=8094H
(11)XOR AH,BL;AH=84H BL=04H
(12)JMP DX;IP=17C6H
4 设从BLOCK为首址的内存区域存放了256个带符号单字节数,试求这256个数的平均值,并将结果存放在RES单元。
解:
MOV SI,OFFSET BLOCK
MOV CX,256
XOR BX,BX
AGAIN:MOV AL,[SI]
CBW
ADD BX,AX
INC SI
DEC CX
JNZ AGAIN
MOV AX,BX
CBD
MOV BX,256
IDIV BX
MOV RES ,AL
5 令BX=00e3h, 变量value的内容为79h,下列指令执行后BX寄存器的内容为多少?
(1)xor bx,value
BX=009AH
(2) AND BX,V ALUE
BX=0061H
(3) ROR BX,1
BX=8071H
(4) or BX,10f4h
BX=10F7H
(5) not bx;BX=0FF1CH
6 设在数据段中从2000H单元开始存放了100个字节的数据,试设计程序段,将这100个数据搬移到2010H开始的存储单元。
解:MOV SI,2000H
MOV DI,2010H
MOV CX,100
AGAIN:MOV AL,[SI+99]
MOV [DI+99],AL
DEC SI
DEC DI
LOOP AGAIN
或用串操作指令
STD
MOV CX,100
MOV SI,2000H+99
MOV DI,2010H+99
REP MOVSB