《精》微机原理作业答案(第三章).docVIP

  • 3
  • 0
  • 约2.89千字
  • 约 6页
  • 2017-01-16 发布于湖北
  • 举报
3-5 源操作数为立即寻址方式;目标操作数为寄存器寻址方式 源操作数为基址寻址方式;目标操作数为寄存器寻址方式 EA=BX+DISP PA=DS×16+BX+DISP 源操作数为寄存器寻址方式;目标操作数为寄存器间接寻址方式 EA=SI PA=DS×16+SI 源操作数为基址加变址寻址方式;目标操作数为寄存器寻址方式 EA=BX+SI PA=DS×16+BX+SI 源操作数、目标操作数都为寄存器寻址方式 源操作数为基址寻址方式;目标操作数为寄存器寻址方式 EA=BX+10H PA=DS×16+BX+10H 源操作数为寄存器间接寻址方式;目标操作数为寄存器寻址方式 EA=BX PA=ES×16+BX 源操作数为带位移量基址加变址寻址方式;目标操作数为寄存器寻址方式 EA=BX+SI+20H PA=DS×16+BX+SI+20H 源操作数为寄存器寻址方式;目标操作数为寄存器间接寻址方法 EA=BP PA=SS×16+BP 源操作数为寄存器寻址方式 3-6 源操作数为寄存器寻址方式 源操作数为基址加变址寻址方式 源操作数为基址加比例变址寻址方式 源操作数为比例变址寻址方式 3-7 有错。没有两个基址寄存器相加的寻址方式 有错。两个操作数不能同时为存储器 有错。立即数不能直接送到段寄存器 有错。段寄存器CS不能作为目标操作数 有错。目标操作数不能为立即数 正确。 有错。两段寄存器间不能传送数据 有错。不能直接用“3”表示移3位 有错。NOT指令中只有一个目标操作数 正确。 有错。源操作数不能为立即数 有错。格式为IN AL, I/O端口地址,且100H255,应放在DX中,DX在指令中出现 有错。源操作数应为存储器操作数 有错。对16位寻址时,存储器操作数应为SI、DI、BP、BX,不能为CX 3-8 (1) AX=3355H SP=1FFEH (2) AX=3355H DX=4466H SP=1FFEH 3-9 PA=SS×16+BP+SI=2F000H+0200H+0046H=2F246H 执行XCHG BX, [BP+SI]后 BX=4154H [2F246H]=6F30H 3-12 PA=DS×16+BX+SI+20H=09226H ∴CL=F6H PA=SS×16+BP+DI=1E4F6H ∴[1E4F6H]=5678H BX=BX+SI+20H=0056H PA=DS×16+BX+2=09228H ∴AX=1E40H PA=DS×16+BX+DI=09226H SI=00F6H [SI]=0024H PA=DS×16+BX+32H=09226H CX=00F6H [09226]=5678H(执行XCHG CX,32H[BX]后) 再执行XCHG 20[BX][SI] AX后 PA=DS×16+BX+SI+20H=09226H ∴AX=5678H [09226H]=1234H 3-14 (2) MOV CL, 4 ROL BL, CL (4) AND BX, 0F7AFH (6) TEST DX, 0201H 3-16 (2)端口,(580H)=60H (581H)=80H (4)寄存器,AL=4FH AH=(41H) (5)端口,(45H)=60H 3-17 参考程序如下: (1) MOV AX, NUM2 ADD NUM1, AX (2) MOV AL, NUM1 ADD AL, NUM1+1 ADD AL, NUM1+2 ADD AL, NUM1+3 MOV RES, AL (3) MOV AL, NUM1 MOV AH, 0 MOV CX, 7 LEA DI, NUM1 MOV DX, 0 NEXT: INC DI MOV DL, [DI] ADD AX, DX DEC CX JNZ NEXT MOV RES, AX (4) MOV AX, NUM1 ADD AX, NUM2 MOV NUM2, AX MOV AX, NUM1+2 ADC AX, NUM2+2 MOV NUM2+2, AX 3-18 参考程序如下: (1) MOV AL, NUM1 MOV AH, 0 MOV CX, 7 LEA DI, NUM1 NEXT: INC DI MOV DL, [DI] ADD AL, DL DAA MOV DH, AL ;DAA只能对AL中数加以调整,DH为暂存用 MOV AL, AH ADC AL, 0 DAA ;题目中只有8个数相加,所以这里也可以不作调整 MOV AH,

文档评论(0)

1亿VIP精品文档

相关文档