簡體   English   中英

匯編中的jb和寄存器中的值

[英]jb in Assembly and value in register

以下是給我們的(評論是我自己的):

mov edx, 1          ; moves 1 into edx register
mov eax, 7FFFh      ; moves 7FFFh into eax register
cmp eax, 8000h      ; compares 8000h to whatever is in the eax register (7FFFh)
jb L1               ; jump to L1 if below (if leftOp < rightOp)
mov edx, 0          ; moves 0 into edx register
L1:                 ; label

在執行此代碼后,我們被要求在EDX中給出最終值。 現在,對eax的操作是否會影響edx中的值? 我不認為他們這樣做,並且edx的最終值將為0.我是正確還是? 謝謝!

eax操作不會直接影響edx的值,但由於它已初始化為1且歸零取決於eax操作的結果,因此它會間接受到影響。

jb是一個未簽名的操作,並按照你說的做。 需要注意的是7FFFh 低於 8000h所以跳將采取,從而跳過mov edx, 0 因此, edx的最終值將為1

您可以運行此代碼並親自查看。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM