3
在我學習NASM的過程中,我試圖創建一個非常簡單的程序來執行除法並輸出結果。Nasm錯誤:操作碼和操作數無效
靠書本,一切都應該運行良好。我將15除以3,它會自動存儲在AX寄存器中,然後我轉到ECX輸出。
然而,當我嘗試編譯,我得到錯誤
nums.asm:6: error: invalid combination of opcode and operands
nums.asm:7: error: invalid combination of opcode and operands
有誰知道什麼是錯的線6,7?
這是我的代碼:
segment .text
global main
main:
div 3, 15
mov ecx, ax
mov ebx,1 ; arg1, where to write, screen
mov eax,4 ; write sysout command to int 80 hex
int 0x80 ; interrupt 80 hex, call kernel
exit: mov eax, 1
xor ebx, ebx
int 0x80
可以移動32位寄存器到16位? – CodyBugstein 2013-02-28 00:32:15
你可以把1加侖的水加入1/2加侖的水罐中嗎? – Gunner 2013-02-28 00:33:31
其中的一些......這就是我使用的邏輯,因爲我正在抓我的腦袋,想知道爲什麼你不能把一個16位寄存器放到一個32寄存器中 – CodyBugstein 2013-02-28 00:36:29