<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 linux常用匯編語(yǔ)法

ARM linux常用匯編語(yǔ)法

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

匯編語(yǔ)言每行的語(yǔ)法:

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

lable: instruction ; comment

段操作: .section

格式: .section 段名 [標志]

[標志]可以是如下:

a 允許段
w 可寫(xiě)段
x 可執行段

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

.data: 已初始化數據段
.bss: 未初始化數據段
.text:代碼段
.rodata:只讀段


匯編程序的入口點(diǎn):

通常,linux的匯編程序的入口點(diǎn)都是從_start這個(gè)全局符號開(kāi)始的。而C語(yǔ)言的入口點(diǎn)是main, main函數就是被_start后面的代碼調用。

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

linux匯編中常數的使用:

十進(jìn)制: 以非0 的數字開(kāi)頭表示, 124, 564
二進(jìn)制: 以0b開(kāi)頭,如0b101001
八進(jìn)制: 以0開(kāi)始的數字,如05645
十六進(jìn)制:以0x開(kāi)頭, 如0xab12

linux匯編中常用的偽操作:

數據定義偽操作:

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

.string, .asciz, .ascii, 定義字符串數據, 比如.string "hello"

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

代碼指令集切換:

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

函數定義格式:

函數名:
函數體
函數返回語(yǔ)句

比如add函數:
.global add
add:
add r0, r1, r2
mov pc, lr


常見(jiàn)符號的意義和用法:

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



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

評論


技術(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>