一本很好的匯編語言教程,跟大家一起分享 課程介紹 第1章 預備知識 1.1 匯編語言的由來及其特點 1 機器語言 2 匯編語言 3 匯編程序 4 匯編語言的主要特點 5 匯編語言的使用領域 1.2 數據的表示和類型 1 數值數據的表示 2 非數值數據的表示 3 基本的數據類型 1.3 習題 第2章 CPU資源和存儲器 2.1 寄存器組 1 寄存器組 2 通用寄存器的作用 3 專用寄存器的作用 2.2 存儲器的管理模式 1 16位微機的內存管理模式 2 32位微機的內存管理模式 2.3 習題 第3章 操作數的尋址方式 3.1 立即尋址方式 3.2 寄存器尋址方式 3.3 直接尋址方式 3.4 寄存器間接尋址方式 3.5 寄存器相對尋址方式 3.6 基址加變址尋址方式 3.7 相對基址加變址尋址方式 3.8 32位地址的尋址方式 3.9 操作數尋址方式的小結 3.10 習題 第4章 標識符和表達式 4.1 標識符 4.2 簡單內存變量的定義 1 內存變量定義的一般形式 2 字節變量 3 字變量 4 雙字變量 5 六字節變量 6 八字節變量 7 十字節變量 4.3 調整偏移量偽指令 1 偶對齊偽指令 2 對齊偽指令 3 調整偏移量偽指令 4 偏移量計數器的值 4.4 復合內存變量的定義 1 重復說明符 2 結構類型的定義 3 聯合類型的定義 4 記錄類型的定義 5 數據類型的自定義 4.5 標號 4.6 內存變量和標號的屬性 1 段屬性操作符 2 偏移量屬性操作符 3 類型屬性操作符 4 長度屬性操作符 5 容量屬性操作符 6 強制屬性操作符 7 存儲單元別名操作符 4.7 表達式 1 進制偽指令 2 數值表達式 3 地址表達式 4.8 符號定義語句 1 等價語句 2 等號語句 3 符號名定義語句 4.9 習題 第5章 微機CPU的指令系統 5.1 匯編語言指令格式 1 指令格式 2 了解指令的幾個方面 5.2 指令系統 1 數據傳送指令 2 標志位操作指令 3 算術運算指令 4 邏輯運算指令 5 移位操作指令 6 位操作指令 7 比較運算指令 8 循環指令 9 轉移指令 10 條件設置字節指令 11 字符串操作指令 12 ASCII-BCD碼調整指令 13 處理器指令 5.3 習題 第6章 程序的基本結構 6.1 程序的基本組成 1 段的定義 2 段寄存器的說明語句 3 堆棧段的說明 4 源程序的結構 6.2 程序的基本結構 1 順序結構 2 分支結構 3 循環結構 6.3 段的基本屬性 1 對齊類型 2 組合類型 3 類別 4 段組 6.4 簡化的段定義 1 存儲模型說明偽指令 2 簡化段定義偽指令 3 簡化段段名的引用 6.5 源程序的輔助說明偽指令 1 模塊名定義偽指令 2 頁面定義偽指令 3 標題定義偽指令 4 子標題定義偽指令 6.6 習題 第7章 子程序和庫 7.1 子程序的定義 7.2 子程序的調用和返回指令 1 調用指令 2 返回指令 7.3 子程序的參數傳遞 1 寄存器傳遞參數 2 存儲單元傳遞參數 3 堆棧傳遞參數 7.4 寄存器的保護與恢復 7.5 子程序的完全定義 1 子程序完全定義格式 2 子程序的位距 3 子程序的語言類型 4 子程序的可見性 5 子程序的起始和結束操作 6 寄存器的保護和恢復 7 子程序的參數傳遞 8 子程序的原型說明 9 子程序的調用偽指令 10 局部變量的定義 7.6 子程序庫 1 建立庫文件命令 2 建立庫文件舉例 3 庫文件的應用 4 庫文件的好處 7.7 習題 第8章 輸入輸出和中斷 8.1 輸入輸出的基本概念 1 I/O端口地址 2 I/O指令 8.2 中斷 1 中斷的基本概念 2 中斷指令 3 中斷返回指令 4 中斷和子程序 8.3 中斷的分類 1 鍵盤輸入的中斷功能 2 屏幕顯示的中斷功能 3 打印輸出的中斷功能 4 串行通信口的中斷功能 5 鼠標的中斷功能 6 目錄和文件的中斷功能 7 內存管理的中斷功能 8 讀取和設置中斷向量 8.4 習題 第9章 宏 9.1 宏的定義和引用 1 宏的定義 2 宏的引用 3 宏的參數傳遞方式 4 宏的嵌套定義 5 宏與子程序的區別 9.2 宏參數的特殊運算符 1 連接運算符 2 字符串整體傳遞運算符 3 字符轉義運算符 4 計算表達式運算符 9.3 與宏有關的偽指令 1 局部標號偽指令 2 取消宏定義偽指令 3 中止宏擴展偽指令 9.4 重復匯編偽指令 1 偽指令REPT 2 偽指令IRP 3 偽指令IRPC 9.5 條件匯編偽指令 1 條件匯編偽指令的功能 2 條件匯編偽指令的舉例 9.6 宏的擴充 1 宏定義形式 2 重復偽指令REPEAT 3 循環偽指令WHILE 4 循環偽指令FOR 5 循環偽指令FORC 6 轉移偽指令GOTO 7 宏擴充的舉例 8 系統定義的宏 9.7 習題 第10章 應用程序的設計 10.1 字符串的處理程序 10.2 數據的分類統計程序 10.3 數據轉換程序 10.4 文件操作程序 10.5 動態數據的編程 10.6 COM文件的編程 10.7 駐留程序 10.8 程序段前綴及其應用 1 程序段前綴的字段含義 2 程序段前綴的應用 10.9 習題 第11章 數值運算協處理器 11.1 協處理器的數據格式 1 有符號整數 2 BCD碼數據 3 浮點數 11.2 協處理器的結構 11.3 協處理器的指令系統 1 操作符的命名規則 2 數據傳送指令 3 數學運算指令 4 比較運算指令 5 超越函數運算指令 6 常數操作指令 7 協處理器控制指令 11.4 協處理器的編程舉例 11.5 習題 第12章 匯編語言和C語言 12.1 匯編語言的嵌入 12.2 C語言程序的匯編輸出 12.3 一個具體的例子 12.4 習題 附錄
上傳時間: 2013-07-05
上傳用戶:hw1688888
作為性能優異的糾錯編碼,Turbo碼自誕生以來就一直受到理論界以及工程應用界的關注。TD—SCDMA是我國擁有自主知識產權的3G通信標準,該標準把Turbo碼是作為前向糾錯體制,但Turbo碼的譯碼算法比較復雜并且需要多次迭代,這造成Turbo碼譯碼延時大,譯碼速度慢,因此限制了Turbo碼的實際應用。因此有必要研究如何將現有的Turbo碼譯碼算法進行簡化,加速,使其轉化成為適合在硬件上實現的算法,將實驗室的理論研究成果轉化成為硬件產品。 論文主要的研究內容有以下兩點: 其一,提出信道自適應迭代譯碼方案。在事先設定最大迭代次數的情況下,自適應Turbo碼譯碼算法能夠根據信道的變化自動調整迭代次數。 仿真結果表明:該自適應迭代譯碼方案能夠根據信道的變化自動調整迭代次數,在保證譯碼性能基本上沒有損失的情況下,有效減少譯碼時間,明顯提高譯碼速度。 其二,根據得到的信道自適應迭代譯碼方案,借助Xilinx公司Spartan3 FPGA硬件平臺,使用Verilog硬件描述語言,將用C/C++語言寫成的信道自適應迭代譯碼算法轉化成為硬件設計實現,得到硬件電路,并對得到的譯碼器硬件電路進行測試。 測試結果表明:隨著信道的變化,硬件電路的譯碼速度也隨之自動變化,信噪比越高譯碼速度越快,并且硬件譯碼器性能(誤比特率)與實驗仿真基本一致。
上傳時間: 2013-05-31
上傳用戶:huyiming139
隨著信息時代的到來,用戶對數據保護和傳輸可靠性的要求也在不斷提高。由于信道衰落,信號經信道傳輸后,到達接收端不可避免地會受到干擾而出現信號失真。因此需要采用差錯控制技術來檢測和糾正由信道失真引起的信息傳輸錯誤。RS(Reed—Solomon)碼是差錯控制領域中一類重要的線性分組碼,由于它編解碼結構相對固定,性能強,不但可以糾正隨機差錯,而且對突發錯誤的糾錯能力也很強,被廣泛應用在數字通信、數據存儲系統中,以滿足對數據傳輸通道可靠性的要求。因此設計一款高性能的RS編解碼器不但具有很大的應用意義,而且具有相當大的經濟價值。 本文首先介紹了線形分組碼及其子碼循環碼、BCH碼的基礎理論知識,重點介紹了BCH碼的重要分支RS碼的常用編解碼算法。由于其算法在有限域上進行,接著介紹了有限域的有關理論。基于RS碼傳統的單倍結構,本文提出了一種八倍并行編碼及九倍并行解碼方案,并用Verilog HDL語言實現。其中編碼器基于傳統的線性反饋移位寄存器除法電路并進行八倍并行擴展,譯碼器關鍵方程求解模塊基于修正的歐幾里德算法設計了一種便于硬件實現的脈動關鍵方程求解結構,其他模塊均采用九倍并行實現。由于進行了超前運算、流水線及并行處理,使編解碼的數據吞吐量大為提高,同時延時更小。 本論文設計了C++仿真平臺,并與HDL代碼結果進行了對比驗證。Verilog HDL代碼經過modelsim仿真驗證,并在ALTERA STRATIX3 EP3SL15OF1152C2 FPGA上進行綜合驗證以及靜態時序分析,綜合軟件為QUATURSⅡ V8.0。驗證及測試表明,本設計在滿足編解碼基本功能的基礎上,能夠實現數據的高吞吐量和低延時傳輸,達到性能指標要求。本論文在基于FPGA的RS(255,223)編解碼器的高速并行實現方面的研究成果,具有通用性、可移植性,有一定的理論及經濟價值。
上傳時間: 2013-04-24
上傳用戶:思琦琦
MP3音樂是目前最為流行的音樂格式,因其音質、復雜度與壓縮比的完美折中,占據著廣闊的市場,不僅在互聯網上廣為流傳,而且在便攜式設備領域深受人們喜愛。本文以MPEG-1的MP3音頻解碼器為研究對象,在實時性、面積等約束條件下,研究MP3解碼電路的設計方法,實現FPGA原型芯片,研究MP3原型芯片的驗證方法。 論文的主要貢獻如下: (1)使用算法融合方法合并MP3解碼過程的相關步驟,以減少緩沖區存儲單元的容量和訪存次數。如把重排序步驟融合到反量化模塊,可以減少一半的讀寫RAM操作;把IMDCT模塊內部的三個算法步驟融合在一起進行設計,可以省去存儲中間計算結果的緩存區單元。 (2)反量化、立體聲處理等模塊中,采用流水線設計技術,設置寄存器把較長的組合邏輯路徑隔開,提高了電路的性能和可靠性;使用連續訪問公共緩存技術,合理規劃各計算子模塊的工作時序,將數據計算的時間隱藏在訪存過程中;充分利用頻率線的零值區特性,有效地減少數據計算量,加快了數據處理的速度。 (3)設計了MP3硬件解碼器的FPGA原型芯片。采用Verilog HDL硬件描述語言設計RTL級電路,完成功能仿真,以Altera公司Stratix II系列的EP2S180 FPGA開發板為平臺,實現MP3解碼器的FPGA原型芯片。MP3硬件解碼器在Stratix II EP2S180器件內的資源利用率約為5%,其中組合邏輯查找表ALUT為7189個,寄存器共有4024個,系統頻率可達69.6MHz,充分滿足了MP3解碼過程的實時性要求。實驗結果表明,MP3音頻解碼FPGA原型芯片可正常播放聲音,解碼音質良好。
上傳時間: 2013-07-01
上傳用戶:xymbian
衛星導航定位系統可以為公路、鐵路、空中和海上的交通運輸工具提供導航定位服務。它能夠軍民兩用,戰略作用與商業利益并舉。只要持有便攜式接收機,則無論身處陸地、海上還是空中,都能收到衛星發出的特定信號。接收機選取至少四顆衛星發出的信號進行分析,就能確定接收機持有者的位置。 GPS導航定位接收機的理論基礎即是擴頻通信理論,擴頻通信技術與常規的通信技術相比,具有低截獲率,強抗噪聲,抗干擾性,具有信息隱蔽和多址通信等特點,目前己從軍事領域向民用領域迅速發展,成為進入信息時代的高新技術通信傳輸方式之一。擴頻通信技術中,最常見的是直接序列擴頻通信(DSSS)系統,本文所研究的就是這一類系統。 目前在衛星信號的捕獲上一般使用兩種方法:順序捕獲方法(時域法,基于大規模并行相關器)和并行捕獲方法(頻域法,基于FFT)。本文在第二章分別分析了現有順序捕獲和并行捕獲技術的原理,并給出了它們的優缺點。 本文第三章對長碼的直接捕獲進行了深入的研究,基于對國內外相關文獻中長碼直捕方法的分析與對比,并且結合在實際過程中硬件資源需求的考慮,應用了基于分段補零循環相關和FFT搜索頻偏的直捕方法。此方法大大減少了計算量,加快了信號捕獲的速度。本方法利用FFT實現接收信號與本地長碼的并行相關,同時完成頻偏的搜索,將傳統的二維搜索轉換為并行的一維搜索,從而能快速實現長碼捕獲。 GPS信號十分微弱,靈敏度低,在戰場環境下,GPS接收機會面臨各種人為的干擾。如何從復雜的干擾信號中實現對GPS信號的捕獲,即抗干擾技術的研究,是GPS也是本文研究一個的方面。第四章即研究了GPS接收機干擾抑制算法,在強干擾環境下,需要借助信號處理技術在不增加信號帶寬的條件下提高系統的抗干擾能力,以保證后續捕獲跟蹤模塊有充足的處理增益。 本文在第五章給出了GPS接收機長碼捕獲以及干擾抑制的FPGA實現方案,并對各主要子模塊進行了詳細地分析。基本型接收機中長碼捕獲采用頻域方法,選用Altera StratixⅡ EP2S180芯片實現;抗干擾型接收機中選用Xilinx xc4vlx100芯片。實現了各模塊的單獨測試和整個系統的聯調,通過聯調驗證,本文提出的長碼直接捕獲方法正確、可行。 本文提出的長碼直捕方法可以在不需要C/A碼輔助捕獲下完成對長碼的直接捕獲,可以應用于GPS接收機,監測站接收機的同步等,對我國自主研發導航定位接收機也有重大的現實及經濟意義。
上傳時間: 2013-06-18
上傳用戶:wang5829
隨著數字時代的到來,信息化程度的不斷提高,人們相互之間的信息和數據交換日益增加。正交幅度調制器(QAM Modulator)作為一種高頻譜利用率的數字調制方式,在數字電視廣播、固定寬帶無線接入、衛星通信、數字微波傳輸等寬帶通信領域得到了廣泛應用。 近年來,集成電路和數字通信技術飛速發展,FPGA作為集成度高、使用方便、代碼可移植性等優點的通用邏輯開發芯片,在電子設計行業深受歡迎,市場占有率不斷攀升。本文研究基于FPGA與AD9857實現四路QAM調制的全過程。FPGA實現信源處理、信道編碼輸出四路基帶I/Q信號,AD9857實現對四路I/Q信號的調制,輸出中頻信號。本文具體內容總結如下: 1.介紹國內數字電視發展狀況、國內國際的數字電視標準,并詳細介紹國內有線電視的系統組成及QAM調制器的發展過程。 2.研究了QAM調制原理,其中包括信源編碼、TS流標準格式轉換、信道編碼的原理及AD9857的工作原理等。并著重研究了信道編碼過程,包括能量擴散、RS編碼、數據交織、星座映射與差分編碼等。 3.深入研究了基于FPAG與AD9857電路設計,其中包括詳細研究了FPGA與AD9857的電路設計、在allegro下的PCB設計及光繪文件的制作,并做成成品。 4.簡單介紹了FPGA的開發流程。 5.深入研究了基于FPAG代碼開發,其中主要包括I2C接口實現,ASI到SPI的轉換,信道編碼中的TS流包處理、能量擴散、RS編碼、數據交織、星座映射與差分編碼的實現及AD9857的FPGA控制使其實現四路QAM的調制。 6.介紹代碼測試、電路測試及系統指標測試。 最終系統指標測試表明基于FPGA與AD9857的四路DVB-C調制器基本達到了國標的要求。
上傳時間: 2013-04-24
上傳用戶:sn2080395
在數字電視系統中,MPEG-2編碼復用器是系統傳輸的核心環節,所有的節目、數據以及各種增值服務都是通過復用打包成傳輸流傳輸出去。目前,只有少數公司掌握復用器的核心算法技術,能夠采用MPEG-2可變碼率統計復用方法提高帶寬利用率,保證高質量圖像傳輸。由于目前正處廣播電視全面向數字化過渡期間,市場潛力巨大,因此對復用器的研究開發非常重要。本文針對復用器及其接口技術進行研究并設計出成形產品。 文中首先對MPEG-2標準及NIOS Ⅱ軟核進行分析。重點研究了復用器中的部分關鍵技術:PSI信息提取及重構算法、PID映射方法、PCR校正及CRC校驗算法,給出了實現方法,并通過了硬件驗證。然后對復用器中主要用到的AsI接口和DS3接口進行了分析與研究,給出了設計方法,并通過了硬件驗證。 本文的主要工作如下: ●首先對復用器整體功能進行詳細分析,并劃分軟硬件各自需要完成的功能。給出復用器的整體方案以及ASI接口和DS3接口設計方案。 ●在FPGA上采用c語言實現了PSI信息提取與重構算法。 ●給出了實現快速的PID映射方法,并根據FPGA特點給出一種新的PID映射方法,減少了邏輯資源的使用,提高了穩定性。 ●采用Verilog設計了SI信息提取與重構的硬件平臺,并用c語言實現了SDT表的提取與重構算法,在FPGA中成功實現了動態分配內存空間。 ●在FPGA上實現了.ASI接口,主要分析了位同步的實現過程,實現了一種新的快速實現字節同步的設計。 ●在FPGA上實現了DS3接口,提出并實現了一種兼容式DS3接口設計。并對幀同步設計進行改進。 ●完成部分PCB版圖設計,并進行調試監測。 本復用器設計最大特點是將軟件設計和硬件設計進行合理劃分,硬件平臺及接口采用Verilog語言實現,PSI信息算法主要采用c語言實現。這種軟硬件的劃分使系統設計更加靈活,且軟件設計與硬件設計可同時進行,極大的提高了工作效率。 整個項目設計采用verilog和c兩種語言完成,采用Altera公司的FPGA芯片EP1C20,在Quartus和NIOS IDE兩種設計平臺下設計實現。根據此方案已經開發出兩臺帶有ASI和DS3接口的數字電視TS流復用器,經測試達到了預期的性能和技術指標。
上傳時間: 2013-08-03
上傳用戶:gdgzhym
用C寫的PID模塊,以簡潔的代碼量完成了PID算法,提高了速度。
上傳時間: 2013-06-07
上傳用戶:快樂的小糗糗
本課題完成了基于FPGA的數據采集器以及IIC總線的模數轉換器部分、通訊部分的電路設計。其中FPGA采用Xilinx公司Spartan-Ⅱ系列的XC2S100芯片,在芯片中嵌入32位軟處理器MicroBlaze;ⅡC總線的模數轉換采用Microchip公司的MCP3221芯片,通訊部分則在FPGA片內用VHDL語言實現。通過上述設計實現了“準單片化”的模擬量和數字量的數據采集和處理。 所設計的數據采集器可以和結構類似的上位機通訊,本課題完成了在上位機中用VHDL語言實現的通信電路模塊。通過上述兩部分工作,將微處理器、數據存儲器、程序存儲器等數字邏輯電路均集成在同一個FPGA內部,形成一個可編程的片上系統。FPGA片外僅為模擬器件和開關量驅動芯片。FPGA內部的硬件電路采用VHDL語言編寫;MCU軟核工作所需要的程序采用C語言編寫。多臺數據采集器與服務器構成數據采集系統。服務器端軟件用VB開發,既可以將實時采集的數據以數字方式顯示,也可以用更加直觀的曲線方式顯示。 由于數據采集器是所有自控類系統所必需的電路模塊,所以一個通用的片上系統設計可以解決各類系統的應用問題,達到“設計復用”(DesignReuse)的目的。采用基于FPGA的SOPC設計的更加突出的優點是不必更換芯片就可以實現設計的改進和升級,同時也可以降低成本和提高可靠性。
上傳時間: 2013-07-12
上傳用戶:a155166
TMS320LF240x DSP C語言開發應用,其中有svpwm控制變頻器程序
上傳時間: 2013-04-24
上傳用戶:xoxoliguozhi