在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > ARM linux常用匯編語法

            ARM linux常用匯編語法

            作者: 時間:2016-11-20 來源:網(wǎng)絡 收藏
            =============================

            匯編語言每行的語法:

            本文引用地址:http://www.biyoush.com/article/201611/318765.htm

            lable: instruction ; comment

            段操作: .section

            格式: .section 段名 [標志]

            [標志]可以是如下:

            a 允許段
            w 可寫段
            x 可執(zhí)行段

            常見段名: data, bss, text, rodata段,我們也可以定義我們自己的段。

            .data: 已初始化數(shù)據(jù)段
            .bss: 未初始化數(shù)據(jù)段
            .text:代碼段
            .rodata:只讀段


            匯編程序的入口點:

            通常,linux的匯編程序的入口點都是從_start這個全局符號開始的。而C語言的入口點是main, main函數(shù)就是被_start后面的代碼調用。

            .global _start
            _start:
            代碼,,,初始化程序運行環(huán)境;
            代碼,,,
            ,,,
            bl main
            bl exit

            linux匯編中常數(shù)的使用:

            十進制: 以非0 的數(shù)字開頭表示, 124, 564
            二進制: 以0b開頭,如0b101001
            八進制: 以0開始的數(shù)字,如05645
            十六進制:以0x開頭, 如0xab12

            linux匯編中常用的偽操作:

            數(shù)據(jù)定義偽操作:

            .byte, 定義單個字節(jié), 如, .byte 5, 4, 0b1001, 0x22, 055, b
            .short, 定義半字數(shù)據(jù), 如,.short 0x1122, 3344
            .long, 定義4字節(jié)數(shù)據(jù),如, 0x11223344,
            .word

            .string, .asciz, .ascii, 定義字符串數(shù)據(jù), 比如.string "hello"

            對齊偽操作: .align n --> 2^n
            文件結束操作:.end
            文件包含操作:.include, 一般是在文件開頭的時候包含頭文件時使用

            代碼指令集切換:

            .thumb, .code 16 這兩個偽指令告訴編譯器從這里開始,以后的代碼都編譯成16為的thumb指令。
            .arm, .code 32 這兩個偽指令告訴編譯器從這里開始,以后的代碼都編譯成32為的arm指令。

            函數(shù)定義格式:

            函數(shù)名:
            函數(shù)體
            函數(shù)返回語句

            比如add函數(shù):
            .global add
            add:
            add r0, r1, r2
            mov pc, lr


            常見符號的意義和用法:

            @ : 代碼注釋符號
            ; 語句分離符號。(相當于C語言中的;)
            # 立即數(shù)前綴



            關鍵詞: ARMlinux匯編語

            評論


            技術專區(qū)

            關閉