指令与寻址方式习题解答 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.下面两条指令执行后,标志寄存