熟女俱乐部五十路二区av,又爽又黄禁片视频1000免费,国产卡一卡二卡三无线乱码新区,中文无码一区二区不卡αv,中文在线中文a

新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > arm匯編學習(六)跳轉到thumb狀態(tài)

arm匯編學習(六)跳轉到thumb狀態(tài)

作者: 時間:2016-11-09 來源:網絡 收藏
通常函數(shù)返回使用 pop {r7,pc}或bx lr等方式(bx,b類似jmp為跳轉指令,但bx可以指定跳轉區(qū)域究竟為thumb還是arm指令。

thumb指令指令的時候,直接填寫該地址卻總是產生SIGSYS信號(非法指令執(zhí)行)。
原因就是該函數(shù)為thumb指令,因此跳轉時必須要把指令地址的最低位設置為1(bx 通過這一位來區(qū)分指令集),所以函數(shù)地址就加了一。

本文引用地址:http://www.bjwjmy.cn/article/201611/317578.htm


thumb指令集與arm指令集切換

movR0,#5     ;Argument to function is in R0addR1,PC,#1     ;Load address of SUB_BRANCH, Set for THUMB by adding 1BX     R1     ;R1 contains address of SUB_BRANCH+1;Assembler-specific instruction to switch to ThumbSUB_BRANCH:BLthumb_sub     ;Must be in a space of +/- 4 MBaddR1,#7     ;Point to SUB_RETURN with bit 0 clearBXR1;Assembler-specific instruction to switch to ARM SUB_RETURN:


arm狀態(tài)下指令的地址末兩位都是0
thumb狀態(tài)下指令地址的末尾是0
thum1+1表明你即將跳入thumb狀態(tài),系統(tǒng)會自動調整地址的



評論


技術專區(qū)

關閉