Assembly 关于ASM执行流程的问题
我不知道如何解释ASM执行流。到目前为止,我看到的所有文件都有显式跳转(Intel x86 at&T语法,即jmp或jl)到ASM文件中的标签 我的问题是:当你到达一个标签的末尾而没有直接跳转到其他标签时会发生什么。执行是否继续到下一个标签 例如:Assembly 关于ASM执行流程的问题,assembly,g++,x86,gnu-assembler,Assembly,G++,X86,Gnu Assembler,我不知道如何解释ASM执行流。到目前为止,我看到的所有文件都有显式跳转(Intel x86 at&T语法,即jmp或jl)到ASM文件中的标签 我的问题是:当你到达一个标签的末尾而没有直接跳转到其他标签时会发生什么。执行是否继续到下一个标签 例如: foo: opcodes ... nextLablel: moreopcodes ... 在执行“foo”标签下的操作码后,汇编程序是否会转到“nextLabel” 提前谢谢 实际代码中不存在标签,
foo:
opcodes
...
nextLablel:
moreopcodes
...
在执行“foo”标签下的操作码后,汇编程序是否会转到“nextLabel”
提前谢谢 实际代码中不存在标签,因此是的,如果没有分支,代码将自然执行。汇编程序将继续执行代码,忽略任何标签。标签只是作为一种方便的方式在jmp、je等之后进行分支
如果您的代码没有任何分支,您仍然可以拥有任意多的标签。他们不会做任何事情,这将是一种非常糟糕的做法,但您可以从中看出,他们不会对自然代码流造成任何问题。谢谢!我更深入地研究了ASM代码,基于原始的C代码,它确实像您所说的那样继续执行。再次感谢!