ARM组装中的语法

ARM组装中的语法,arm,Arm,我又读了一些书,发现了这一点。在这里,实现互斥的大多数步骤都非常直接和容易理解。。。但在这段代码中有一些我不明白的地方: BEQ %b1 ; Failed - retry from 1 ; Lock acquired DMB ; Required before accessing protected resource BX lr 2 ; Take appropr

我又读了一些书,发现了这一点。在这里,实现互斥的大多数步骤都非常直接和容易理解。。。但在这段代码中有一些我不明白的地方:

    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  
在锁定互斥程序中出现。什么是%b1和%f2??它们与什么有关

谢谢,
Vijay

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

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

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

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

这是我的想法,但在ARM中标签应该以开始。BEQ只接受名称,比如.loop BEQloop@Andrey,这听起来像是完全依赖于汇编程序的细节。这是我的想法,但在ARM中标签应该从开始。BEQ只接受名称,比如.loop BEQloop@Andrey,这听起来像是完全依赖于汇编程序的细节。我们通常将它们与宏结合使用。我们通常将它们与宏结合使用。