文档详情

《IBMPC汇编语言程序设计》(第版)第章习题解答及答案.doc

发布:2017-08-18约1.77万字共19页下载文档
文本预览下载声明
第3章习题答案 3.1 给定(BX)=637DH,(SI)=2A9BH,位移量D=7237H,试确定在以下各种寻址方式下的有效地址是什么? (1)立即寻址; 答案:无。 如:MOV AX,5 (2)直接寻址; 答案:7237H 如:MOV AX,[7237H] (3)使用BX的寄存器寻址; 答案:无。因不涉及内存 如:MOV AX,BX (4)使用BX的间接寻址; 答案:637DH 如:MOV AX,[BX] (5)使用BX的寄存器相对寻址 答案:D5B4H 如:MOV AX,[BX+ 7237H] (6)基址变址寻址 答案:8E18H 如:MOV AX,[BX][SI] (7)相对基址变址寻址; 答案:无效,溢出 如:MOV AX,[BX][SI] + 7237H 3.2 试根据以下要求,写出相应的汇编语言指令: (1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器中; 答案:ADD DX,BX (2) 用寄存器BX 和SI 的基址变址寻址方式把存储器中的一个字节与AL寄存器的内容相加,并把结果送到AL寄存器中; 答案:ADD AL,[BX][SI] (3) 用寄存器BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和(CX)相加,并把结果送回到存储器中; 答案:ADD [BX+0B2H],CX (4) 用位移量为0524H的直接寻址方式把存储器中的一个字与数2A59H相加,并把结果送回到该存储单元中; 答案:ADD WORD PTR [0524H],2A59H (5)把数0B5H与(AL)相加,并把结果送回AL中。答案:ADD AL, 0B5H 3.3 写出把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令。要求使用以下几种寻址方式: (1) 寄存器间接寻址 答案:LEA BX, BLOCK ADD BX, 5*2 MOV DX, [BX] (2) 寄存器相对寻址 答案:LEA BX, BLOCK MOV DX, [BX+5*2] (3) 基址变址寻址 答案:LEA BX, BLOCK MOV SI,5*2 MOV DX, [BX][SI] 3.4 现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=12H,(20101)=34H,(20102)=56, (20103)=78H,(21200)=2AH,(21201)=4CH, (21202)=B7H, (21203)=65H,试说明下列各条指令执行完后AX寄存器的内容。 (1)MOV AX,1200H 答案:1200H (2)MOV AX,BX 答案:0100H (3)MOV AX,[1200H] 答案:4C2AH (4)MOV AX,[BX] 答案:3412H (5) MOV AX,1100H[BX] 答案:4C2AH (6) MOV AX,[BX][SI] 答案:7856H (7) MOV AX,1100H[BX][SI] 答案:65B7H 3.5 给定(IP)=2BC7H,(CS)=0200H,位移量D=5119H,(BX)=1200H,(DS)=212AH, (224A0)=0600H, (275B9)=098AH,试为以下转移指令找出转移的偏移地址。 (1)段???直接寻址; 答案:7CD9H 如:JMP 7CD9H (2)使用BX及寄存器间接寻址方式的段内间接寻址; 答案:600H 如JMP [BX] (3)使用BX及寄存器相对寻址方式的段内间接寻址; 答案:98AH 如JMP [BX+5119H] 3.6 当前数据段寄存器的内容为1B00H,在数据段的偏移地址2000H单元内,含有一个内容为0FF10H和8000H的指针,它们是一个16位的偏移地址和段地址,试写出把该变量装入AX的指令序列,并画图表示出来。 答案:LES BX,[2000] MOV AX,ES:[BX] 3.7 在0624单元内有一条二字节JMP SHORT OBJ指令,如其中的位移量为(1)27H,(2)6BH,(3)0C6H,试问转向地址的值是多少? 答案:(1) 064DH (因为0624处有两字节指令,因此下一条指令在0626H处,而0626H+27H=064DH) (2)0691H (因为0624处有两字节指令,因此下一条指令在0626H处,而0626H+6BH =0691H) (3)05ECH (因为0624处有两字节指令,因此下一条指令在0626H处,而近跳转时,位移0H~7FH为正,向前跳,即向地址增加的
显示全部
相似文档