




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、匯編偽指令 匯編器偽指令是匯編語(yǔ)言程序的一個(gè)重要內(nèi)容。用于為程序提供數(shù)據(jù),并控制匯編程序如何匯編源程序。 將代碼和數(shù)據(jù)匯編進(jìn)指定的段 為未初始化的變量在存儲(chǔ)器中保留空間 控制清單文件是否產(chǎn)生 初始化存儲(chǔ)器 匯編條件代碼塊 為匯編器指定從中可以獲得宏的庫(kù) 考察符號(hào)調(diào)試信息匯編器偽指令可完成以下工作: TMS320C54x的匯編偽指令2022/8/181匯編偽指令匯編偽指令 偽指令和它所帶的參數(shù)必須書(shū)寫(xiě)在一行。在包含匯編偽指令的源程序中,偽指令可以帶有標(biāo)號(hào)和注釋。雖然標(biāo)號(hào)一般不作為偽指令語(yǔ)法的一部分列出,但是有些偽指令必須帶有標(biāo)號(hào),此時(shí),標(biāo)號(hào)將作為偽指令的一部分出現(xiàn)。 C54x匯編器共有64條匯編
2、偽指令.2022/8/182匯編偽指令匯編偽指令 1定義段的偽指令 用于定義相應(yīng)的匯編語(yǔ)言程序的段。 助記符及語(yǔ)法格式 說(shuō) 明 .bss symbol, size in words ,blocking , alignment 為未初始化的數(shù)據(jù)段.bss保留存儲(chǔ)空間。 .data 指定.data后面的代碼為數(shù)據(jù)段,通常包含初始化的數(shù)據(jù)。 .sect “section name” 定義初始化的命名段,可以包含可執(zhí)行代碼或數(shù)據(jù)。 .text 指定.text后面的代碼為文本段,通常包含可執(zhí)行的代碼。 symbol .usect “section name”, size in words ,blocki
3、ng ,alignment flag 為未初始化的命名段保留空間。類(lèi)似.bss偽指令,但允許保留與.bss段不同的空間。 2022/8/183匯編偽指令【例】 段偽指令的使用。 1 * 2 * 開(kāi)始匯編到.text段 * 3 * 4 000000 .text 5 000000 0001 .word 1,2 000001 0002 6 000002 0003 .word 3,4 000003 0004 7 1定義段的偽指令 ;定義文本段 ;初始化值為1,2 ;初始化值為3,42022/8/184匯編偽指令【例】 段偽指令的使用。 8 * 9 * 開(kāi)始匯編到.data段 * 10 * 11 000
4、000 .data 12 000000 0009 .word 9,10 000001 000A 13 000002 000B .word 11,12 000003 000C 14 1定義段的偽指令 ;定義數(shù)據(jù)段 ;初始化值為9,10 ;初始化值為11,122022/8/185匯編偽指令【例】 段偽指令的使用。 15 * 16 * 開(kāi)始匯編到命名的初始化段 * 17 * var_defs * 18 * 19 000000 .sect “var_defs” 20 000000 0011 .word 17,18 000001 0012 21 1定義段的偽指令 ;定義命名段 ;初始化值為17,1820
5、22/8/186匯編偽指令【例】 段偽指令的使用。 22 * 23 * 再繼續(xù)匯編到.data段 * 24 * 25 000004 .data 26 000004 000D .word 13,14 000005 000E 27 000000 .bss sym,1928 000006 000F .word 15,16 000007 001029 1定義段的偽指令 ;繼續(xù)匯編數(shù)據(jù)段 ;初始化值為13,14 ;定義未初始化段,保留19個(gè)空間 ;仍然在.data段中 ;初始化值為15,162022/8/187匯編偽指令【例】 段偽指令的使用。 30 * 31 * 再繼續(xù)匯編到.text段 * 32 *
6、 33 000004 .text 34 000004 0005 .word 5,6 000005 0006 35 000000 usym .usect “xy”,2036 000006 0007 .word 7,8 000007 0008 1定義段的偽指令 ;繼續(xù)匯編文本段 ;初始化值為5,6 ;定義xy段,保留20個(gè)空間 ;仍然在.text段中 ;初始化值為7,82022/8/188匯編偽指令【例】 段偽指令的使用。 .text初始化值為1,2,3,4,5,6,7,8的字; .data初始化值為9,10,11,12,13,14,15,16的字; var_defs初始化值為17,18的字; .
7、bss保留19個(gè)字的空間; .usect保留20個(gè)字的空間。1定義段的偽指令 .bss和.usect偽指令既不結(jié)束當(dāng)前的段也不開(kāi)始新段,它們保留指定數(shù)量的空間,然后匯編器開(kāi)始將代碼或數(shù)據(jù)匯編進(jìn)當(dāng)前的段。 2022/8/189匯編偽指令匯編偽指令 2初始化常數(shù)的偽指令 用于為當(dāng)前的段匯編常數(shù)值。 助記符及語(yǔ)法格式 說(shuō) 明 .byte value , value 初始化當(dāng)前段里的一個(gè)或多個(gè)連續(xù)字。每個(gè)值的寬度被限制為8位。 即把8位的值放入當(dāng)前段的連續(xù)字。 .char value , value 初始化當(dāng)前段里的一個(gè)或多個(gè)連續(xù)字。每個(gè)值的寬度被限制為8位。 即把8位的值放入當(dāng)前段的連續(xù)字。 .fi
8、eld value ,size in bits 初始化一個(gè)可變長(zhǎng)度的域。將單個(gè)值放入當(dāng)前字的指定位域中。 .float value , value 初始化一個(gè)或多個(gè)IEEE的單精度(32位) 浮點(diǎn)數(shù),即計(jì)算浮點(diǎn)數(shù)的 單精度(32位)IEEE浮 .xfloat value , value 初始化一個(gè)或多個(gè)IEEE的單精度(32位) 浮點(diǎn)數(shù),即計(jì)算浮點(diǎn)數(shù)的 單精度(32位)IEEE浮點(diǎn)表示,并將它保存在當(dāng)前段的兩個(gè)連續(xù)的 字中。不自動(dòng)對(duì)準(zhǔn)最接近的長(zhǎng)字邊界。 2022/8/1810匯編偽指令2初始化常數(shù)的偽指令 助記符及語(yǔ)法格式 說(shuō) 明 .int value ,value 初始化一個(gè)或多個(gè)16位整數(shù)
9、。 即把16位的值放到當(dāng)前段的 連續(xù)的字中。 .short value ,value 初始化一個(gè)或多個(gè)16位整數(shù)。 即把16位的值放到當(dāng)前段的連續(xù)的字中。 .word value ,value 初始化一個(gè)或多個(gè)16位整數(shù)。 即把16位的值放到當(dāng)前段的連續(xù)的字中。 .double value ,value 初始化一個(gè)或多個(gè)雙精度(64位) 浮點(diǎn)數(shù)。 即計(jì)算浮點(diǎn)數(shù)的單精度(32位) 浮點(diǎn)表示, 并將它存儲(chǔ)在當(dāng)前段的2個(gè)連續(xù)的字中。 該偽指令自動(dòng)對(duì)準(zhǔn)長(zhǎng)字邊界。 .long value ,value 初始化一個(gè)或多個(gè)32位整數(shù)。 即把32位的值放到當(dāng)前段的2個(gè)連續(xù)的字中。 .string “strin
10、g ,“string” 初始化一個(gè)或多個(gè)字符串。 把8位字符從一個(gè)或多個(gè)字符串放進(jìn)當(dāng)前段。 2022/8/1811匯編偽指令【例】比較.byte,.int,.long,.xlong,.float,.xfloat,.word和.string偽指令。 源程序: .byte 0AAh,0BBh .word 0CCCh .xlong 0EEEEFFFh .long 0EEEEFFFFh .int 0DDDDh.string “help” .byte:將一個(gè)或多個(gè)8位值放入當(dāng)前段的連續(xù)字中。word 15 0 15 00,1 0 0 A A 0 0 B B .word:將一個(gè)或多個(gè)16位值放入當(dāng)前段的連
11、續(xù)字中。 .xlong:將32位值放入當(dāng)前段的2個(gè)連續(xù)的字中,先存最高有效位。 .long:將32位值放入當(dāng)前段的2個(gè)連續(xù)的字中,先存最高有效位。 .int:將一個(gè)或多個(gè)16位值放入當(dāng)前段的連續(xù)的字中。 .string:將一個(gè)或多個(gè)字符串中的8位字符放入當(dāng)前段中。2022/8/1812匯編偽指令列表文件:1 000000 00aa .byte 0AAh,0BBh 000001 00bb2 000002 0ccc .word 0CCCh3 000003 0eee .xlong 0EEEEFFFh 000004 efff4 000006 eeee .long 0EEEEFFFFh 000007 f
12、fff5 000008 dddd .int 0DDDDh6 000009 0068 .string “help” 00000a 0065 00000b 006c 00000c 0070 .long:自動(dòng)對(duì)準(zhǔn)最近長(zhǎng)字邊界 .xlong:不自動(dòng)對(duì)準(zhǔn)長(zhǎng)字邊界2022/8/1813匯編偽指令匯編偽指令 3對(duì)準(zhǔn)段程序計(jì)數(shù)器的偽指令 對(duì)準(zhǔn)段程序計(jì)數(shù)器的偽指令包括:.align偽指令和.even偽指令。 助記符及語(yǔ)法格式 說(shuō) 明 .align size in words 用于將段程序計(jì)數(shù)器(SPC)對(duì)準(zhǔn)在1128字的邊界。 .even 用于使SPC指到下一個(gè)字的邊界(偶字邊界)。 2022/8/1814匯編
13、偽指令3對(duì)準(zhǔn)段程序計(jì)數(shù)器的偽指令 (1) .align偽指令的操作數(shù)必須是在20216之間且等 于2的冪。 例如:操作數(shù)為1時(shí),對(duì)準(zhǔn)SPC到字的邊界; 操作數(shù)為2時(shí),對(duì)準(zhǔn)SPC到長(zhǎng)字/偶字的邊界; 操作數(shù)為128時(shí),對(duì)準(zhǔn)SPC到頁(yè)面的邊界; 沒(méi)有操作數(shù)時(shí),.align偽指令默認(rèn)為頁(yè)面邊界。(2) .even偽指令等效于指定.align偽指令的操作數(shù) 為1的情形。 當(dāng).even操作數(shù)為2時(shí),將SPC對(duì)準(zhǔn)到下一個(gè)長(zhǎng)字的邊界。任何在當(dāng)前字中沒(méi)有使用的位都填充0。 2022/8/1815匯編偽指令3對(duì)準(zhǔn)段程序計(jì)數(shù)器的偽指令 【例】 .align偽指令的使用。 源程序: .field 2,3 .fiel
14、d 11,8 .align 2 .string “Errorcnt” .align .byte 4 ; 將數(shù)值2放入字指定域中 ; 打包組成單字6400h ; 對(duì)準(zhǔn)長(zhǎng)字邊界,SPC=02h ; 初始化字符串 ; 對(duì)準(zhǔn)頁(yè)邊界,SPC=80h ; 在當(dāng)前段中,放入8位數(shù)04h2022/8/1816匯編偽指令列表文件: 1 000000 4000 .field 2,3 2 000000 4160 .field 11,8 3 .align 2 4 000002 0045 .string “Errorcnt” 000003 0072 000004 0072 000005 006f 000006 0072
15、 000007 0063 000008 006e 000009 0074 5 .align 6 000080 0004 .byte 4 000000SPC4000000000SPC4160000002SPC4160000002SPC0045000003SPC0072000004SPC0072000005SPC006F000006SPC0072000007SPC0063000008SPC006E000009SPC0074000080SPC0074000080SPC0042022/8/1817匯編偽指令匯編偽指令 4引用其他文件的偽指令 該指令主要為引用其他文件提供信息。 助記符及語(yǔ)法格式 說(shuō) 明 .include ” 通知匯編器開(kāi)始從其他文件讀取源程序語(yǔ)句。 .def symbil ,symbil 識(shí)別定義在當(dāng)前模塊中,但可被其他模塊使 用的符號(hào)。 .global symbil ,symbil 聲明當(dāng)前符號(hào)為全局符號(hào)。 對(duì)定義了的符號(hào),其作用相當(dāng)于.def; 對(duì)沒(méi)有定義的符號(hào),其作用相當(dāng)于.ref。
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 借貸擔(dān)保條件合同范本
- 買(mǎi)賣(mài)旅游車(chē)車(chē)合同范本
- 制作類(lèi)開(kāi)口合同范本
- 包工包料安裝鍋爐合同范本
- 養(yǎng)豬場(chǎng)租賃合同范本
- 鄉(xiāng)鎮(zhèn)土地開(kāi)發(fā)整改合同范本
- 佛山土地出租合同范本
- 付款協(xié)議合同范本
- 農(nóng)村養(yǎng)牛蛙銷(xiāo)售合同范本
- ktv裝修乙方合同范本
- 2023年全國(guó)中學(xué)生物理競(jìng)賽預(yù)賽試題含答案版
- 葛傳椝向?qū)W習(xí)英語(yǔ)者講話
- 6人小品《沒(méi)有學(xué)習(xí)的人不傷心》臺(tái)詞完整版
- 教師溝通能力提升培訓(xùn)幼兒園家長(zhǎng)溝通技巧教學(xué)課件
- 喀喇沁旗樓子店鄉(xiāng)上燒鍋白石礦石灰?guī)r礦2022年度礦山地質(zhì)環(huán)境治理計(jì)劃書(shū)
- 中國(guó)石油天然氣股份有限公司長(zhǎng)慶油田分公司第九采油廠油田產(chǎn)能建設(shè)項(xiàng)目組竣工環(huán)境保護(hù)驗(yàn)收調(diào)查表
- 鋼圍堰監(jiān)測(cè)方案
- 人口資源與環(huán)境經(jīng)濟(jì)學(xué)課件
- GB/T 34881-2017產(chǎn)品幾何技術(shù)規(guī)范(GPS)坐標(biāo)測(cè)量機(jī)的檢測(cè)不確定度評(píng)估指南
- GB/T 2305-2000化學(xué)試劑五氧化二磷
- GB/T 13810-2007外科植入物用鈦及鈦合金加工材
評(píng)論
0/150
提交評(píng)論