"error: parser: instruction expected" when I use "org 0x0100" directive
"error: parser: instruction expected" when I use "org 0x0100" directive
我有这个 NASM 代码:
请注意,这是更正我的第一个错误之前的原始代码(请参阅下面的编辑):
[org 0x0100]
jmp start
Numbers: dw 10, 40, 20, 14, 19, 13, 50, 6, 60, 14
swap: db 0
start: mov bx, 0
mov byte [swap], 0
loop1: mov ax, [Numbers+bx]
cmp ax, [Numbers+bx+2]
jle noswap
mov dx, [Numbers+bx+2]
mov [Numbers+bx+2], ax
mov [Numbers+bx], dx
mov byte [swap], 1
noswap: add bx, 2
cmp bx, 18
jne loop1
mov ax, 0x4c00
int 0x21
我正在使用此命令 assemble:
nasm -f elf Max.asm
我收到此错误:
error: unrecognized directive org
为什么会出现此错误,我该如何解决?
编辑: 按照评论中的建议删除 org
语句周围的括号后,我现在收到此错误:
Max.asm:1: error: parser: instruction expected
originate 指令告诉汇编程序从给定值初始化程序中数据和代码的所有偏移量。
org 0x0100
用于编写小型(通常为 .COM 文件)DOS 程序以补偿 PSP(Program Statement Prefix)
.
如果您正在处理 linux,则添加 orginate 指令没有意义。
nasm -f bin max.asm
可以,但只能在 DOSBOX 下执行。
我有这个 NASM 代码:
请注意,这是更正我的第一个错误之前的原始代码(请参阅下面的编辑):
[org 0x0100]
jmp start
Numbers: dw 10, 40, 20, 14, 19, 13, 50, 6, 60, 14
swap: db 0
start: mov bx, 0
mov byte [swap], 0
loop1: mov ax, [Numbers+bx]
cmp ax, [Numbers+bx+2]
jle noswap
mov dx, [Numbers+bx+2]
mov [Numbers+bx+2], ax
mov [Numbers+bx], dx
mov byte [swap], 1
noswap: add bx, 2
cmp bx, 18
jne loop1
mov ax, 0x4c00
int 0x21
我正在使用此命令 assemble:
nasm -f elf Max.asm
我收到此错误:
error: unrecognized directive org
为什么会出现此错误,我该如何解决?
编辑: 按照评论中的建议删除 org
语句周围的括号后,我现在收到此错误:
Max.asm:1: error: parser: instruction expected
originate 指令告诉汇编程序从给定值初始化程序中数据和代码的所有偏移量。
org 0x0100
用于编写小型(通常为 .COM 文件)DOS 程序以补偿 PSP(Program Statement Prefix)
.
如果您正在处理 linux,则添加 orginate 指令没有意义。
nasm -f bin max.asm
可以,但只能在 DOSBOX 下执行。