日韩欧美视频第二区,秋霞成人午夜鲁丝一区二区三区,美女日批视频在线观看,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匯編語(yǔ)言程序結(jié)構(gòu)示例

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

ARM匯編語(yǔ)言程序結(jié)構(gòu)示例
詳細(xì)介紹ARM匯編語(yǔ)言之前,先給出一個(gè)匯編源程序示例,使讀者對(duì)ARM匯編語(yǔ)言程序的結(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í)庫(kù)的_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í)庫(kù)的_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í)庫(kù)函數(shù)和ARM庫(kù)
    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匯編語(yǔ)言程序結(jié)構(gòu)示例,ARM,匯編語(yǔ)言  
責(zé)任編輯:admin
  • 上一篇文章:
  • 下一篇文章: 沒有了
  • 請(qǐng)文明參與討論,禁止漫罵攻擊,不要惡意評(píng)論、違禁詞語(yǔ)。 昵稱:
    1分 2分 3分 4分 5分

    還可以輸入 200 個(gè)字
    [ 查看全部 ] 網(wǎng)友評(píng)論
    關(guān)于我們 - 聯(lián)系我們 - 廣告服務(wù) - 友情鏈接 - 網(wǎng)站地圖 - 版權(quán)聲明 - 在線幫助 - 文章列表
    返回頂部
    刷新頁(yè)面
    下到頁(yè)底
    晶體管查詢
    主站蜘蛛池模板: 新民市| 南郑县| 湖北省| 承德市| 东丽区| 阜阳市| 仙居县| 普洱| 镇雄县| 确山县| 焦作市| 台安县| 忻城县| 迁西县| 喜德县| 齐河县| 息烽县| 普陀区| 新田县| 鄂温| 罗田县| 永善县| 罗江县| 大姚县| 辽源市| 扬中市| 邹平县| 赣州市| 六安市| 阿拉善右旗| 浙江省| 朔州市| 陇西县| 定西市| 济阳县| 阳泉市| 鹤庆县| 庄河市| 孝感市| 海安县| 水城县|