汇编语言中的END指令

时间:2014-03-18 17:21:08

标签: assembly x86 masm32

我是汇编语言的新手并编写了这段代码:

main PROC

    mov eax,10000h          ; Eax=10000h
    add eax,40000h          ; Eax=50000h
    sub eax,20000h          ; Eax=30000h
    call DumpRegs

    exit
    main ENDP
END main

我想知道为什么你真的需要把主要的ENDP"和#34;结束主要"两次结束? 我只使用一个程序,但似乎两次结束这个程序。

如果您只使用一个程序,是否有更好的方法来写这个?

2 个答案:

答案 0 :(得分:3)

END main标记文件的结尾,指定程序的入口点(这是可选的)。 main ENDP表示您的程序结束。

我不知道合并两者的方法。

答案 1 :(得分:0)

汇编器需要

END ____

END OF FILE命令的

指令。 那是文件的结尾。 在这里,当您使用“ main”时,必须以

结尾

END MAIN

仅知道汇编程序需要 END 指令来结束文件。可以不使用Main来编写END。 只需以END结尾即可。

现在, ENDP 表示过程结束。此处的过程ID为“ main”。因此,在结束文件之前,请结束“主”过程。您必须结束该过程!

要回答答案的最后一部分,看来您在做两次相同的事情。因为您将用“ main”结尾文件和过程。 MAIN是过程名称,并且

Main ENDP
  End
完全可以