ARM程序集中的语法

时间:2011-03-25 22:17:06

标签: arm

我一直在做更多的阅读并且遇到了这个link。在这里,实现互斥锁的大多数步骤都非常直接且易于理解......但是我不明白的一些事情就在这个片段中:

    BEQ     %b1           ; Failed - retry from 1  
    ; Lock acquired  
    DMB                   ; Required before accessing protected resource  
    BX      lr  2         ; Take appropriate action while waiting for mutex to become unlocked  
    WAIT_FOR_UPDATE  
    B       %b1           ; Retry from 1  

出现在 lock_mutex 程序中。什么是%b1 %f2 ?它们与什么有关?

谢谢, 维杰

2 个答案:

答案 0 :(得分:4)

%b/f用于指代指令周围的临时标签。 %b表示“后退”,%f表示“前进”。该号码是要使用的标签。例如,您在代码中的2在前三行称为%f2,在最后两行称为%b2

答案 1 :(得分:1)

我不熟悉那里使用的汇编语法,但如果我不得不猜测,我会说%b1指的是向后跳转到标签1,{ {1}}指向转发跳转到标签2。