《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 解決方案 > ARM匯編語言子程序調用及返回

ARM匯編語言子程序調用及返回

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

在ARM匯編語言中,子程序調用是通過BL指令來完成的。BL指令的語法格式如下:

BL          subname

其中:subname是被調用的子程序的名稱。BL指令完成2個操作,即將子程序的返回地址放在LR寄存器中,同時將PC寄存器值設置成目標子程序的第一條指令地址。

在返回調用子程序時,轉移鏈接指令保存到LR寄存器中的值需要拷貝回程序寄存器PC。對于最簡單的子程序,一條MOV指令就可完成子程序的返回,例如:

SUB2      …

              MOV             PC,R14               ;把R14拷貝到R15來返回

其實,任何數據處理指令都可用來計算返回地址,但是MOV指令時至今最常見的形式。碎玉在子程序中出現嵌套調用時,鏈接寄存器LR中的返回地址可能會在第二次調用時被覆蓋,所以需要將返回地址壓入堆棧來進行保存。在子程序返回時,返回地址和保存的工作寄存器都可用多寄存器存取指令恢復。例如:

       SUB1             STMFD          R13!,{R0-R2,R14}            ;保存工作寄存器和鏈接

                            BL                 SUB2

                                   …

                            LDMFD         R13!,{R0-R2,PC}              ;恢復工作寄存器并返回

需要注意的是,返回地址是直接恢復到程序計數器PC,而不是鏈接寄存器LR。這種單元恢復和返回指令是非常有用的。

下面是一個子程序調用的簡單例子。子程序DOADD完成加法運算,操作數放在R0和R1寄存器中,結果放在R0中。

AREA     EXAMPLE,CODE,READONLY

              ENTRY

Start              MOV             R0,#10               ;設置輸入參數R0

              MOV             R1,#3                 ;設置輸入參數R1

              BL                 Doadd                   ;調用子程序Doadd

                     …

Doadd     ADD              R0,R0,R1         ;子程序

              MOV             PC,LR                ;從子程序中返回

END                                                        ;結束匯編


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美一级免费视频| 欧美日韩亚洲国产精品| 亚洲午夜久久久久久久久电影院 | 夜夜爽夜夜爽精品视频| 亚洲高清在线视频| 亚洲福利视频一区| 亚洲国产二区| 91久久在线播放| 亚洲精品一区二区三区不| 亚洲精品国产精品国自产观看浪潮 | 亚洲亚洲精品三区日韩精品在线视频| 在线视频日本亚洲性| 一区二区三区日韩精品| 亚洲视频中文| 亚洲欧美视频一区二区三区| 亚洲欧美国产77777| 西西裸体人体做爰大胆久久久| 欧美亚洲日本一区| 欧美一区午夜视频在线观看| 欧美中文字幕在线播放| 亚洲成人在线网| 亚洲精品国久久99热| 亚洲精选在线观看| 亚洲影视中文字幕| 欧美一区日本一区韩国一区| 久久久久欧美精品| 欧美va亚洲va国产综合| 欧美久久99| 国产精品自在在线| 狠狠色丁香久久婷婷综合丁香| 亚洲国产毛片完整版 | 91久久精品国产91久久性色| 亚洲美女网站| 亚洲女性裸体视频| 久久久久久久综合狠狠综合| 男女激情久久| 欧美午夜精品| 国产一区二区三区在线免费观看| 影音欧美亚洲| aa级大片欧美| 欧美伊人精品成人久久综合97| 亚洲黄色影院| 亚洲小说欧美另类婷婷| 久久精品国产免费看久久精品| 欧美jizzhd精品欧美巨大免费| 欧美色中文字幕| 国语自产精品视频在线看一大j8| 亚洲第一精品夜夜躁人人爽| 一本色道久久88亚洲综合88| 午夜欧美不卡精品aaaaa| 亚洲欧洲日产国码二区| 亚洲欧美日韩天堂一区二区| 久久久久久久尹人综合网亚洲 | 欧美午夜视频| 一区精品久久| 亚洲视频自拍偷拍| 亚洲国产天堂久久综合| 亚洲一区久久久| 麻豆国产精品777777在线| 欧美日韩直播| 一区二区三区在线高清| 在线亚洲国产精品网站| 亚洲国产黄色片| 亚洲欧美日韩综合一区| 免费在线观看精品| 国产农村妇女精品一区二区| 亚洲国产专区校园欧美| 午夜精品电影| 亚洲私人影院| 欧美黄色小视频| 国产亚洲一区精品| 一级日韩一区在线观看| 91久久国产综合久久91精品网站| 亚洲欧美日韩人成在线播放| 欧美激情精品久久久久久免费印度| 国产精品夜色7777狼人| 日韩视频三区| 91久久国产精品91久久性色| 欧美尤物一区| 欧美午夜片在线观看| 亚洲国产欧美在线人成| 欧美一区二区三区婷婷月色 | 女人香蕉久久**毛片精品| 国产嫩草影院久久久久| 一区二区三区欧美在线| 99re热这里只有精品视频 | 国产欧美一区二区三区沐欲| 9i看片成人免费高清| 亚洲人成精品久久久久| 欧美综合国产| 国产精品毛片在线| 99re热这里只有精品视频 | 亚洲视频日本| 欧美精品尤物在线| 亚洲电影下载| 亚洲第一区在线| 久久久福利视频| 国产欧美亚洲精品| 亚洲图片激情小说| 亚洲视频在线观看三级| 欧美黄在线观看| 亚洲国产视频一区二区| 亚洲国产欧美另类丝袜| 久久免费国产精品| 韩国av一区| 久久国产精品久久久久久久久久 | 国内一区二区三区| 欧美在线视频全部完| 久久成人资源| 国产日韩av高清| 午夜欧美精品| 久久久精彩视频| 国产一区二区三区黄视频| 午夜伦理片一区| 久久精品国亚洲| 国产最新精品精品你懂的| 性欧美暴力猛交另类hd| 久久精品视频免费观看| 国产视频一区在线观看| 欧美一区二区三区视频免费播放 | 中国女人久久久| 亚洲欧美久久| 国产九色精品成人porny| 午夜精品美女自拍福到在线 | 欧美久久久久久蜜桃| 亚洲精品一区二区三区四区高清| 日韩五码在线| 欧美日韩国产成人高清视频| 日韩视频在线免费观看| 亚洲一区不卡| 国产精品一区二区你懂得| 午夜精品免费在线| 久久九九99视频| 在线欧美不卡| aa成人免费视频| 国产精品不卡在线| 欧美一级精品大片| 欧美大片免费观看| 99v久久综合狠狠综合久久| 亚洲欧美国产一区二区三区| 国产精品亚洲片夜色在线| 欧美一区二区黄色| 蜜桃av综合| 日韩天天综合| 欧美一区二区视频在线| 国产欧美日韩另类一区| 亚洲国产91精品在线观看| 欧美精品亚洲二区| 亚洲一级黄色av| 久久综合九色| 日韩视频在线观看免费| 欧美亚洲三区| 一区国产精品| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产拍揄自揄精品视频麻豆| 亚洲福利久久| 欧美午夜精品理论片a级大开眼界| 欧美一级大片在线观看| 欧美国产日韩一区二区三区| 日韩午夜三级在线| 久久久精品一区二区三区| 91久久精品国产| 欧美有码视频| 亚洲精品色图| 久久久久国产精品厨房| 亚洲精品女人| 久久精品在线免费观看| 日韩午夜视频在线观看| 久久久久久欧美| 日韩亚洲国产精品| 久久性色av| 亚洲午夜女主播在线直播| 免播放器亚洲| 亚洲欧美精品suv| 欧美极品一区| 久久福利电影| 欧美视频在线看| 亚洲精品国久久99热| 国产精品一区二区你懂的| 亚洲乱码国产乱码精品精| 国产亚洲欧美aaaa| 亚洲视频图片小说| 在线欧美福利| 久久精品一区二区三区四区| 99这里只有久久精品视频| 免费成人高清| 亚洲欧美日韩精品综合在线观看 | 亚洲电影免费观看高清完整版| 午夜一区在线| 日韩视频不卡中文| 男人的天堂亚洲在线| 午夜电影亚洲| 欧美三级电影一区| 亚洲精品久久嫩草网站秘色 | 亚洲欧洲日产国码二区| 国产欧美日韩免费看aⅴ视频| 99视频精品在线| 亚洲第一色在线| 久久三级视频| 欧美一区二区三区久久精品茉莉花|