Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly nasm错误:行首应有标签或指令_Assembly_X86_Nasm - Fatal编程技术网

Assembly nasm错误:行首应有标签或指令

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

您好,我对组装非常陌生(今天刚开始),在执行本教程中所述的操作时遇到了这个问题。我用以下文字创建了一个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

我想知道这是一个糟糕的教程还是我输入了错误的东西。另外,我想知道“标签或指令”是什么意思。

您忘了显示用于组装的命令、您使用的操作系统以及您想要的输出格式。由于
org0x100
的原因,我假设您需要一个DOS
.com
文件。现在,您的
nasm
可能不会默认为该格式,因此您应该尝试类似
nasm-f bin-o laber.com laber.asm的内容

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

您需要插入

section .text

org
指令仅在
-f bin
输出格式(以及一些特殊格式)中有效。考虑一下这也是一个糟糕的教程。它应该做什么???