指令与寻址方式习题解答 1.试分别说明下列各指令中源操作数和目的操作数使用的寻址方式: (1) AND AX, 0FFH (2) AND BL, [OFFH] (3) MOV DS, AX (4) CMP [SI], CX (5) MOV DS: [0FFH], CL (6) SUB [BP][SI], AH (7) ADC AX, 0ABH[BX] (8) OR DX, -35[BX][DI] (9) PUSH DS (10) CMC 答: 目的操作数 源操作数 ( 1)寄存器直接寻址 立即数寻址 ( 2)寄存器直接寻址 直接寻址 ( 3)寄存器直接寻址 寄存器直接寻址 ( 4)寄存器间接寻址 寄存器直接寻址 ( 5)直接寻址 寄存器直接寻址 ( 6)基址变址寻址 寄存器直接寻址 ( 7)寄存器直接寻址 寄存器相对寻址 ( 8)寄存器直接寻址 基址变址相对寻址 ( 9)无 寄存器直接寻址 (10)隐含寻址 2.试分别指出下列各指令语句的语法是否有错,如有错,指明是什么错误。 (1) MOV [BX][BP], AX (2) TEST [BP], BL (3) ADD SI, ABH (4) AND DH, DL (5) CMP CL, 1234H (6) SHR [BX][DI], 3 (7) NOT CX, AX (8) LEA DS, 35[SI] (9) INC CX, 1 (10) PUSH 45[DI] 答: ( 1)应将BP, BX 其中之一该为SI 或 DI ( 2)正确 ( 3) ABH 改为0ABH ( 4) ( 5)是字操作,CL 改为CX ( 6)移位数大于1 时,应用CL ( 7) NOT 指令只有一个操作数 ( 8) LEA 指令的源操作数应为一内存单元地址 ( 9)此指令不用指出1 ( 10) 45 改为45H 3.下面两条指令执行后,标志寄存器中CF, AF, ZF, SF 和 OF 分别是什么状态? MOV DL, 86 ADD DL, 0AAH 答: 0101, 0110 + 1010, 1010 = 1, 0000, 0000 CF=1 AF=1 ZF=1 SF=1 OF=1 4.在8086/8088CPU 中可用于作地址指针的寄存器有哪些? 答:有BX, CX, DX, BP, SI, DI ( IP, SP,) 5.已知(DS)= 09lDH, (SS)= 1E4AH,( AX)=1234H,( BX) =0024H,( CX)= 5678H,( BP)=0024H ,( SI) =0012H,( DI)=0032H,( 09226H)=00F6H,( 09228H)=1E40H,( 1E4F6H)= 091DH。下列各指令或程序段分别执行后的结果如何? (1) MOV CL, 20H[BX][SI] (2) MOV [BP][DI], CX (3) LEA BX,20H[BX][SI] MOV AX, 2[BX] (4)...