首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nasm错误:在行的开始处需要标签或指令

nasm错误:在行的开始处需要标签或指令
EN

Stack Overflow用户
提问于 2015-05-13 07:18:34
回答 2查看 2.5K关注 0票数 0

大家好,我对汇编是个新手(今天刚开始),在做本教程中所说的事情时遇到了这个问题。我用下面的文本做了一个asm文件:

代码语言:javascript
复制
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

我得到了这个错误

代码语言:javascript
复制
laber.asm:1: error: label or instruction expected at the start of line

我想知道这是不是一个糟糕的教程,或者我打错了什么。另外,我想知道“标签或说明”是什么意思。

EN

回答 2

Stack Overflow用户

发布于 2015-05-13 07:21:39

您忘记了显示用于汇编的命令,以及您所使用的操作系统和所需的输出格式。由于org 0x100,我假设你想要一个DOS的.com文件。现在,您的nasm可能不会默认使用该格式,因此您应该尝试使用nasm -f bin -o laber.com laber.asm之类的格式。

错误label or instruction expected不是一个非常好的消息,它基本上意味着nasm不能识别org,并告诉您使用标签(后面跟一个冒号)或指令(我希望您知道它们是什么;)。当然,您也可以使用其他东西,例如有效的指令,但nasm不会告诉您这一点。

票数 0
EN

Stack Overflow用户

发布于 2015-05-13 07:22:08

您需要插入

代码语言:javascript
复制
section .text

在你文件的顶部。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30203071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档