• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆 - 60, 文章 - 0, 評論 - 197, 引用 - 0
            數(shù)據(jù)加載中……

            ARM GNU 匯編偽指令簡介

            1 ARM GNU 匯編偽指令簡介
              (1)abort
                   .abort 停止匯編
              (2)align
                  .align absexpr1,absexpr2
                 以某種對齊方式,在未使用的存儲區(qū)域填充值. 第一個值表示對齊方式,4, 8,16或
                 32. 第二個表達式值表示填充的值
              (3)if...else...endif
                 .if
                 .else
                 .endif: 支持條件預編譯
              (4)include
                 .include "file": 包含指定的頭文件, 可以把一個匯編常量定義放在頭文件中
              (5)comm
                 .comm  symbol, length:
                 在bss段申請一段命名空間,該段空間的名稱叫symbol, 長度為length. Ld連接器在連接
                 會為它留出空間
              (6)data
                 .data subsection: 說明接下來的定義歸屬于subsection數(shù)據(jù)段
              (7)equ
                 .equ symbol, expression: 把某一個符號(symbol)定義成某一個值(expression).該
                 指令并不分配空間
              (8)global
                 .global symbol: 定義一個全局符號, 通常是為ld使用
              (9)ascii
                 .ascii "string": 定義一個字符串并為之分配空間
              (10)byte
                 .byte expressions: 定義一個字節(jié), 并為之分配空間
              (11)short
                 .short expressions: 定義一個短整型, 并為之分配空間
              (12)int
                 .int expressions: 定義一個整型,并為之分配空間
              (13)long
                 .long expressions: 定義一個長整型, 并為之分配空間
              (14)word
                 .word expressions: 定義一個字,并為之分配空間, 4 bytes
              (15)macro/endm
                 .macro: 定義一段宏代碼, .macro表示代碼的開始, .endm表示代碼的結(jié)束, .exitm
                 跳出宏, 示例如下:
                 .macro SHIFTLEFT a, b
                 .if \b < 0
                  mov \a, \a, ASR #-\b
                 .exitm
                 .endif
                  mov \a, \a, LSL #\b
                 .endm
              (16)req
                  name .req register name: 為寄存器定義一個別名
              (17)code
                 .code [16|32]: 指定指令代碼產(chǎn)生的長度, 16表示Thumb指令, 32表示ARM指令
              (18)ltorg
                 .ltorg: 表示當前往下的定義在歸于當前段,并為之分配空間

            2 ARM GNU專有符號
              (1)@ 表示注釋從當前位置到行尾的字符.
              (2)# 注釋掉一整行.
              (3); 新行分隔符.

            3 操作碼
              (1)NOP: nop 空操作, 相當于MOV r0, r0
              (2)LDR: ldr <register> , =<expression> 相當于PC寄存器或其它寄存器的長轉(zhuǎn)移
              (3)ADR: adr <register> <label> 相于PC寄存器或其它寄存器的小范圍轉(zhuǎn)移
              (4)ADRL: adrl <register> <label> 相于PC寄存器或其寄存器的中范圍轉(zhuǎn)移

            posted on 2008-01-22 20:05 Normandy 閱讀(7480) 評論(4)  編輯 收藏 引用 所屬分類: Embeded Area

            評論

            # re: ARM GNU 匯編偽指令簡介  回復  更多評論   

            好!! 贊一個!
            2008-01-24 17:19 | niube' son

            # re: ARM GNU 匯編偽指令簡介  回復  更多評論   

            這個太有用了,謝謝!
            2008-03-24 12:29 | FAN

            # re: ARM GNU 匯編偽指令簡介  回復  更多評論   

            THANKS!!!
            2008-08-13 15:21 | FAN

            # re: ARM GNU 匯編偽指令簡介  回復  更多評論   

            太少
            2014-05-14 08:52 | um
            精品久久久久久久| AAA级久久久精品无码片| 日本久久久久久久久久| 色婷婷久久久SWAG精品| 久久AV无码精品人妻糸列| 青青青青久久精品国产| 无码人妻久久一区二区三区蜜桃| 一本色道久久综合亚洲精品| 日本道色综合久久影院| 久久午夜无码鲁丝片秋霞| 91精品无码久久久久久五月天| 日韩欧美亚洲综合久久影院Ds| 国内精品九九久久久精品| 久久久久国产成人精品亚洲午夜| 久久综合狠狠综合久久综合88| 精品国产婷婷久久久| 无码AV波多野结衣久久| 亚洲精品视频久久久| 91久久九九无码成人网站| 久久婷婷激情综合色综合俺也去 | 亚洲精品无码成人片久久| 品成人欧美大片久久国产欧美...| 中文字幕无码av激情不卡久久| 美女写真久久影院| 国内精品伊人久久久久AV影院| 欧美精品国产综合久久| 一本久久a久久精品综合香蕉 | 日韩AV毛片精品久久久| 国产精品青草久久久久婷婷| 日韩精品无码久久久久久| 久久青青草视频| 亚洲国产精品成人久久蜜臀| 久久99久久无码毛片一区二区| 久久精品国产精品亚洲精品| 国产午夜福利精品久久2021| 久久99精品国产麻豆| 精品久久无码中文字幕| 久久精品草草草| 久久精品国产一区二区三区不卡| 国产高潮久久免费观看| 久久婷婷五月综合成人D啪|