我有以下示例问题:
what will be the value of ax after executing these instructions?
mov ax, 2040h
add al, ah
add ah, al
cbw
在cbw指令之前,我有8060h
在ax。据我了解cbw,它标志延伸到其余部分,所以我想在cbw之后,ax将是FF60h
。检查答案后,我发现它是0060h
,但我不明白为什么。
答案 0 :(得分:2)
符号会延伸al
,因此会使用al
中的最高位来确定符号,而不是ax
中的最高位。
由于al
中的最高位为零(60h
= 01100000
),所以该字的其余部分用零填充。