Heyo,
我上大学的班级让我们编写程序集.到目前为止,我从未真正意识到C的易用性.
现在,当我在汇编程序中编程时,我经常需要使用标签来生成while/for/if循环和条件,例如:
SKIP:
...
COMP:ADD R1, R1, #0 ;Check for equality
BRZ WHILEEND
... ;code inside the while loop
JMP COMP ;Return to while loop
WHILEEND:
...
Run Code Online (Sandbox Code Playgroud)
所以,在这个while循环(例子)中,我为子程序使用了1个标签,为循环本身使用了2个标签.对于我在汇编中所做的所有循环和分支,我已经没有好的标签名称,你们做了什么来保持它的多样性和描述性?
Mar*_*tin 14
大多数装配工允许本地标签:
routine_1:
...
.loop:
...
jne .loop
routine_2:
...
.loop:
...
jne .loop
...
jmp routine_1.loop
Run Code Online (Sandbox Code Playgroud)
或匿名标签,您可以重复使用相同的标签名称并引用"最近向后"或"最近向前":
routine_1:
...
@@:
...
jne @b
routine_2:
...
@@:
...
jne @b
Run Code Online (Sandbox Code Playgroud)
(b表示倒退)
如果你的汇编程序都不支持,我想你可以在所有本地标签前加上相关例程的标签:
routine_1:
...
routine_1.loop:
...
jne routine_1.loop
Run Code Online (Sandbox Code Playgroud)