<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > C5402 DSP自舉引導(dǎo)方法的分析與研究

          C5402 DSP自舉引導(dǎo)方法的分析與研究

          作者: 時間:2009-03-26 來源:網(wǎng)絡(luò) 收藏

            .title ″example.asm″ ;源程序取名為example.asm

          STACK .usect ″STACK″,10h ;為名為STACK的堆棧預(yù)留16個單元

          .bss x, 4 ;在數(shù)據(jù)存儲器中為未初始

          .bss a, 4 化變量(續(xù)) x, a, y分別

          .bss y, 1 預(yù)留4,4,1個單元

          .def start ;

          .data ;以下為數(shù)據(jù)段

          table:.word 1, 2, 3, 4 ;在以標(biāo)號table開始的8個

          .word 8, 6, 4, 2 程序存儲單元中存放8個已初始化數(shù)據(jù)

          .text ;以下為程序段

          start: STM # STACK+10,SP ;設(shè)置堆棧指針

          STM # table, AR1 ;AR1指向table的首地址

          STM # x, AR2 ;AR2指向存放變量x的首地址

          STM # 7, AR0 ;AR0=7

          LD # 0, A ;A=0

          loop: LD *AR1+, A ;(AR1)→A, AR1=AR1+1

          STL A, *AR2+ ;A→(AR2) , AR2=AR2+1

          BANZ loop,*AR0- ;若AR0≠0,循環(huán),AR0=AR0-1

          CALL sum ;若AR0=0,調(diào)用sum子程序

          end: B end ;

          sum: LD #0, A ;A=0

          STM #a, AR3 ;AR3指向存放變量a的首地址

          STM #x, AR4 ;AR4指向存放變量x的首地址

          RPT #3 ;

          MAC *AR3+,*AR4+,A ;完成三次乘法累加運算

          STL A,@y ;將結(jié)果存入預(yù)留的數(shù)據(jù)存儲器中

          RET ;返回主程序

          .end ;結(jié)束匯編命令

            則生成的example.hex文件的內(nèi)容如表2所示。

          如果將example.hex的內(nèi)容燒寫至16位EPROM中,則其數(shù)據(jù)存儲器內(nèi)部組織結(jié)構(gòu)如表3所示。

          由表3 的EPROM數(shù)據(jù)組織結(jié)構(gòu)可看出,在0FFFFh地址處存放的是自舉表首地址8000h。從8000h處開始是16位自舉表的內(nèi)容。自舉表的第一個字是16位自舉標(biāo)記10AA,第二、三個字分別為寄存器SWWSR及BSCR的內(nèi)容。從第四個字開始分別是程序入口地址、各代碼段長度、存放各代碼段的目標(biāo)地址及各段代碼(本例含有程序段及數(shù)據(jù)段),最后為塊結(jié)束標(biāo)志0000h。這樣, 一個正確的自舉表就建立起來了。

            ’ 芯片為用戶提供了豐富靈活的自舉方式,用戶可根據(jù)各自的需求選擇不同的方式,其中并行自舉是最常用的方式之一。正確建立自舉表是充分利用功能的前提及關(guān)鍵。


          上一頁 1 2 3 4 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();