正确答案是什么?我在考试中有个问题...:/
x86-64架构:
//What value will the register RAX have after
//executing the following sequence of instructions?
mov al, -5
xor ah, ah
mov cl, 5
div cl
//a) -1
//b) 255
//c) 50
//d) 0
//e) 1
//f) -50
我在Visual Studio中使用UASM编译了代码,除法后AX的值为132 h
1条答案
按热度按时间oprakyz71#
正确答案是:你看不出来因为代码只改变低16位,所以前48位是在块之前的,没有指定。
请注意,
div
是无符号的,因此您需要将-5
转换为无符号的251
。除以5
得到结果50
,余数1
(正如您自己确定的那样,这将在AX
中得到132h
,因为余数进入AH
,商进入AL
)。由于这不是提供的选项之一,我们必须假设他们真的想要AL
的值而不是RAX
,所以我会选择50
。