欧美午夜欧美,台湾成人av,久久av一区,最近看过的日韩成人

電子開發(fā)網(wǎng)

電子開發(fā)網(wǎng)電子設(shè)計(jì) | 電子開發(fā)網(wǎng)Rss 2.0 會(huì)員中心 會(huì)員注冊(cè)
搜索: 您現(xiàn)在的位置: 電子開發(fā)網(wǎng) >> 電子開發(fā) >> 嵌入式系統(tǒng) >> ARM >> 正文

ARM匯編語言程序結(jié)構(gòu)示例

作者:佚名    文章來源:本站原創(chuàng)    點(diǎn)擊數(shù):    更新時(shí)間:2017-6-7

ARM匯編語言程序結(jié)構(gòu)示例
詳細(xì)介紹ARM匯編語言之前,先給出一個(gè)匯編源程序示例,使讀者對(duì)ARM匯編語言程序的結(jié)構(gòu)有一個(gè)大概的了解。
    CODE32 ;32位的ARM指令段
    AREA codesec, CODE, READONLY ;代碼段,名稱為codesec,屬性為只讀
    main PROC ;函數(shù)main
    STMFD sp!,{lr} ;保存必要的寄存器和返回地址到數(shù)據(jù)棧
    ADR r0,strhello ;取標(biāo)簽strhello代表的地址值
    BL _ printf ;調(diào)用C運(yùn)行時(shí)庫的_printf函數(shù)打印
    ;“Hello world!”字符串
    BL welcomefun ;調(diào)用子函數(shù)welcomfun
    LDMFD sp!,{pc} ;恢復(fù)寄存器值
    strhello ;strhello代表本地字符串的地址
    DCB "Hello world!\n\0" ;定義一段字節(jié)空間
    ENDP ;函數(shù)main結(jié)束
    welcomefun ;子函數(shù)welcomfun
    STMFD sp!,{lr} ;保存必要的寄存器和返回地址到數(shù)據(jù)棧
    ADR r0,adrstrarm ;取adrstrarm的地址放到寄存器r0中
    LDR r0,[r0,#0] ;將strarm的值放到r0中
    BL _ printf ;調(diào)用C運(yùn)行時(shí)庫的_printf函數(shù)打印
    ;“Welcom to ARM world!”字符串
    LDMFD sp!,{pc} ;恢復(fù)寄存器值
    adrstrarm ;adrstrarm標(biāo)簽
    DCD strarm ;保存strarm的地址
    AREA constdatasec, DATA, READONLY,ALIGN=0 ;數(shù)據(jù)段,名稱為constdatasec,
    ;屬性為只讀
    strarm
    DCB "Welcome to ARM world!\n\0" ;存放“WelcometoARM world!”
    ;字符串
    EXPORT main ;導(dǎo)出main函數(shù)供外部調(diào)用
    ;引入3個(gè)C運(yùn)行時(shí)庫函數(shù)和ARM庫
    IMPORT _main
    IMPORT __main
    IMPORT _printf
    IMPORT ||Lib$$Request$$armlib||, WEAK
    END ;程序結(jié)束
    將上面代碼保存為hello.s,Windows系統(tǒng)下在終端輸入命令行:
    armcc -g hello.s -o hello.axf
    將hello.s編譯成映像文件hello.axf。
    運(yùn)行命令:
    armsd -exec hello.axf
    將出現(xiàn)下面結(jié)果:
    …
    1 ARM7TDMI, BIU, Little endian, Semihosting, Debug Comms Channel, 4GB, Mapfile,
    2 Timer, Profiler, Tube, Millisecond [20000 cycles_per_millisecond], Pagetables,
    3 IntCtrl, Tracer, RDI Codesequences
    4 Object program file wangt.axf
    5 Hello world!
    6 Welcome to ARM world!
    7 Program terminated normally at PC = 0x00009f70 (_sys_exit + 0x8)
    8 +0008 0x00009f70: 0xef123456 V4.. : swi 0x123456
    9 Quitting

Tags:ARM匯編語言程序結(jié)構(gòu)示例,ARM,匯編語言  
責(zé)任編輯:admin
  • 上一篇文章:
  • 下一篇文章: 沒有了
  • 請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個(gè)字
    [ 查看全部 ] 網(wǎng)友評(píng)論
    關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁面
    下到頁底
    晶體管查詢
    主站蜘蛛池模板: 凤台县| 杭锦旗| 中方县| 丰都县| 潢川县| 淅川县| 舞阳县| 武安市| 留坝县| 扎兰屯市| 陵川县| 灵丘县| 霍城县| 仙游县| 浦江县| 五大连池市| 松潘县| 罗源县| 启东市| 明星| 太湖县| 哈密市| 平罗县| 南华县| 独山县| 澜沧| 阿图什市| 河津市| 南开区| 兴宁市| 黔江区| 棋牌| 安庆市| 会东县| 蛟河市| 汤原县| 响水县| 红河县| 错那县| 乃东县| 彩票|