[英]nasm error: label or instruction expected at the start of line
您好,我是汇编语言的新手(今天才刚刚开始),在执行本教程中所说的内容时遇到了这个问题。 我用以下文本制作了一个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
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
我想知道这是一个不好的教程还是我输入的错误。 我也想知道“标签或说明”的含义。
您忘记了显示用于汇编的命令,所用的操作系统以及所需的输出格式。 由于org 0x100
我假设您需要DOS .com
文件。 现在,您的nasm
可能未默认使用该格式,因此您应该尝试使用nasm -f bin -o laber.com laber.asm
。
错误label or instruction expected
并不是一个非常好的信息,基本上意味着nasm无法识别org
并告诉您使用标签(后跟冒号)或指令(我希望您知道这些是什么; ))。 当然,您也可以使用其他方法,例如有效的指令,但是nasm不会告诉您。
您需要插入
section .text
在文件的顶部。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.