【问题标题】:The END directive in assembly language汇编语言中的 END 指令
【发布时间】:2014-03-18 17:21:07
【问题描述】:

我是汇编语言的新手并编写了以下代码:

main PROC

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

    exit
    main ENDP
END main

我想知道为什么你真的需要把“main ENDP”和“end main”放两次? 我只使用了一个程序,但似乎要结束此程序两次。

如果你只使用一个程序,有没有更好的方法来编写这个?

【问题讨论】:

  • 有点像 Windows,单击开始停止计算机。 END 指令告诉链接器程序从哪里开始 :)

标签: assembly x86 masm32


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    汇编器需要

    结束____

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

    结尾

    结束主要

    只知道汇编器需要 END 指令来结束文件。 END 可以在没有 Main 的情况下写入。 只需用 END 结束文件即可。

    现在,ENDP 表示程序结束。这里程序ID“主要”。所以,在结束文件之前,结束“主”程序。您必须结束程序!

    要回答答案的最后一部分,在你看来你做了两次同样的事情因为你正在用“main”结束文件和过程。 MAIN 是过程名称和

    Main ENDP
      End
    完全没问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-17
      • 1970-01-01
      • 1970-01-01
      • 2012-12-29
      • 1970-01-01
      • 1970-01-01
      • 2023-01-08
      • 2022-11-25
      相关资源
      最近更新 更多