<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

          ARM linux常用匯編語法

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

          匯編語言每行的語法:

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

          lable: instruction ; comment

          段操作: .section

          格式: .section 段名 [標(biāo)志]

          [標(biāo)志]可以是如下:

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

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

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


          匯編程序的入口點:

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

          .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, 定義字符串?dāng)?shù)據(jù), 比如.string "hello"

          對齊偽操作: .align n --> 2^n
          文件結(jié)束操作:.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


          常見符號的意義和用法:

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



          關(guān)鍵詞: ARMlinux匯編語

          評論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();