《微机原理及应用》教材课后习题参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《80X86/Pentium微型计算机原理及应用》教材课后习题参考答案
第三章
3-5
(1)MOV SI, 2100H 源:立即数;目标:寄存器
(2)MOV CX, DISP[BX] 源:基址,EA=BX+DISP,PA=DS×16+BX+DISP;目标:寄存器
(3)源:寄存器;目标:寄存器间接寻址EA=SI,PA=DS×16+SI
(4)源:基址加变址,EA=BX+SI,PA=DS×16+BX+SI;目标:寄存器
(5)源:寄存器;目标:寄存器
(6)源:基址,EA=BX+10H,PA= DS×16+BX+10H;目标:寄存器
(7)源:寄存器间接,EA=BX,PA= ES×16+BX;目标:寄存器
(8)源:带位移量的基址加变址,EA=BX+SI+20H,PA= DS×16+BX+SI+20H;目标:寄存器
(9)源:寄存器;目标:寄存器间接,EA=BP,PA= SS×16+BP
(10)源:寄存器;目标:存储器,EA=SP-2,PA= SS×16+SP-2
3-7
(1)源操作数错,基址+基址不能用在存储器寻址方式中,只能基址+变量,改成MOV AX, [BX+SI]
(2)错,V ALUE1和V ALUE2一般为自己定义的变量名称,则此两操作数的组合形式为存储器和存储器,ADD指令无此组合形式
(3)错,立即数不能直接传给段寄存器
(4)错,CS不能作为目标操作数
(5)错,立即数不能作为目标操作数,两个操作数互换位置即可
(6)如果V ALUE1是用DW定义的WORD型变量,则此题正确,否则错误
(7)错,段寄存器不能直接传给段寄存器
(8)错,移位次数超过1时,应该先将移位次数送给CL,改成MOV CL, 3; ROL [BX][DI],CL
(9)错,NOT操作符只有一个操作数
(10)对,CS不能作为目标操作数,但可以作为源操作数
(11)错,不能直接将立即数压入堆栈
(12)错,两处错误,1:IN指令应该AL在前,端口地址在后;2:端口地址100H超过8位数能表示的范围,应该先将100H送给DX,改成MOV DX, 100H; IN AL, DX
(13)错,LEA指令的第二操作数必需为存储器寻址方式
(14)错,CX不能作为寄存器间接寻址方式,应将CX改成BX/BP/SI/DI之一
3-8
(1)AX=3355H, SP=1FFEH
(2)AX=3355H, DX=4466H, SP=1FFCH
3-9 BX=4154H, [2F246H]=6F30H
3-10 BX=139EH
3-11 SI=0180H, DS=2000H
3-12
(1) CL=F6H
(2) [1E4F6H]=5678H
(3) BX=9226H, AX=1E40H
(4) SI=9226H, [SI]=[1E4F6]=0024H
(5) AX=5678H, [09226H]=1234H
3-13 AF=0, CF=1, OF=1, SF=0, ZF=0
3-14
(1) MOV AX, 0 XOR AX, AX SUB AX, AX
(2) MOV CL, 4
ROL BL,CL (或ROR BL, CL)
(3) 题中没规定N1和N2是8位还是16位数,现假定都8位数(也可假定是16位数,程序不一样)
MOV AH, 0
MOV AL, N1
IDIV N2
MOV M1, AL
MOV M2, AH
(4) 题目的意思即使BX的b4,b6,b11位清零
AND BX, 0F7AFH
(5) XOR AX, 4020H
(6) TEST DX, 0201H
(7) TEST CL, 1
JNZ NEXT
INC CL (或DEC CL)
NEXT:
3-15 假设题目的意思理解为编号从1开始
(1) LEA BX, BLOCK+(6-1)*2
MOV AX, [BX]
(2) LEA BX, BLOCK
MOV AX, 10[BX]
(3) LEA BX, BLOCK
MOV SI, 0
MOV AX, 10[BX][SI]
(4) MOV AX, BLOCK+10
3-16
(1) 结果存在地址是580H端口中,[580H]=60H
(2) 结果存在地址是580H端口中,[580H]=8060H(即[580H]=60H, [581H]=80H)
(3) 结果存在AL中,AL=[40H]=4FH
(4) 结果存在AX中,AL=[40H]=4FH, AH=[41H](题目中没有给出端口41H中的值)
(5) 结果存在地址是45H端口中,[45H]=60H
(6) 结果存在地址是45H端口中,[45H]=8060H(即[45H]=60H,[46H]=80H)
3-17 假定每小题中NUM1和NUM2都是和题中指定的操作数等长,即(1)中NUM1和NUM2为字变量,(2)(3)中为字节变量,(4)中为双字变量
(1) MOV AX, NUM2
ADD NUM1, AX
(2) MOV CX, 4
LEA BX, NUM1
XOR AL, AL ; AL清零