ARM 指令難點

2021-10-19 15:14:35 字數 634 閱讀 9519

cf標誌位:進製狀態標誌位,用來反映運算結果是否產生進製或者是借位。

add sub後面加s 例如 adds subs 是為了修改標誌位

adc 帶進製加法指令在add的基礎上加cf標誌位 (上乙個操作的cf標誌位)

例如:mov r0 #0x1

adds r0 #0x1

adc r0 #0x1

其中add r0 #0x1 實質為0x1 加 0x1 得 0x10 有進製 所以cf標誌位為1 最後adc r0 #0x1 == r0+1+cf標誌位=r0+1+1

sbc 帶進製減法指令在sub的基礎上減去cf表示位的非

例如:mov r0 #0x1

adds r0 #0x1

sbc r0 #0x1

其中add r0 #0x1 實質為0x1 加 0x1 得 0x10 有進製 所以cf標誌位為1 最後sbc r0 #0x1 == r0-1-(!cf)標誌位=r0+1-(0)

二進位制與操作

0&0=0 1&0=0 1&1=1

或0&0=0 1&0=1 1&1=1

異或(相同為0 不同為1)

0&0=0 1&0=1 1&1=0

arm指令 ldr指令

ldr指令ldr作為指令 偽指令在arm彙編中。ldr指令格式 ldr 目的暫存器,儲存器位址 ldr r0,r1 將儲存器位址為r1的字資料讀入暫存器r0。ldr r0,r1,r2 將儲存器位址為r1 r2的字資料讀入暫存器r0。ldr r0,r1,8 將儲存器位址為r1 8的字資料讀入暫存器r0...

ARM彙編指令

b或bl指令引起處理器轉移到 子程式名 也就是位址 處開始執行,這兩個指令都是相對跳轉指令。兩者的不同之處在於bl指令在轉移到子程式執行之前,將其下一條指令的位址拷貝到r14 lr,鏈結暫存器 由於bl指令儲存了下條指令的位址,因此使用指令 mov pc lr 即可實現子程式的返回。而b指令則無法實...

ARM指令縮寫

adcadd wihc t arry,包含旗標位元的算術加法指 包含旗標位元的算術加法指 addadd,算術加法指 andlogical and,輯and運算指 bbranch,跳躍指 bicbit clear,位元清除指 blbranch with link with link,包含返回的跳躍指 ...