第三章 8086的尋址方式和指令系統
1. 指令正誤判斷,對正確指令寫出源和目的運算元的尋址方式,對錯誤指令指出原因(設VAR1, VAR2為字變數, L1為標號):
(1)MOV SI,100 (2)MOV BX,VAR1[SI]
(3)MOV AX, [BX] (4)MOV AL, [DX]
(5)MOV BP, AL (6)MOV VAR1, VAR2
(7)MOV CS, AX (8)MOV DS, 0100H
(9)MOV [BX][SI], 1 (10)MOV AX, VAR1+VAR2
(11)ADD AX, LENGTH VAR1 (12)OR BL, TYPE VAR2
(13)SUB [DI], 78H (14)MOVS VAR1, VAR2
(15)PUSH 100H (16)POP CS
(17)XCHG AX, ES (18)MOV DS, CS
(19)JMP L1+5 (20)DIV AX, 10
(21)SHL BL, 2 (22)MOV AL, 15+23
(23)MUL CX (24)XCHG CL, [SI]
(25)ADC CS:[0100], AH (26)SBB VAR1-5,154
參考答案:(1)MOV SI,100 ;指令正確,源:立即數尋址,目的:暫存器尋址
(2)MOV BX,VAR1[SI] ;指令正確,源:暫存器相對尋址,目的:暫存器尋址
(3)MOV AX, [BX] ;指令正確,源:暫存器間接尋址,目的:暫存器尋址
(4)MOV AL, [DX] ;指令錯誤,DX不能用作為地址暫存器
(5)MOV BP, AL ;指令錯誤,型別不一致
(6)MOV VAR1, VAR2 ;指令錯誤,MOV指令不能從存盤器到存盤器傳送
(7)MOV CS, AX ;指令錯誤,CS不能用作為目的運算元
(8)MOV DS, 0100H ;指令錯誤,MOV指令不能將立即數傳送到段暫存器
(9)MOV [BX][SI], 1 ;指令錯誤,型別不定
(10)MOV AX, VAR1+VAR2 ;指令錯誤,MOV指令中不能完成加法運算
(11)ADD AX, LENGTH VAR1 ;指令正確,源:立即數尋址,目的:暫存器尋址
(12)OR BL, TYPE VAR2 ;指令正確,源:立即數尋址,目的:暫存器尋址
(13)SUB [DI], 78H ;指令錯誤,型別不定
(14)MOVS VAR1, VAR2 ;指令正確,源:隱含尋址,目的:隱含尋址
(15)PUSH 100H ;指令錯誤,立即數不能直接壓入堆疊
(16)POP CS ;指令錯誤,CS不能用作為目的運算元
(17)XCHG AX, ES ;指令錯誤,XCHG指令中不能使用段暫存器
(18)MOV DS, CS ;指令錯誤,MOV指令不能從段暫存器到段暫存器
(19)JMP L1+5 ;指令正確,段內直接轉移
(20)DIV AX, 10 ;指令錯誤,DIV指令格式錯誤
(21)SHL BL, 2 ;指令錯誤,移位指令的移位數要么是1,要么是CL
(22)MOV AL, 15+23 ;指令正確,源:立即數尋址,目的:暫存器尋址
(23)MUL CX ;指令正確,源:暫存器尋址,目的:隱含尋址
(24)XCHG CL, [SI] ;指令正確,源:暫存器間接尋址,目的:暫存器尋址
(25)ADC CS:[0100], AH ;指令正確,源:暫存器尋址,目的:直接尋址
(26)SBB VAR1-5,154 ;指令正確,源:立即數尋址,目的:直接尋址
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/145870.html
標籤:非技術區
