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