国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁 > news >正文

珠海服務(wù)好的網(wǎng)站建設(shè)武漢seo

珠海服務(wù)好的網(wǎng)站建設(shè),武漢seo,鄭州網(wǎng)站建設(shè)找智巢,臨沂最新消息一、偽操作.global 全局.local 局部.equ 聲明.macro 子函數(shù).if .endif 條件編譯.rept 重復(fù)操作.weak 弱化.word 申請一個字空間.byte 申請一個字節(jié)空間.align 地址對齊.arm ARM指令.thumb Thumb指令.text 代碼段.data 數(shù)據(jù)段.space 申請N個字節(jié)空間 二、C和匯編的混合編程三、A…

  • 一、偽操作
          • .global 全局
          • .local 局部
          • .equ 聲明
          • .macro 子函數(shù)
          • .if .endif 條件編譯
          • .rept 重復(fù)操作
          • .weak 弱化
          • .word 申請一個字空間
          • .byte 申請一個字節(jié)空間
          • .align 地址對齊
          • .arm ARM指令
          • .thumb Thumb指令
          • .text 代碼段
          • .data 數(shù)據(jù)段
          • .space 申請N個字節(jié)空間
  • 二、C和匯編的混合編程
  • 三、ATPCS協(xié)議

一、偽操作

偽操作:不會生成代碼,只是在編譯之前告訴編譯器怎么編譯 不同的編譯器偽操作也不同

GNU(gcc)的偽操作一般都以 ‘.’ 開頭

.global 全局
	.global symbol@ 將symbol聲明成全局符號
.local 局部
	.local symbol@ 將symbol聲明成局部符號
.equ 聲明
	.equ DATA, 0xFF		@ 似于#define DATA 0xFFMOV R1, #DATA
.macro 子函數(shù)
	.macro FUNCMOV R1, #1MOV R2, #2.endmFUNC		@ 調(diào)用FUNC函數(shù)
.if .endif 條件編譯
	.if 0		@ 如果條件 0-假, 1-真	MOV R1, #1MOV R2, #2.endif
.rept 重復(fù)操作
	.rept 3		@ 將下面這兩行代碼重復(fù)執(zhí)行三次MOV R1, #1MOV R2, #2.endr
.weak 弱化
	@.weak symbol@ 弱化一個符號,即告訴編譯器即便沒有這個符號也不要報錯.weak funcB func
.word 申請一個字空間
	@ .word VALUE@ 在當(dāng)前地址申請一個字的空間并將其初始化為VALUEMOV R1, #1.word 0xFFFFFFFFMOV R2, #2
.byte 申請一個字節(jié)空間
	@ .byte VALUE	@ 在當(dāng)前地址申請一個字節(jié)的空間并將其初始化為VALUEMOV R1, #1.byte 0xFF
.align 地址對齊
	@ .align N@ 告訴編譯器后續(xù)的代碼2的N次方對其.align 4@ 下面這條指令將會從2^4 = 16,0x16地址空間開始存儲MOV R2, #2
.arm ARM指令
	.arm@ 告訴編譯器后續(xù)的代碼是ARM指令
.thumb Thumb指令
	.thumb@ 告訴編譯器后續(xù)的代碼是Thumb指令
.text 代碼段
	.text				@ 定義一個代碼段
.data 數(shù)據(jù)段
	.data				@ 定義一個數(shù)據(jù)段
.space 申請N個字節(jié)空間
	@ .space N, VALUE@ 在當(dāng)前地址申請N個字節(jié)的空間并將其初始化為VALUEMOV R1, #1.space 12, 0x12@ 32位的處理器,0x4 — 0x16 地址空間將會全部存儲12MOV R2, #2

二、C和匯編的混合編程

C和匯編的混合編程原則:在哪種語言環(huán)境下符合哪種語言的語法規(guī)則

  1. 在匯編中將C中的函數(shù)當(dāng)做標(biāo)號處理
  2. 在C中將匯編中的標(biāo)號當(dāng)做函數(shù)處理
  3. 在C中內(nèi)聯(lián)的匯編當(dāng)做C的語句來處理

方式一:匯編語言調(diào)用(跳轉(zhuǎn))C語言

匯編中:MOV R1, #1MOV R2, #2BL  func_c	@ 將會跳到C語言代碼中MOV R3, #3C語言中:void func_c() {int a;}

方式二:C語言調(diào)用(跳轉(zhuǎn))匯編語言

C語言中:void func_c() {int a;FUNC_ARM();  //將會跳轉(zhuǎn)到匯編指令中}
匯編中:MOV R1, #1MOV R2, #2
.global FUNC_ARM	@ 全局變量
FUNC_ARM:MOV R3, #3

方式三:C內(nèi)聯(lián)(內(nèi)嵌)匯編
asm( “匯編指令\n” );

C語言中:void func_c(void){int a;// C內(nèi)聯(lián)(內(nèi)嵌)匯編	asm("MOV R6, #6\n""MOV R7, #7\n");}	

三、ATPCS協(xié)議

ATPCS協(xié)議(ARM-THUMB Procedure Call Standard)

ATPCS協(xié)議主要內(nèi)容

  1. 棧的種類
    1.1使用滿減棧

  2. 寄存器的使用
    2.1 R15用作程序計數(shù)器,不能作其他用途
    2.2 R14用作鏈接寄存器,不能作其他用途
    2.3 R13用作棧指針,不能作其他用途
    2.4 當(dāng)函數(shù)的參數(shù)不多于4個時使用R0-R3傳遞,當(dāng)函數(shù)的參數(shù)多于4個時,多出的部分用棧傳遞
    2.5 函數(shù)的返回值使用R0傳遞
    2.6 其它寄存器主要用于存儲局部變量

http://aloenet.com.cn/news/31459.html

相關(guān)文章:

  • 江陰做網(wǎng)站百度秒收錄軟件工具
  • 微商網(wǎng)站開發(fā)寧波網(wǎng)站推廣營銷
  • 恒華大廈做網(wǎng)站公司山東做網(wǎng)站
  • 專門教做甜品的網(wǎng)站愛站網(wǎng)關(guān)鍵詞
  • wordpress用qq注冊谷歌seo什么意思
  • 如何做目錄wordpress北京網(wǎng)站優(yōu)化外包
  • 上海 高端 網(wǎng)站建設(shè)我的百度賬號登錄
  • 創(chuàng)新的鹽城網(wǎng)站建設(shè)百度收錄查詢代碼
  • 一步一步教你做網(wǎng)站哪家公司建設(shè)網(wǎng)站好
  • 做網(wǎng)站續(xù)費(fèi)seo概念
  • 租電信服務(wù)器開網(wǎng)站磁力鏈bt磁力天堂
  • wordpress主題 dux1.2原版整站優(yōu)化排名
  • dk域名網(wǎng)站全搜網(wǎng)
  • 白菜網(wǎng)站建設(shè)如何優(yōu)化網(wǎng)站首頁
  • 公司網(wǎng)站建app互聯(lián)網(wǎng)營銷師怎么報名
  • 建設(shè)部一建注冊公示網(wǎng)站培訓(xùn)心得體會范文大全1000字
  • 怎么建設(shè)好一個外貿(mào)購物網(wǎng)站哪有惡意點(diǎn)擊軟件買的
  • 寧夏住房和城鄉(xiāng)建設(shè)廳網(wǎng)站執(zhí)業(yè)資格工具大全
  • 邢臺網(wǎng)站優(yōu)化建設(shè)站長查詢域名
  • 二級域名網(wǎng)站怎么投廣告百度seo優(yōu)化規(guī)則
  • 手機(jī)端網(wǎng)站建設(shè)公司經(jīng)典網(wǎng)絡(luò)營銷案例
  • 網(wǎng)站如何防止被復(fù)制百度打車客服電話
  • 高端網(wǎng)站設(shè)計費(fèi)用電商網(wǎng)站建設(shè)公司
  • 深圳做公司網(wǎng)站推廣的廣州seo網(wǎng)站開發(fā)
  • 購物網(wǎng)站開發(fā)實(shí)戰(zhàn)有創(chuàng)意的網(wǎng)絡(luò)營銷案例
  • 海創(chuàng)網(wǎng)站建設(shè)電子商務(wù)推廣
  • 揚(yáng)州公司做網(wǎng)站公司手游推廣平臺代理
  • 奢侈品商城網(wǎng)站建設(shè)方案泰安做網(wǎng)站公司
  • 貴陽市網(wǎng)站做的最好的識別關(guān)鍵詞軟件
  • asp網(wǎng)站亂碼百度推廣在線客服