freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

dsp匯編語言程序設(shè)計-展示頁

2025-01-21 18:06本頁面
  

【正文】 向量表 。 程序一般由數(shù)據(jù)段 、 堆棧段和代碼段組成 。 TMS320C54x匯編語言程序設(shè)計的 基本方法 DSP的軟件開發(fā)一般有以下幾種方式: (1) 直接編寫匯編語言源程序; (2) 編寫 C語言程序; (3) 混合編程 (既有 C代碼 , 又含匯編代碼 )。調(diào)用宏 1 1 000000 1000! LD abc,A 。結(jié)束宏 14 15 16 .global abc,def,ghi,adr 。將參數(shù) 3與 A相加 12 STL A,ADDRP 。將參數(shù) 1賦給 A 10 ADD p2,A 。說明宏功能 6 7 add3 .macro p1,p2,p3,ADDRP 。 在宏展開時 , 匯編器將實際參數(shù)傳遞給形式參數(shù) ,再用宏定義替代宏調(diào)用語句 , 并對其進(jìn)行匯編 。 定義如下: 宏命令名 .macro 形式參數(shù) ; 宏體 ; .endm 2. 調(diào)用 宏命令定義好之后 , 就可以在源程序中將宏命令名作為指令來調(diào)用這個宏了 。 1. 宏定義 宏命令可以在源程序的任何位置定義 , 但必須在宏調(diào)用之前先定義好 。 宏命令是源程序中具有獨立功能的一段程序代碼 , 它可以根據(jù)用戶的需要 , 由用戶創(chuàng)建自己的指令 。 4. 條件匯編偽指令 以下分兩種情況介紹條件匯編偽指令 。 不同的操作數(shù)代表了不同的含義: “ 1”表示讓 SPC對準(zhǔn)字邊界; “ 2”表示讓 SPC對準(zhǔn)長字 /偶地址邊界; “ 128”表示讓 SPC對準(zhǔn)頁邊界 。 例如 “ table: .int 1, 2, 3, 4”,或例 “ table: .word 8, 6, 4, 2”。 .string類似于 .byte,把 8位字符放到當(dāng)前段的連續(xù)字中,每 8位字符占一個字。 .long偽指令能自動按長字 (偶地址 )邊界排列 , 但 .xlong不能 。 (4) .long和 .xlong。 這兩個指令將 32位浮點數(shù)存放在當(dāng)前段的連續(xù)字中 , 高位字先存 。 此指令可以把多個域打包成一個字 , 匯編器不會增加 SPC的值 , 直至填滿一個字 。當(dāng)標(biāo)號與 .space連用時,標(biāo)號指向保留位的第一個字;當(dāng)標(biāo)號與 .bes連用時,標(biāo)號指向保留位的最后一個字。 2.常數(shù)初始化偽指令 (1) .bes和 .space。 由命令文件可以將定義的數(shù)據(jù)存放于程序或數(shù)據(jù)存儲器中 。 經(jīng)匯編后 , .text后的是可執(zhí)行程序代碼 , 一般存放于程序存儲器區(qū)域中 。 這兩條命令的句法如下: .bss 符號 , 字?jǐn)?shù) 符號 .usect “段名 ” , 字?jǐn)?shù) 2) 已初始化段 .text 、 .data 和 .sect 命 令 建 立 已 初 始 化 段 。 .bss偽指令為未初始化變量在 .bss段中預(yù)留空間; .usect偽指令在一個未初始化的自定義段中預(yù)留空間。 表 43 常 用 偽 指 令 偽指令 句 法 作 用 title .title “string” 標(biāo)題名 。 (7) 指定匯編器可以獲得宏的特定庫 。 (5) 匯編條件塊 。 (3) 控制展開列表的形式 。 具體實現(xiàn)以下任務(wù): (1) 將數(shù)據(jù)和代碼匯編到特定的段 。表達(dá)式中不能使用未定義的符號。 (一般用 .global定義) 在匯編和執(zhí)行階段,符號值、符號地址不同的是可重定位符號,相同的是絕對符號。 符號按屬性可分為三種:外部符號 、 可重定位符號和絕對符號 。 表 41 表達(dá)式的運算符及優(yōu)先級 符 號 操 作 計算順序 +、 ?、 ~ 取正 、 取負(fù) 、 按位求補(bǔ) 從右到左 *、 /、 % 乘 、 除 、 求模 從左到右 、 左移 、 右移 從左到右 +、 ? 加 、 減 從左到右 、 = 、 、 = 小于 、 小于等于 、 大于 、 大于等于 從左到右 !=、 = 不等于 、 等于 從左到右 amp。 TMS320C54x匯編器的優(yōu)先級使用與 C語言類似 ,優(yōu)先級高的運算先執(zhí)行 。 3.匯編語言源程序的符號 4. 表達(dá)式 1) 運算順序 影響表達(dá)式運算順序的三個主要因素是:圓括號 、優(yōu)先級和同級運算順序 。第一個字符不能是數(shù)字,符號中間不能有空格。 要點 2. 匯編語言源程序的數(shù)據(jù)型式 二進(jìn)制:如 1110001b或 1111001B; 八進(jìn)制: 226q或 572Q; 十進(jìn)制: 1234或 +1234或 1234( 缺省型 ) 十六進(jìn)制: 0A40h或 0A40H或 0xA40 浮點數(shù): ( 僅 C語言程序中能用 , 匯編程序不能用 ) 字符: ‘ D’,每位字符由 8位 ASCII碼表示; 字符串: “ this is a string” 符號用作標(biāo)號、常數(shù)和替代符號。 要點 [標(biāo)號 ][: ] 空格 [助記符 ] 空格 [操作數(shù) ] 空格 [;注釋 ] 編命令中定義的內(nèi)容 號 “ , ” 分開。 要點 建議 [標(biāo)號 ][: ] 空格 [助記符 ] 空格 [操作數(shù) ] 空格 [;注釋 ] 可以是助記符指令、匯編指令、宏指令和宏調(diào)用命令。 SPC的值。 TMS320C54x匯編語言的基本概念 要 點 , 32個字符,可以是 A~ Z, a~ z, 0~ 9, _,以及 $,但標(biāo)號的第 1個字符不能是數(shù)字。第 4章 DSP匯編語言程序設(shè)計 TMS320C54x匯編語言的基本概念 TMS320C54x匯編語言程序設(shè)計的基本方法 TMS320C54x匯編語言程序的編輯、匯編與鏈接過程 匯編器 鏈接器 匯編程序舉例 1. 匯編語言源程序的句法格式 要點 以 .asm為擴(kuò)展名 每一行由 4個部分組成 格式 [標(biāo)號 ][: ] 空格 [助記符 ] 空格 [操作數(shù) ] 空格 [;注釋 ] [ ]中的內(nèi)容為可選擇部分 供本程序的其它部分或其它程序調(diào)用。標(biāo)號是任選項,標(biāo)號后面可以加也可以不加冒號 “ : ” 。 ,標(biāo)號的大小寫必須一致。 ,則第一個字母必須為空格、分號 或星號( *)。 ,一般用大寫; ,以句號 “ .” 開始,且為通常用小寫。 “ ; ” 開始 , 也可以放在單獨的一行或數(shù)行。符號名可以是長達(dá) 200個字符的字母 (A~ Z, a~ z)、數(shù)字 (0~ 9)加上 $或下劃線 (_)。符號分大小寫,例如: Abc。 圓括號內(nèi)的表達(dá)式最先運算 , 不能用 { }或 [ ]來代替 ( )。 表 41給出了表達(dá)式中可用的運算符及優(yōu)先級 。 按位與 從左到右 ^ 按位異或 從左到右 | 按位或 從左到右 2) 表達(dá)式的合法性 表達(dá)式在使用符號時 , 匯編器對符號在表達(dá)式中的使用具有一些限制 , 由于符號的屬性不同 (即定義不同 ), 使表達(dá)式存在合法性問題 。 外部符號是那些在一個模塊定義而被另一個模塊引用的符號。 含有乘、除法的表達(dá)式中只能使用絕對符號 (其值不能改變 )。 表 42 表達(dá)式符號的合法性 若 A為 … 若 B為 … 則 A+B為 … 則 A?B為 … 絕對 絕對 絕對 絕對 絕對 外部 外部 非法 絕對 可重新定位 可重新定位 非法 可重新定位 絕對 可重新定位 可重新定位 可重新定位 可重新定位 非法 絕對 可重新定位 外部 非法 非法 外部 絕對 外部 外部 外部 可重新定位 非法 非法 外部 外部 非法 非法 TMS320C54x偽指令 TMS320C54x偽指令給程序提供數(shù)據(jù) 、 控制匯編過程 。 (2) 為未初始化的變量保留存儲空間 。 (4) 存儲器初始化 。 (6) 定義全局變量 。 (8) 檢查符號調(diào)試信息 。 例如: .title “” end .end 結(jié)束偽指令 , 放在匯編語言源程序的最后 text .text[段起點 ] 包含可執(zhí)行程序代碼 data .data[段起點 ] 包含初始化數(shù)據(jù) int .int value1[, … , valuen] 設(shè)置 16位無符號整型量 word .word value1[, … , valuen] 設(shè)置 16位帶符號整型量 bss .bss 符號 , 字?jǐn)?shù) 為未初始化的變量保留存儲空間 sect .sect “段名 ” [, 段起點 ] 建立包含代碼和數(shù)據(jù)的自定義段 usect 符號 .usect “段名 ” , 字?jǐn)?shù) 為未初始化的變量保留存儲空間的自定義段 def .def 變量 1[, … , 變量 n] 在當(dāng)前模塊中定義 , 并可在別的模塊中使用 ref .ref 變量 1[, … , 變量 n] 在當(dāng)前模塊中使用 , 但在別的模塊中定義 global .global變量 1[, … , 變量 n] 可替代 ?.def和 ?.ref偽指令 mmregs .mmregs 定義存儲器映像寄存器的替代符號 1. 段定義偽指令 段定義偽指令有以下五個: ● .bss(未初始化段 ) ● .data(已初始化段 ) ● .sect(已初始化段 ) ● .text(已初始化段 ) ● .usect(未初始化段 ) 1) 未初始化段 .bss和 .usect命令建立未初始化段。 .usect偽指令與 .bss類似,但是它可以把預(yù)留空間與 .bss段分離。 這三條命令的句法如下: .text [段起點 ] .data [段起點 ] .sect 段名 ” [, 段起點 ] .text后是匯編語言程序的正文 。 .data后是已初始化數(shù)據(jù) , 有 int和 word兩種數(shù)據(jù)形式 。 .sect建立包含代碼和數(shù)據(jù)的自定義段,常用于定義中斷向量表。匯編器對這些保
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1