我正在尝试将我的简单程序从 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:
我需要做什么?