《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 解決方案 > ARM匯編程序跳轉表

ARM匯編程序跳轉表

2017-06-22
關鍵詞: 匯編語言

程序員在程序設計中,有時為使程序成一定的功能,需要調用一系列子程序中的一個,而決定究竟調用哪一個,則由程序的計算值確定。當然,可伶來完成這件事,例如:

                     BL          JUMPTAB

                     …

JUMPTAB      CMP       R0,#0

                     BEQ       SUB0

                     CMP       R0,#1

                     BEQ       SUB1

                     CMP       R0,#2

                     BEQ       SUB2

然而當子程序列表很長時,這種解決方案變得非常慢,這是一般不希望的。為了解決這個問題,程序員提出了跳轉表的有效解決方案。跳轉表是利用程序計數器PC在通用寄存器文件中的可見性實現。例如:

                     BL          JUMPTAB

                     …

JUMPTAB      ADR       R1,SUBTAB       ;R1<-SUBTAB

                     CMP       R0,#SUBMAX    ;檢查超限

                     LDRLS   PC,[R1,R0,LSL #2]       ;如果OK,則跳轉到表中

                     B            ERROR                 ;否則,發出錯誤信息

SUNTAB        DCD       SUB0                    ;子程序表入口

                     DCD       SUB1

                     DCD       SUB2     

DCD指示匯編器保留一個存儲子,將它初始化為右邊表達式的值,這在偽操作中已介紹,在這種情況下存儲字中保留的只是標號的地址。

不管表中有多少子程序,以及它們使用的頻度如何互不相關,這種方法的性能不變。但要注意,讀跳轉表時不能超出了表的末端,檢查越限是必需的。越限檢查時通過有條件地向PC置數實現的,所以越限時讀取指令被跳過,并轉移到錯誤處理。越限檢查惟一的性能代價是執行同最大值進行比較的指令。更直接的代碼可以是:

       CMP       R0,#SUBMAX                  ;檢查越限

       BHI        ERROR                               ;如果越限,則調出出錯處理

       LDR       PC,[R1,R0,LSL  #2]       ;否則跳轉到表中

但是要注意,每次使用跳轉表都要承受有條件地跳過轉移的代價,所以還是上面的程序更有效一些。


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲国产一区在线| 国产精品久久久久久亚洲调教 | 国产伦精品一区二区三区免费迷| 最新国产成人在线观看| 国产一区二区无遮挡| 久久福利影视| 亚洲精品国产欧美| 一区二区高清在线观看| 国产美女一区二区| 欧美成人精品一区| 亚洲免费观看在线观看| 亚洲一级二级在线| 国产欧美欧洲在线观看| 男男成人高潮片免费网站| 亚洲夜晚福利在线观看| 欧美在线观看网站| 亚洲精品美女在线| 国产亚洲成年网址在线观看| 欧美在线播放高清精品| 亚洲精品视频啊美女在线直播| 国产精品99久久不卡二区| 国产亚洲一区二区三区在线观看| 久久精品国产精品 | 久久频这里精品99香蕉| 久久成人免费网| 亚洲人成7777| 欧美日韩一区二区三区| 亚洲免费在线观看视频| 亚洲在线黄色| 亚洲国产日韩美| 国产亚洲欧美另类一区二区三区| 久久午夜国产精品| 99re亚洲国产精品| 午夜在线精品偷拍| 亚洲精品视频啊美女在线直播| 欧美日韩一区在线观看视频| 亚洲欧美日韩在线一区| 亚洲破处大片| 午夜精品影院| 在线日韩中文字幕| 欧美视频免费| 久久久99精品免费观看不卡| 亚洲国产欧美国产综合一区| 亚洲精品乱码久久久久久蜜桃麻豆| 国产精品porn| 欧美另类69精品久久久久9999| 久久成人在线| 午夜国产不卡在线观看视频| 久久xxxx精品视频| 亚洲一区在线播放| 精品成人一区二区| 欧美三级电影精品| 欧美精品18videos性欧美| 久久亚洲高清| 亚洲一二三四久久| 欧美一区二区视频观看视频| 一区二区三区免费观看| 亚洲欧洲一级| 国产手机视频一区二区| 欧美欧美全黄| 欧美大片免费久久精品三p| 亚洲伊人观看| 中文亚洲免费| 亚洲视频在线一区| 亚洲国产高清高潮精品美女| 一区二区三区四区蜜桃| 一区视频在线| 有坂深雪在线一区| 国产精品一区二区在线观看网站| 欧美日韩午夜剧场| 欧美美女喷水视频| 久久九九久精品国产免费直播 | 亚洲综合精品四区| 亚洲精品视频在线观看网站| 亚洲激情视频在线| 亚洲欧美在线高清| 亚洲精品免费一二三区| 亚洲区欧美区| 亚洲精品乱码久久久久久日本蜜臀| 亚洲国产欧美日韩精品| 1769国产精品| 亚洲国产导航| 国产综合自拍| 一区二区三区在线视频观看| 精品va天堂亚洲国产| 一区二区视频欧美| 1000部国产精品成人观看| 国产精品三级视频| 欧美日韩国产成人在线91| 欧美日韩色综合| 国产精品v片在线观看不卡| 国产精品久久久久久久久久久久久| 欧美成人乱码一区二区三区| 欧美成人中文| 欧美日本韩国在线| 国产精品www| 国产欧美一区二区精品性色| 欧美三级欧美一级| 国产精品女人网站| 国产专区一区| 国产色产综合产在线视频| 黄色亚洲免费| 亚洲精品看片| 亚洲人成网站在线观看播放| 日韩视频免费在线| 91久久线看在观草草青青| 日韩系列在线| 日韩视频在线你懂得| 中文在线不卡视频| 欧美伊人久久大香线蕉综合69| 久久精品亚洲一区| 日韩午夜剧场| 亚欧成人在线| 久久久免费观看视频| 欧美中文字幕在线视频| 玖玖玖国产精品| 欧美了一区在线观看| 国产精品试看| 影音欧美亚洲| 中文国产成人精品| 亚洲网站在线观看| 久久狠狠一本精品综合网| av成人免费| 久久国产精品久久精品国产| 欧美电影免费| 欧美日韩国产综合新一区| 欧美日韩视频一区二区三区| 欧美日韩中字| 韩国一区二区三区在线观看| 亚洲黄色视屏| 午夜久久一区| 久久成人精品| 亚洲精品网站在线播放gif| 亚洲免费福利视频| 久久精品日产第一区二区| 欧美喷水视频| 好吊一区二区三区| 91久久国产综合久久91精品网站| 亚洲免费在线视频| 欧美一区二区三区免费在线看| 一区二区欧美精品| 久久午夜视频| 国产精品日本精品| 国产有码在线一区二区视频| 一区二区三区日韩精品视频| 亚洲高清久久网| 99国产精品一区| 老巨人导航500精品| 国产精品一卡| 日韩午夜激情电影| 亚洲欧美中文日韩v在线观看| 久久精品国产69国产精品亚洲| 亚洲五月六月| 免费永久网站黄欧美| 国产偷国产偷亚洲高清97cao| 亚洲成人资源网| 99精品黄色片免费大全| 午夜激情久久久| 亚洲专区一区| 久久午夜av| 国产手机视频精品| 亚洲一区二区三区在线| 一区二区三区四区国产精品| 欧美一级一区| 欧美视频二区| 激情久久久久久久| 一区二区av| 亚洲天堂av在线免费| 欧美国产日韩一区二区在线观看 | 亚洲永久在线| 久久综合精品国产一区二区三区| 国产精品久久一级| 夜夜夜精品看看| 99re66热这里只有精品4| 牛牛影视久久网| 今天的高清视频免费播放成人| 亚洲欧美日韩精品在线| 亚洲毛片网站| 久久精品国产免费看久久精品| 国产精品久久久久久久久久久久久久 | 亚洲精品一品区二品区三品区| 亚洲男女自偷自拍图片另类| 欧美日韩一区自拍| 亚洲精品一级| 宅男噜噜噜66一区二区| 欧美日韩国产系列| 日韩视频免费在线| 最新中文字幕亚洲| 欧美 日韩 国产 一区| 今天的高清视频免费播放成人| 久久国产精品一区二区三区四区| 中文一区二区| 欧美先锋影音| 中日韩高清电影网| 亚洲欧美日韩国产一区二区三区| 欧美**人妖| 国产主播精品在线| 亚洲永久免费观看| 一区二区三区蜜桃网| 国产精品igao视频网网址不卡日韩|