Assembly 汇编程序中应该出现多少个HALT和.END?(假设我们的程序不应该永远执行)

Assembly 汇编程序中应该出现多少个HALT和.END?(假设我们的程序不应该永远执行),assembly,lc3,halt,Assembly,Lc3,Halt,汇编程序中应该出现多少个HALT和.END?(假设我们的程序不应该永远执行) 至少是一次停顿和一次结束吗 从技术上讲,这是正确的,但.END表示源文件结束。严格来说,它是一个编译时构造,对代码是否永远运行没有影响。您需要确保程序流最终到达HALT指令,显然您至少需要其中一条指令。但是,这本身并不能保证所有的执行路径都在那里结束,因此这不是一个充分条件。您应该有一个.end,以便汇编器知道源文件是完整的,而不管它是否应该永远运行 您可能有尽可能多的暂停(包括零,在“永远运行”的情况下),但是同样的

汇编程序中应该出现多少个HALT和.END?(假设我们的程序不应该永远执行)


至少是一次停顿和一次结束吗

从技术上讲,这是正确的,但
.END
表示源文件结束。严格来说,它是一个编译时构造,对代码是否永远运行没有影响。您需要确保程序流最终到达
HALT
指令,显然您至少需要其中一条指令。但是,这本身并不能保证所有的执行路径都在那里结束,因此这不是一个充分条件。

您应该有一个.end,以便汇编器知道源文件是完整的,而不管它是否应该永远运行

您可能有尽可能多的暂停(包括零,在“永远运行”的情况下),但是同样的警告适用于高级语言中的多个返回语句:多个退出点可能会模糊代码流。为了便于阅读,我建议尽量少使用HALT语句