gpt4 book ai didi

c - 在汇编程序中分支到标签时 2f 意味着什么?

转载 作者:行者123 更新时间:2023-11-30 14:55:15 34 4
gpt4 key购买 nike

我试图理解一些汇编代码片段:

       ".syntax unified\n"
"1:\n"
" NOP\n"
" NOP\n"
" NOP\n"
" NOP\n"
" NOP\n"
" CMP %[SystemCoreClock],%[clock16MHz]\n"
" BEQ.n 2f\n"
" NOP\n"
" NOP\n"
" NOP\n"
" NOP\n"
" NOP\n"
" NOP\n"
" NOP\n"
" NOP\n"
" NOP\n"
"2:\n"
" SUBS %0, %0, #1\n"
" BNE.n 1b\n"
".syntax divided\n"

当程序分支到行中的标签2时,“f”的含义是什么:

" BEQ.n 2f\n"

行中带有“b”的分支有什么区别

" BNE.n 1b\n"

最佳答案

据我所知,这是 GNU 汇编语言特有的懒惰程序员快捷方式。 (汇编语言是由汇编器定义的,程序读取它,有很多arm、mips、x86等汇编语言)

1:
2:
b 1b
b 2b
b 1f
b 2f
2:
b 1b
b 1f
1:
nop
nop

组装然后拆卸

00000000 <.text>:
0: eafffffe b 0 <.text>
4: eafffffd b 0 <.text>
8: ea000002 b 18 <.text+0x18>
c: eaffffff b 10 <.text+0x10>
10: eafffffa b 0 <.text>
14: eaffffff b 18 <.text+0x18>
18: e1a00000 nop ; (mov r0, r0)
1c: e1a00000 nop ; (mov r0, r0)

关于c - 在汇编程序中分支到标签时 2f 意味着什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46055305/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com