Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 关于ASM执行流程的问题_Assembly_G++_X86_Gnu Assembler - Fatal编程技术网

Assembly 关于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” 提前谢谢 实际代码中不存在标签,

我不知道如何解释ASM执行流。到目前为止,我看到的所有文件都有显式跳转(Intel x86 at&T语法,即jmp或jl)到ASM文件中的标签

我的问题是:当你到达一个标签的末尾而没有直接跳转到其他标签时会发生什么。执行是否继续到下一个标签

例如:

foo:
    opcodes
    ...

nextLablel:
    moreopcodes
    ...        
在执行“foo”标签下的操作码后,汇编程序是否会转到“nextLabel”


提前谢谢

实际代码中不存在标签,因此是的,如果没有分支,代码将自然执行。汇编程序将继续执行代码,忽略任何标签。标签只是作为一种方便的方式在jmp、je等之后进行分支


如果您的代码没有任何分支,您仍然可以拥有任意多的标签。他们不会做任何事情,这将是一种非常糟糕的做法,但您可以从中看出,他们不会对自然代码流造成任何问题。

谢谢!我更深入地研究了ASM代码,基于原始的C代码,它确实像您所说的那样继续执行。再次感谢!