[英]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.