簡単なプログラムを Intel 構文から AT&T に変換しようとしています (GAS でコンパイルするため)。アプリケーションの大部分を正常に変換しましたが、int
(割り込み) でまだエラーが発生します。私の機能は次のようなものです:
printf:
mov $0x0e, %ah
mov $0x07, %bl
nextchar:
lodsb
or %al, %al
jz return
int 10
jmp nextchar
return:
ret
msg db "Welcome To Track!", 0Ah
しかし、コンパイルすると、次のようになりました。
hello.S: アセンブラー メッセージ:
hello.S:13: エラー: msg db のオペランド サイズが一致しません "Hello, World!",0Ah'int'
hello.S:19: Error: no such instruction:
私は何をする必要がありますか?