Assembly nasm错误:行首应有标签或指令
您好,我对组装非常陌生(今天刚开始),在执行本教程中所述的操作时遇到了这个问题。我用以下文字创建了一个asm文件:Assembly nasm错误:行首应有标签或指令,assembly,x86,nasm,Assembly,X86,Nasm,您好,我对组装非常陌生(今天刚开始),在执行本教程中所述的操作时遇到了这个问题。我用以下文字创建了一个asm文件: org 0x100 start: mov bx, [a] mov ax, [val] mov cx, 8 sub sp, 8 call search ret search: mov di, sp go: cmp [bx], ax jz detected continue: add bx, 2 dec cx
org 0x100
start:
mov bx, [a]
mov ax, [val]
mov cx, 8
sub sp, 8
call search
ret
search:
mov di, sp
go:
cmp [bx], ax
jz detected
continue:
add bx, 2
dec cx
jnz go
ret
detected:
add di, 2
shl word[bx], 2
mov dx, [bx]
mov [di], dx
jmp continue
a dw 1, 2, 1, 4, 1, 6, 7 , 8
val dw 1
我得到这个错误
laber.asm:1: error: label or instruction expected at the start of line
我想知道这是一个糟糕的教程还是我输入了错误的东西。另外,我想知道“标签或指令”是什么意思。您忘了显示用于组装的命令、您使用的操作系统以及您想要的输出格式。由于
org0x100
的原因,我假设您需要一个DOS.com
文件。现在,您的nasm
可能不会默认为该格式,因此您应该尝试类似nasm-f bin-o laber.com laber.asm的内容
错误label或instruction expected
不是一条非常好的消息,基本上意味着nasm没有识别org
,并告诉您使用标签(后面跟冒号的东西)或指令(我希望您知道它们是什么;)。当然,您也可以使用其他东西,例如有效的指令,但nasm不会告诉您这一点。您需要插入
section .text
org
指令仅在-f bin
输出格式(以及一些特殊格式)中有效。考虑一下这也是一个糟糕的教程。它应该做什么???