资源描述:
《《微机原理及应用》教材课后习题参考答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《80X86/Pentium微型计算机原理及应用》教材课后习题参考答案第三章3-5(1)MOVSI,2100H源:立即数;目标:寄存器(2)MOVCX,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)源
2、:寄存器间接,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-23-7(1)源操作数错,基址+基址不能用在存储器寻址方式中,只能基址+变量,改成MOVAX,[BX+SI](2)错,VALUE1和VALUE2一般为自己定义的变量名称,则此两操作数的组合形式为存储器和存
3、储器,ADD指令无此组合形式(3)错,立即数不能直接传给段寄存器(4)错,CS不能作为目标操作数(5)错,立即数不能作为目标操作数,两个操作数互换位置即可(6)如果VALUE1是用DW定义的WORD型变量,则此题正确,否则错误(7)错,段寄存器不能直接传给段寄存器(8)错,移位次数超过1时,应该先将移位次数送给CL,改成MOVCL,3;ROL[BX][DI],CL(9)错,NOT操作符只有一个操作数(10)对,CS不能作为目标操作数,但可以作为源操作数(11)错,不能直接将立即数压入堆栈(12)错,两处错误,1:
4、IN指令应该AL在前,端口地址在后;2:端口地址100H超过8位数能表示的范围,应该先将100H送给DX,改成MOVDX,100H;INAL,DX(13)错,LEA指令的第二操作数必需为存储器寻址方式(14)错,CX不能作为寄存器间接寻址方式,应将CX改成BX/BP/SI/DI之一3-8(1)AX=3355H,SP=1FFEH(2)AX=3355H,DX=4466H,SP=1FFCH3-9BX=4154H,[2F246H]=6F30H3-10BX=139EH3-11SI=0180H,DS=2000H3-12(1)
5、CL=F6H(2)[1E4F6H]=5678H(3)BX=9226H,AX=1E40H(4)SI=9226H,[SI]=[1E4F6]=0024H(5)AX=5678H,[09226H]=1234H3-13AF=0,CF=1,OF=1,SF=0,ZF=03-14(1)MOVAX,0XORAX,AXSUBAX,AX(2)MOVCL,4ROLBL,CL(或RORBL,CL)(3)题中没规定N1和N2是8位还是16位数,现假定都8位数(也可假定是16位数,程序不一样)MOVAH,0MOVAL,N1IDIVN2MOVM1
6、,ALMOVM2,AH(4)题目的意思即使BX的b4,b6,b11位清零ANDBX,0F7AFH(5)XORAX,4020H(6)TESTDX,0201H(7)TESTCL,1JNZNEXTINCCL(或DECCL)NEXT:3-15假设题目的意思理解为编号从1开始(1)LEABX,BLOCK+(6-1)*2MOVAX,[BX](2)LEABX,BLOCKMOVAX,10[BX](3)LEABX,BLOCKMOVSI,0MOVAX,10[BX][SI](4)MOVAX,BLOCK+103-16(1)结果存在地址是
7、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)中N
8、UM1和NUM2为字变量,(2)(3)中为字节变量,(4)中为双字变量(1)MOVAX,NUM2ADDNUM1,AX(2)MOVCX,4LEABX,NUM1XORAL,AL;AL清零L1:ADDAL,[BX]INCBXLOOPL1MOVRES,AL(3)MOVCX,8LEABX,NUM1XORAX,AXL1:ADDAL,[BX]JNCL2INCAHL2:INCBXLOOP