DSP技術(shù)偽指令課件_第1頁
DSP技術(shù)偽指令課件_第2頁
DSP技術(shù)偽指令課件_第3頁
DSP技術(shù)偽指令課件_第4頁
DSP技術(shù)偽指令課件_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

2024年4月16日DSP原理及應(yīng)用1第4章匯編語言程序開發(fā)工具4.4.3

匯編偽指令⑶

調(diào)整SPC的指令

如.align等。

對輸出列表文件格式化的命令

如.drlist、.drnolist等。

引用其他文件的命令

如copy、.def、.global、.include、.mlib、.ref等。

2024年4月16日DSP原理及應(yīng)用2第4章匯編語言程序開發(fā)工具4.4.3

匯編偽指令⑹

控制條件匯編的命令

如.break、.else、.elseif、.endif、.endloop、.if、.loop等。

在匯編時定義符號的命令

如.asg、.endstruct、.equ、.eval、.label、.set、.sruct等。

⑻執(zhí)行其他功能的命令

如.algebraic、.emsg、.end、.mmregs、.mmsg、.newblock、.sblock、.version、.vmsg等。2024年4月16日DSP原理及應(yīng)用3第4章匯編語言程序開發(fā)工具4.4.3

匯編偽指令1.定義段的偽指令

用于定義相應(yīng)的匯編語言程序的段。

助記符及語法格式

說明

.bsssymbol,sizeinwords[,blocking][,alignment]

為未初始化的數(shù)據(jù)段.bss保留存儲空間。

.data

指定.data后面的代碼為數(shù)據(jù)段,通常包含初始化的數(shù)據(jù)。

.sect“sectionname”

定義初始化的命名段,可以包含可執(zhí)行代碼或數(shù)據(jù)。

.text

指定.text后面的代碼為文本段,通常包含可執(zhí)行的代碼。

symbol.usect“sectionname”,sizeinwords[,blocking][,alignmentflag]

為未初始化的命名段保留空間。類似.bss偽指令,但允許保留與.bss段不同的空間。

2024年4月16日DSP原理及應(yīng)用4第4章匯編語言程序開發(fā)工具【例4.4.2】

段偽指令的使用。

1

************************************

2

*

開始匯編到.text段*

3

************************************

4

000000

.text

5

000000

0001

.word1,2

000001

0002

6

000002

0003

.word3,4

000003

000471.定義段的偽指令

;定義文本段

;初始化值為1,2

;初始化值為3,42024年4月16日DSP原理及應(yīng)用5第4章匯編語言程序開發(fā)工具【例4.4.2】

段偽指令的使用。

8

************************************

9

*

開始匯編到.data段*

10

************************************

11

000000

.data

12

000000

0009

.word9,10

000001

000A

13

000002

000B

.word11,12

000003

000C141.定義段的偽指令

;定義數(shù)據(jù)段

;初始化值為9,10

;初始化值為11,122024年4月16日DSP原理及應(yīng)用6第4章匯編語言程序開發(fā)工具【例4.4.2】

段偽指令的使用。

15

************************************

16

*

開始匯編到命名的初始化段*

17

*

var_defs

*

18

************************************

19

000000

.sect“var_defs”

20

000000

0011

.word17,18

000001

0012

21

1.定義段的偽指令

;定義命名段

;初始化值為17,182024年4月16日DSP原理及應(yīng)用7第4章匯編語言程序開發(fā)工具【例4.4.2】

段偽指令的使用。

22

************************************

23

*

再繼續(xù)匯編到.data段*

24************************************

25

000004

.data

26

000004

000D

.word13,14

000005

000E

27

000000

.bsssym,1928

000006

000F

.word15,16

000007

001029

1.定義段的偽指令

;繼續(xù)匯編數(shù)據(jù)段

;初始化值為13,14

;定義未初始化段,保留19個空間;仍然在.data段中;初始化值為15,162024年4月16日DSP原理及應(yīng)用8第4章匯編語言程序開發(fā)工具【例4.4.2】

段偽指令的使用。

30

************************************

31

*

再繼續(xù)匯編到.text段*

32

************************************

33

000004

.text

34

000004

0005

.word5,6

000005

0006

35

000000

usym

.usect“xy”,2036

000006

0007

.word7,8

000007

0008

1.定義段的偽指令

;繼續(xù)匯編文本段

;初始化值為5,6

;定義xy段,保留20個空間

;仍然在.text段中

;初始化值為7,82024年4月16日DSP原理及應(yīng)用9第4章匯編語言程序開發(fā)工具【例4.4.2】

段偽指令的使用。

.text初始化值為1,2,3,4,5,6,7,8的字;

.data初始化值為9,10,11,12,13,14,15,16的字;

var_defs初始化值為17,18的字;

.bss保留19個字的空間;

.usect保留20個字的空間。1.定義段的偽指令

.bss和.usect偽指令既不結(jié)束當前的段也不開始新段,它們保留指定數(shù)量的空間,然后匯編器開始將代碼或數(shù)據(jù)匯編進當前的段。

2024年4月16日DSP原理及應(yīng)用10第4章匯編語言程序開發(fā)工具4.4.3

匯編偽指令2.初始化常數(shù)的偽指令

用于為當前的段匯編常數(shù)值。助記符及語法格式

說明

.bytevalue[,…,value]

初始化當前段里的一個或多個連續(xù)字。每個值的寬度被限制為8位。即把8位的值放入當前段的連續(xù)字。

.charvalue[,…,value]

初始化當前段里的一個或多個連續(xù)字。每個值的寬度被限制為8位。即把8位的值放入當前段的連續(xù)字。

.fieldvalue[,sizeinbits]

初始化一個可變長度的域。將單個值放入當前字的指定位域中。

.floatvalue[,…,value]

初始化一個或多個IEEE的單精度(32位)浮點數(shù),即計算浮點數(shù)的單精度(32位)IEEE浮

.xfloatvalue[,…,value]

初始化一個或多個IEEE的單精度(32位)浮點數(shù),即計算浮點數(shù)的單精度(32位)IEEE浮點表示,并將它保存在當前段的兩個連續(xù)的字中。不自動對準最接近的長字邊界。

2024年4月16日DSP原理及應(yīng)用11第4章匯編語言程序開發(fā)工具2.初始化常數(shù)的偽指令助記符及語法格式

說明

.intvalue[,…,value]

初始化一個或多個16位整數(shù)。即把16位的值放到當前段的連續(xù)的字中。

.shortvalue[,…,value]初始化一個或多個16位整數(shù)。即把16位的值放到當前段的連續(xù)的字中。

.wordvalue[,…,value]

初始化一個或多個16位整數(shù)。即把16位的值放到當前段的連續(xù)的字中。

.doublevalue[,…,value]

初始化一個或多個雙精度(64位)浮點數(shù)。即計算浮點數(shù)的單精度(32位)

浮點表示,并將它存儲在當前段的2個連續(xù)的字中。該偽指令自動對準長字邊界。

.longvalue[,…,value]初始化一個或多個32位整數(shù)。即把32位的值放到當前段的2個連續(xù)的字中。

.string“string[,…,“string”]”

初始化一個或多個字符串。把8位字符從一個或多個字符串放進當前段。

2024年4月16日DSP原理及應(yīng)用12第4章匯編語言程序開發(fā)工具【例4.4.3】比較.byte,.int,.long,.xlong,.float,.xfloat,.word和.string偽指令。

源程序:

.byte

0AAh,0BBh

.word

0CCCh

.xlong

0EEEEFFFh

.long

0EEEEFFFFh

.int

0DDDDh

.xfloat

1.99999

.float

1.99999

.string

“help”

.byte:將一個或多個8位值放入當前段的連續(xù)字中。word15

01500,100AA

00BB

.word:將一個或多個16位值放入當前段的連續(xù)字中。20CCC

.xlong:將32位值放入當前段的2個連續(xù)的字中,先存最高有效位。3,40EEE

EFFF

.long:將32位值放入當前段的2個連續(xù)的字中,先存最高有效位。6,7

EEEE

FFFF

.int:將一個或多個16位值放入當前段的連續(xù)的字中。8

DDDD

.xfloat:初始化單精度(32位)浮點數(shù),并保存在當前段的兩個連續(xù)的字中。9,A3FFF

FFAC

.float:初始化單精度(32位)浮點數(shù),并保存在當前段的兩個連續(xù)的字中。C,D3FFF

FFAC

.string:將一個或多個字符串中的8位字符放入當前段中。heE,F0068

0065lp10,11006C

00702024年4月16日DSP原理及應(yīng)用13第4章匯編語言程序開發(fā)工具列表文件:1000000

00aa

.byte0AAh,0BBh

000001

00bb2000002

0ccc

.word0CCCh3000003

0eee

.xlong0EEEEFFFh

000004

efff4000006

eeee

.long0EEEEFFFFh

000007

ffff5000008

dddd

.int0DDDDh6000009

3fff

.xfloat1.99999

00000a

ffac700000c

3fff

.float1.99999

00000d

ffac800000e

0068

.string“help”

00000f

0065

000010

006c

000011

0070

.long:自動對準最近長字邊界

.xlong:不自動對準長字邊界.float:自動對準最近長字邊界

.xfloat:不自動對準長字邊界2024年4月16日DSP原理及應(yīng)用14第4章匯編語言程序開發(fā)工具2.初始化常數(shù)的偽指令.field偽指令:

功能:將單個數(shù)值放進當前字的指定位域中。

采用.field偽指令,可以將多個字段或域打包成單個字,直到字被填滿為止,匯編器不增加SPC。

指令格式:.

field

value

[,sizeinbits]

單個數(shù)值當前字的指定位域2024年4月16日DSP原理及應(yīng)用15第4章匯編語言程序開發(fā)工具2.初始化常數(shù)的偽指令

.field偽指令的使用。

源程序:

.field5,3.field9,6.field16,5.field01234h,20

.field01234h,32

.field5,3

.field9,6

.field16,5

.field01234h,20

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

01

0

11

0

10

0

1

0

0

10

0

1

0

0

11

0

0

0

01

0

0

0

0

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

000000001001000110100

15

14

13

12

11

10

9

8

7

6

5

4

3

2

1

00123h00000001001000110

0

0

0

0

0

0

1

0

0

1

0

0

0

1

14h01000

1

0

0

.field01234h,320

0

0

0

0

0

0

1

0

0

1

0

0

0

1

1

0

1

0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論