Assembly 汇编中的宏与子程序
语句:在汇编语言程序中,不能始终使用子例程替换宏 上述陈述是真是假Assembly 汇编中的宏与子程序,assembly,macros,Assembly,Macros,语句:在汇编语言程序中,不能始终使用子例程替换宏 上述陈述是真是假 我的书给出了错误的答案。但我想不出任何一种情况下,宏是可能的,但子程序是不可能的。你能告诉我这种情况是否可能发生吗?提示:递归。@笔名递归是另一个方向的例子。这取决于汇编程序,而不是汇编语言本身。宏通常是元代码,它们可以输出源代码,而例程只是指令的逻辑分组。宏不一定最终生成指令。顺便说一句,如果答案是错误的,它是否意味着子程序总是可以替换宏?这只有在宏支持有限的汇编程序中才有意义。@笔名您当然可以递归调用宏。一个电话只是一个保存
我的书给出了错误的答案。但我想不出任何一种情况下,宏是可能的,但子程序是不可能的。你能告诉我这种情况是否可能发生吗?提示:递归。@笔名递归是另一个方向的例子。这取决于汇编程序,而不是汇编语言本身。宏通常是元代码,它们可以输出源代码,而例程只是指令的逻辑分组。宏不一定最终生成指令。顺便说一句,如果答案是错误的,它是否意味着子程序总是可以替换宏?这只有在宏支持有限的汇编程序中才有意义。@笔名您当然可以递归调用宏。一个电话只是一个保存回信地址的跳转。没有任何东西可以阻止您在宏中调用代码块。但是没有太多意义。当您没有堆栈(或尚未初始化),或不想使用它,或当您使用堆栈上的东西,并在执行时将其删除,如删除可变数量的堆栈项(函数必须与宏不同)