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

正文內(nèi)容

dsp匯編語言程序設(shè)計(存儲版)

2025-02-11 18:06上一頁面

下一頁面
  

【正文】 .text start: STM 0 , SWWSR 。 分支結(jié)構(gòu)程序 程序的分支主要是靠條件轉(zhuǎn)移指令來實現(xiàn)的。 零等待狀態(tài) STM STACK+10H, SP 。 ③ 循環(huán)控制部分是循環(huán)程序設(shè)計的關(guān)鍵 。 開辟堆??臻g .bss x, 4 。 雖然 TMS320C54x是定點 DSP, 但它可通過以下 3條指令支持浮點運算: EXP A ST T, EXPONENT NORM A 假設(shè)定點數(shù)放在 A中 , 這樣就可以將定點數(shù)轉(zhuǎn)換為浮點數(shù)了 。 匯編器的功能如下: ● 將匯編語言源程序匯編成一個可重新定位的目標(biāo)文件 ( .obj文件 )。 建立公共目標(biāo)文件格式 的 目標(biāo)文件 匯編器 和 鏈接器 功能 的異同 相同點 不同點 匯編器 建立的是 相 對 地 址COFF 文件 ,即 .obj文件 鏈接器 建立的是 絕 對 地 址COFF 文件 ,即 .out文件 匯編器根據(jù)匯編命令用適當(dāng)?shù)亩螌⒏鞑糠殖绦虼a和數(shù)據(jù)連在一起,構(gòu)成目標(biāo)文件; 鏈接器的一個任務(wù)就是分配存儲單元,即把各個段重新定位到目標(biāo)存儲器中。 .def: 在當(dāng)前模塊中定義 , 并可在別的模塊中使用的符號 。 注意 ( 1) 未初始化段 未初始化段由 .bss和 .usect命令建立 位置 為變量 保留存儲器空間 作用 通常將它們定位到 RAM區(qū) 使用方法 .bss 符號 , 字?jǐn)?shù) 符號 .usect “段名 ” , 字?jǐn)?shù) 對應(yīng)于保留的存儲空間第一個字的變量名稱 程序員為自定義未初始化段起的名字 ( 2) 已初始化段 已初始化段是由 .text、 .data的 .sect命令建立 位置 包含有可執(zhí)行代碼或初始化數(shù)據(jù) 作用 通常將它們定位到 EPROM區(qū) 使用方法 .text [段起點 ] .data [段起點 ] .sect “段名 ” [, 段起點 ] 段程序計數(shù)器( SPC)定義的一個起始值。 下面給出了一個列表文件的例子 , 用來說明在匯編過程中段偽指令在不同的段之間來回交換 , 逐步建立 COFF段的過程和 SPC的修改過程 。 39 ****************************************** 40 ** Define a named section for int. vectors. ** 41 ****************************************** 42 0000 .sect vectors 43 0000 0011 .word 011H, 033H 44 0001 0033 此例共生成五個段: ① .text:包含 10個字的目標(biāo)代碼 。19L i n e N u m b e r s202021363737383821S e c t i o n. t e x t00110022003301230 0 A A0 0 B B0 0 C C66614262626. d a t a001100334344v e c t o r sN o d a t a1 0 w o r d sr e s e r v e dN o d a t a8 t w o r d sr e s e r v e d103031. b s sn e w v a r s 鏈 接 器 鏈接器的功能如下: ● 將各個段配置到目標(biāo)系統(tǒng)的存儲器中 。 其二 , 將輸出段定位到實際的存儲空間中 。 ( 1) MEMORY命令 功 能 MEMORY { PAGE 0: name 1 [( attr) ]: origin=constant, length=constant ┆ PAGE n: name n [( attr) ]: origin=constant, length=constant } MEMORY命令的一般句法 對一個存儲空間加以標(biāo)記 , 每一個 PAGE代表一個完全獨立的地址空間 。 如果有選項 ,應(yīng)寫在括號內(nèi) 。 X 規(guī)定存儲器可以裝入可執(zhí)行的程序代碼 。 /* Example mand file with MEMORY directive */ /* Input files */ o /* Options */ MEMORY { PAGE0: ROM: origin=cooh, length=1000h PAGE1: SCRTCH: origin=60h, length=20h ONCHIP: origin=80h, length=200h } 名為 ROM的 程序存儲器: 4K字 ROM,起始地址 C00h。 句法: load=allocation 或 者 用 大 于 號 代 替“ load=” allocation 或者省掉 “ load=” allocation 其中 allocation是關(guān)于輸出段地址的說明 , 即給輸出段分配存儲單元 。一次是設(shè)置加載地址 , 另一次是設(shè)置運行地址 。 ● 調(diào)整對重新定位后符號的引用 。 : .bss和 .usect段重新定位 。 (1) 編寫向量文件 。 一個沒有重定位入口的文件稱為絕對文件,它的所有地址都是絕對地址。 : .data段重新定位 。事實上 , 所有段都不可能從存儲器中的 0地址開始 , 因此鏈接器必須通過下列方法對各個段進(jìn)行重新定位: ● 將各個段定位到存儲器圖中 , 使每個段有合適的起始地址 。 通常 ,這兩個地址是相同的 , 可以認(rèn)為每個輸出段只有一個地址 。 段名后面是一行說明段的內(nèi)容和如何給段分配存儲單元的性能參數(shù) 。 如 fill=0FFFFh。 R 規(guī)定可以對存儲器執(zhí)行讀操作 。 不同 PAGE上的存儲器區(qū)間可以取相同的名字 , 但在同一 PAGE內(nèi)的名字不能相同 , 且不許重疊配置 。輸入 /輸出定義這部分包括輸入文件名 (目標(biāo)文件 .obj、庫文件 .lib和交叉索引文件 .map)、輸出文件 .out和鏈接器選項。 鏈接器對段的處理 鏈接器對段的處理具有兩個功能 。 圖 43 目標(biāo)代碼 100FF 0 1 00001O b j e c t C o d eF 8 4 2000139。 2 ***************************************** 3 ** Assemble an initialized table into .data. ** 4 ********************************************** 5 0000 .data 6 0000 0011 011H, 022H, 033H 0001 0022 0002 0033 7 ****************************************** 8 ** Reserve space in .bss for a variable. ** 9 ****************************************** 10 0000 .bss buffer, 10 11 ******************************************** 12 ** Still in .data. ** 13 ******************************************** 14 0003 0123 ptr .word 0123H 15 ******************************************** 16 ** Assemble code into the .text section. ** 17 ******************************************** 18 0000 .text 19 0000 100F add: LD 0FH, A 20 0001 F010 aloop: SUB 1, A 0002 0001 21 0003 F842 BC aloop, AGEQ 0004 000139。 當(dāng)匯編器遇到 .bss, .usect偽指令時 , 匯編器暫時脫離當(dāng)前段 , 隨后的程序代碼或數(shù)據(jù)仍將順序編譯進(jìn)當(dāng)前段 。 z在這里引用 , 它在別的模塊中定義 。 一個目標(biāo)文件中的每一個段都是分開的和不相同的 。 ● 支持宏功能 , 允許定義宏命令 。 ************************************************ * x1*x2=* () * ************************************************ .title .mmregs STACK .usect STACK, 10H .bss x1, 1 .bss x2, 1 .bss e1, 1 .bss m1, 1 .bss e2, 1 .bss m2, 1 .bss ep, 1 .bss mp, 1 .bss product, 1 .bss temp, 1 .def start .data table: .word 4*32768/10 .word 6*32768/10 .text start: STM 0, SWWSR STM STACK+10H, SP ;設(shè)置堆棧指針 MVPD table, x1 ;將 x x2傳送至數(shù)據(jù)存儲器 MVPD table+1, x2 LD x1, 16, A ;先將 x1加載至 A(31~ 16位 ), 因小數(shù)在高位 EXP A ;提取指數(shù) ST T, e1 ;保存 x1的指數(shù) NORM A ;將 x1規(guī)格化為浮點數(shù) , 求得尾數(shù) STH A, m1
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1