《微机原理与接口技术》第三章作业答案.docx
《《微机原理与接口技术》第三章作业答案.docx》由会员分享,可在线阅读,更多相关《《微机原理与接口技术》第三章作业答案.docx(7页珍藏版)》请在冰点文库上搜索。
《微机原理与接口技术》第三章作业答案
《微机原理与接口技术》第三章作业答案
LT
《微机原理与接口技术》第三章作业
一、书上P95作业题。
4、5、6、7
10、11、12、13、14、15
16、17、18、22、27
4、指出下列指令中的源操作数和目标操作数的寻址方式。
(1)MOVBX,1000H源操作数:
立即寻址;目标操作数:
寄存器寻址
(2)MOVAL,[BX]源操作数:
寄存器间接寻址;目标操作数:
寄存器寻址
(3)MOVCX,[BP+10H]源操作数:
寄存器相对寻址;目标操作数:
寄存器寻址
(4)MOVAL,ES:
[BX+SI]源操作数:
基址加变址寻址;目标操作数:
寄存器寻址
(5)MOV[DI+1000H],BX源操作数:
寄存器寻址;目标操作数:
寄存器相对寻址
(6)MOV[1000H],CX源操作数:
寄存器寻址;目标操作数:
直接寻址
(7)MOVAL,[BX+DI+1234H]源操作数:
寄存器相对寻址;目标操作数:
寄存器寻址
(8)MOVAL,1000H[BX+SI]源操作数:
寄存器相对寻址;目标操作数:
寄存器寻址
(9)MOV[EBX+ESI+2010H],DX源操作数:
寄存器寻址;目标操作数:
带位移的基址加变址寻址
(10)MOVAX,0100H[EBX+ESI*4]源操作数:
基址加比例变址寻址;目标操作数:
寄存器寻址
5、设(DS)=2000H、(ES)=2100H、(SS)=1500H、(BX)=0100H、(BP)=0040H、(SI)=00A0H、(DI)
(2)MOV0010H,AL立即数不可以作为目标操作数改:
MOVAX,0010H
(3)XCHGAL,BX操作数类型不匹配改:
XCHGAX,BX
(4)MOV[AX],3456H立即数送入存储器需要说明改:
MOVWORDPTR[AX],3456H
(5)PUSHAL堆栈以字为操作单元改:
PUSHAX
(6)POPCSPOP不可以用CS为目标操作数改:
POPAX
(7)MOVDS,1000H立即数不能直接送入段寄存器改:
MOVAX,1000HMOVDS,
AX
(8)MOV[BX],[1000H]存储器不可以相互传送改:
MOVAX,[1000H]MOV[BX],AX
(9)LDS(BX),[1000H]LDS使用时期目标为16位通用寄存器改:
LDSBX,[1000H]
(10)LEABX,CXLEA源操作数为存储器改:
LEABX,[CX]
7、已知(AX)=4A0BH,[1020H]单元中的内容为260FH,写出下列每条指令单独执行后的结果。
(1)MOVAX,1020H;(AX)=1020H
(2)XCHGAX,[1020H];(AX)=260FH
(3)MOVAX,[1020H];(AX)=260FH
(4)LEAAX,[1020H];(AX)=1020H
10、设一个堆栈段共有100H个字节单元,堆栈的起始地址为1250H:
0000H,若在堆栈中存有5个字数据,问:
(1)栈顶的物理地址多少?
栈底:
12600H
(2)栈底的物理地址是多少?
栈顶:
12600-A=125F6H
(3)当前SS和SP的内容是多少?
SS:
[1250H:
0000H]
SP:
[1250H:
00F6H]
(4)若弹出两个数据,SP的内容是多少?
SP:
[1250H:
00FAH]
11、编程完成下列程序段,根据运算结果置标志位OF、SF、ZF、AF、PF、CF,并分析程序执行结果是否正确?
为什么?
(设字长n=8)
(1)30+64
(2)122-64
(3)96+52
(4)-68+(-72)
答:
(1)MOVAL,30
MOVBL,64
ADDAL,BL
结果:
0101111OF=0SF=0ZF=0AF=0PF=1CF=0
(2)MOVAL,122
MOVBL,64
SUBAL,BL
结果:
00111010OF=0SF=0ZF=0AF=0PF=1CF=0
(3)MOVAL,96
MOVBL,52
ADDAL,BL
结果:
10010100F=0SF=0ZF=0AF=0PF=1CF=0
(4)MOVAL,-68
MOVBL,-72
ADDAL,BL
结果:
01110100OF=1SF=0ZF=0AF=1PF=1CF=1
17、判断下列指令格式的对与错,并解释错在哪里。
(1)ADD25H,AX(×)目标操作数不可以为立即数
(2)INCBX,1(×)INC只有目标操作数
(3)MULAL,BL(×)乘法指令目标操作数是隐含的
(4)SUBBAL,3(×)减法指令是SUB
(5)DAAAL(×)DAA后无操作数
(6)NEGCX,0(×)NEG后只有目标操作数
(7)CMP[BX],1000H[BX+SI](√)
18、设(AL)=10010010B,将AL的内容算术右移2位,AL的内容和CF是多少?
再将AL的内容逻辑右移2位,AL的内容和CF是多少?
算术右移2位AL:
11100100CF:
1
逻辑右移2位AL:
00100100CF:
1
22、写出下列程序段执行后的结果。
MOVCL,4
MOVAL,87
MOVDL,AL
ANDAL,0FH
ORAL,30H
SHRDL,CL
ORDL,30H
(AL)=37H,(DL)=35H
27、试用CMP指令和条件转移指令实现下列判断
(1)AX和CX中的内容为无符号数:
若(AX)>(CX)则转至BIGGER符号执行;
若(AX)<(CX)则转至LESS符号执行。
CMPAX,CX
JABIGGER
JBLESS
(2)BX和DX中的内容为无符号数:
若(BX)>(DX)则转至BIGGER符号执行;
若(BX)<(DX)则转至LESS符号执行。
CMPBX,DX
JGBIGGER
JLLESS