<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > ARM匯編偽指令(1)

ARM匯編偽指令(1)

作者: 時(shí)間:2016-11-21 來(lái)源:網(wǎng)絡(luò ) 收藏

ARM匯編程序由機器指令、偽指令和宏指令組成。

本文引用地址:http://dyxdggzs.com/article/201611/319390.htm

1,符號定義偽指令
符號定義偽指令用于定義ARM匯編程序的變量、對變量進(jìn)行賦值、定義寄存器名稱(chēng)。

全局變量聲明: GBLA,GBLL,GBLS
局部變量聲明: LCLA,LCLL,LCLS
變量賦值: SETA,SETL,SETS

為一個(gè)通用寄存器列表定義名稱(chēng): RLIST

為一個(gè)協(xié)處理器的寄存器定義名稱(chēng): CN
為一個(gè)協(xié)處理器定義名稱(chēng): CP

為一個(gè)VFP寄存器定義名稱(chēng): DN,SN
為一個(gè)FPA浮點(diǎn)寄存器定義名稱(chēng): FN

1)GBLA,GBLL,GBLS
全局變量聲明,作用范圍是包含該變量的源程序。

GBLA variable ;聲明全局算術(shù)變量
GBLL variable ;聲明全局邏輯變量
GBLS variable ;聲明全局字符串變量

示例:
GBLL codedbg;聲明一個(gè)全局邏輯變量
codedbg SETL {TRUE} ;設置變量為T(mén)RUE

2)LCLA,LCLL,LCLS
局部變量聲明,用于宏定義的體中。

示例:

MACRO;聲明一個(gè)宏
SENDDAT $dat;宏的原型
LCLA bitno;聲明一個(gè)局部算術(shù)變量
...
bitno SETA 8;設置變量值為8
...
MEND

3),SETA,SETL,SETS
變量賦值偽指令。

示例:

GBLS ErrStr
...
ErrStr SETS "No,semaphone"
...

4),RLIST
為通用寄存器列表定義名稱(chēng)。

示例:

LoReg RLIST {R0-R7};定義寄存器列表LoReg
...
STMFD SP!,LoReg;保存寄存器列表LoReg到堆棧

5),CN
定義協(xié)處理器的寄存器。

MemSet CN 1;將協(xié)處理器的寄存器1定義為MemSet

6),CP
定義協(xié)處理器。

DivRun CN 5;將協(xié)處理器5的名稱(chēng)定義為DivRun

7),DN,SN
定義VFP的寄存器。

cdn DN 1 ;將VFP雙精度寄存器1的名稱(chēng)定義為cdn
rex SN 3 ;將VFP單精度寄存器3的名稱(chēng)定義為rex

8),FN
定義FPA浮點(diǎn)寄存器。

ibq FN 1 ;將浮點(diǎn)寄存器1的名稱(chēng)定義為ibq

2,數據定義偽指令
數據定義偽指令用于數據表定義、文字池定義、數據空間分配等。

1)LTORG
用于聲明一個(gè)文字池。

2)MAP
用于定義一個(gè)結構化的內存表的首地址。

3)FIELD
定義結構化內存表中的數據域。
MAP,FIELD僅僅定義數據結構,并不實(shí)際分配內存單元。

示例:

MAP 0x40003000 ;內存表的首地址為0x40003000
count1 FIELD 4;定義數據域count1,長(cháng)度為4字節
count2 FIELD 4;定義數據域count2,長(cháng)度為4字節

LDR R1,count1 ;R1 <- [0x40003000+0x00]
STR R1,count2 ;將R1的值傳送到[0x40003000+0x04]

4)SPACE
用于分配一塊內存單元,并用0初始化。

5)DCB
分配一段字節內存單元。

6)DCD,DCDU
DCD和DCDU用于分配一段字內存單元,但前者要字對齊,后者不需要。

7)DCDO

8)DCFD,DCFDU

9)DCFS,DCFSU

10)DCI

11)DCQ,DCQU

12)DCW,DCWU

3,報告偽指令
報告偽指令用于匯編報告指示。

1)ASSERT
用于斷言錯誤。
ASSERT Top<>Temp ;斷言Top不等于Temp

2)INFO

3)OPT

4)TTL,SUBT

4,匯編控制偽指令
匯編控制偽指令用于條件匯編、宏定義、重復匯編控制等。
IF,ELSE,ENDIF---條件匯編控制
MACRO,MEND---宏定義
WHILE,WEND---重復匯編

5,雜項偽指令
段定義,入口點(diǎn)設置,包含文件,標號導出,引入聲明等。

ALIGN邊界對齊
AREA段定義
CODE16和CODE32 指令集定義
END匯編結束
ENTRY程序入口
EQU常量定義
EXPORT和GLORBAL 聲明一個(gè)符號可以被其他文件引用
IMPORT和EXTERN 聲明一個(gè)外部符號
GET和INCLUDE 包含文件
INCBIN包含不被匯編的文件
KEEP保留符號表中的局部符號
NOFP禁止浮點(diǎn)指令
REQUIRE指示兩段之間的依賴(lài)關(guān)系
PEQUIRE8和PRESERVE8 堆棧8字節對準
RN給特定的寄存器命名
ROUT標記局部標號使用范圍的界限

6,ARM偽指令
ADR,ADRL,LDR,NOP,LDFD,LDFS




關(guān)鍵詞: ARM匯編偽指

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>