文章目錄
- ARM BEQ和B.EQ
上篇文章:ARM64 常見匯編指令學習 18 – ARM64 TST 指令與 條件標志位 Z
ARM BEQ和B.EQ
在ARMv8匯編中,BEQ
和B.EQ
實際上是同一條指令的兩種不同表示方式,它們都表示條件分支指令,當某個條件滿足時,跳轉到某個地址。它們表示的都是"Branch if Equal",也就是如果Zero標志位被設置(表示上一條比較或算術指令的結果為0),就跳轉到目標地址。
BEQ
是在早期ARM匯編中使用的指令形式,而B.EQ
則是在后來的ARM匯編版本中引入的,為了與其他指令保持一致,因為大多數其他指令都使用.
來分隔操作碼和條件碼。
例如,以下兩個指令在功能上是等價的:
BEQ target B.EQ target
在這兩個例子中,如果Zero標志位被設置,CPU都會跳轉到標簽target指定的地址。如果你的匯編器支持,你可以選擇使用這兩種形式中的任何一種。
上篇文章:ARM64 常見匯編指令學習 18 – ARM64 TST 指令與 條件標志位 Z