在我学习 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