初学汇编,请教几个问题
1.在X86汇编语言中,正确的出栈指令是()A.POPOFFSETVARWBPOPES:[DX+SI+3]C.POP[BP+DI+3]DPOPAH我的疑问是A选项,OFF...
1.在X86汇编语言中,正确的出栈指令是()
A. POP OFFSET VARW B POP ES:[DX+SI+3]
C.POP [BP+DI+3] D POP AH
我的疑问是A选项,OFFSET VARW 获取标号VARW的偏移地址,POP之后将数据放入该地址中。但觉得B也对。
哪里出问题了?
2.在X86汇编语言中,正确的乘法指令是()
A IMUL WORD PTR[BX+SI+100] B IMUL DS
C MUL BYTE PTR[DX+DI+100H] D MUL IP
这题我觉得A,C都是正确的。
3. 关于AAA指令,比如有段程序是这样的:
MOV AX,2337H
ADD AL,39H ;AF=(),PF=()
AAA ;AH=(),AL=()
...
疑问:AH不为0,执行AAA之后结果应该是怎么样的?
求具体的思路 谢谢了 展开
A. POP OFFSET VARW B POP ES:[DX+SI+3]
C.POP [BP+DI+3] D POP AH
我的疑问是A选项,OFFSET VARW 获取标号VARW的偏移地址,POP之后将数据放入该地址中。但觉得B也对。
哪里出问题了?
2.在X86汇编语言中,正确的乘法指令是()
A IMUL WORD PTR[BX+SI+100] B IMUL DS
C MUL BYTE PTR[DX+DI+100H] D MUL IP
这题我觉得A,C都是正确的。
3. 关于AAA指令,比如有段程序是这样的:
MOV AX,2337H
ADD AL,39H ;AF=(),PF=()
AAA ;AH=(),AL=()
...
疑问:AH不为0,执行AAA之后结果应该是怎么样的?
求具体的思路 谢谢了 展开
2个回答
展开全部
1.A 等于 pop + imm是错误的,pop 后面没有直接跟常数的用法
B和C是相对基址加变址寻址方式,bx/bp + si./di + offset的方式,所以C是对的。
D。AH 是8位的POP后面跟的是16位的,所以错,综合只有C是对的
2.A和C同样是相对基址加变址寻址方式,所以A是对的,其它是错的。
3.AAA不关AH的事只和AL有关。
还有疑问的可以到我空间看看http://hi.baidu.com/coffgc
B和C是相对基址加变址寻址方式,bx/bp + si./di + offset的方式,所以C是对的。
D。AH 是8位的POP后面跟的是16位的,所以错,综合只有C是对的
2.A和C同样是相对基址加变址寻址方式,所以A是对的,其它是错的。
3.AAA不关AH的事只和AL有关。
还有疑问的可以到我空间看看http://hi.baidu.com/coffgc
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询