我有一個名為 char 的變數,當我按下該鍵時,它應該將其值更改為鍵盤鍵。我訪問了如何更改程式集中變數的值,它說我可以使用mov char, key_value. 問題是我得到了terminal.asm:126: error: invalid combination of opcode and operands . 在網上搜索解決方案我看到有必要把括號[]。我試過了,同樣的錯誤發生了。
這是我檔案的一部分:
printChar:
mov edx, char;
loop5_terminal:
mov al, [edx];
mov byte [edi], al;
inc edi;
inc edi;
inc edx;
inc ebx
call cursor_terminal
cmp byte[edx],0;
jne loop5_terminal;
jne l2_terminal
l2_terminal:
cmp al , 0x03 ; Checks for key 2 input
mov char, [two]
je printChar
謝謝。
uj5u.com熱心網友回復:
您得到的錯誤很可能是由于線路
mov char, [two]
其中包含兩個記憶體運算元,即char和two。這是不可能的,因為 x86 架構在一條指令中不支持兩個記憶體運算元。
您必須將該“指令”拆分為兩個單獨的(有效)指令,例如
mov al, BYTE [two]
mov BYTE [char], al
如果您使用 BYTE 大小的指令。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/374959.html
上一篇:WindowsXP-VirtualAlloc()如何(memoryapi.h在哪里???)
下一篇:組裝:如何比較不同符號的數量?
