簡體   English   中英

我可以在裝配體中比較(CMP)立即值嗎?

[英]Can I compare (CMP) immediate values in Assembly?

我嘗試匯編以下指令:

cmp 5, 6

但我收到以下錯誤:

invalid combination of opcode and operands

因此,我將前面的指令編輯為:

cmp DWORD 5, DWORD 6

但是我仍然遇到相同的錯誤,所以在匯編中比較立即值是非法的嗎?

在根據匯編器的x86匯編中(例如tasm,masm或nasm ),您不能將立即數或變量彼此進行比較。 您必須將其中一個或兩個都放入寄存器中。 像這樣:

mov ax, 5
cmp ax, 6

要么

mov ax, 5
mov bx, 6
cmp ax, bx

妳去

不,這是不可能的。 x86指令集沒有針對立即數的此類操作的操作碼,並且匯編編譯器也無法在此處解釋它們。

您可以將單個立即數與寄存器或內存中的值進行比較。

暫無
暫無

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

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