繁体   English   中英

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

[英]How many HALT and .END should appear in an assembler program? (Assuming our program should not execute forever)

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

是否至少有一个HALT和一个.END?

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

无论汇编源文件是否应该永远运行,您都应该只有一个.END以便汇编程序知道源文件已完成。

您可能需要照看的HALT数(在“永远运行”的情况下,包括0),但是与高级语言中的多个return语句一样,也存在相同的警告:多个退出点可能会使代码流模糊。 出于可读性考虑,我建议尽量减少HALT语句。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM