一本很好的匯編語言教程,跟大家一起分享 課程介紹 第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
運動控制技術是機電一體化的核心部分,提高運動控制技術水平對于提高我國的機電一體化技術具有至關重要的作用。運動控制技術的發展是制造自動化前進的旋律,是推動新的產業革命的關鍵技術。對于數控系統來說,最重要的是控制各個電機軸的運動,這是運動控制器接收并依照數控裝置的指令來控制各個電機軸運動從而實現數控加工的,數據加工中的定位控制精度、速度調節的性能等重要指標都與運動控制器直接相關。目前對數控系統的研究都集中在插入PC的NC控制器的研究上,而其核心部分就是對步進、伺服電機進行控制的運動控制卡的研究。對PC-NC來說,運動控制卡的性能很大程度上決定了整個數控系統的性能,而微電子和數字信號處理技術的發展及其應用,使運動控制卡的性能得到了不斷改進,集成度和可靠性大大提高。 本課題通過對運動控制技術的深入研究,并針對國內運動控制技術的研究起步較晚的現狀,結合當前運動控制領域的具體需要,緊跟當前運動控制技術研究的發展趨勢,吸收了數控技術和相關運動控制技術的最新成果,提出了基于PCI和FPGA的方案,研制了一款比較新穎的、功能強大的、具有很大柔性的四軸多功能運動控制卡。 本課題的具體研究主要有以下幾方面: 首先,通過對運動控制卡及運動控制系統等行業現狀的全面調研,和對運動控制技術的深入學習,在比較了幾種常用的運動控制方案的基礎上,提出了基于FPGA的運動控制設計方案,并規劃了板卡的總體設計。 其次,根據總體設計,規劃了板卡的結構,詳細劃分并實現了FPGA各部分的功能;利用光電隔離原理設計了數字輸入/輸出電路。 再次,利用FPGA的資源實現了PCI從設備接口,達到跟控制卡通信的目的,針對運動控制中的一些具體問題,如運動平穩性、實時控制以及多軸聯動等,在FPGA上設計了四軸運動控制電路,定義了各個寄存器的具體功能,設計了功能齊全的加/減速控制電路、變頻分配電路、倍頻分頻電路和三個功能各異的計數器電路等,自動降速點運動、A/B相編碼器倍頻計數電路等特殊功能。最后,進行了本運動控制卡的測試,從測試和應用結果來看,該卡達到預期的要求。
上傳時間: 2013-07-27
上傳用戶:zgu489
指紋識別是在指紋圖像上找到指紋的特征,通過計算機模糊比較的方法,把兩個指紋的特征模板進行比較,計算出它們的相似程度,最終得到兩個指紋的匹配結果。本文對現已存在的多種指紋識別算法進行編程比較,并對細化算法提出改進。同時采用基于ARM7TDMI內核的32位處理器S3C44B0作為主控制器,半導體電容傳感器FPS200作為指紋數據采集設備,構建了自動指紋識別系統。論文完成主要工作如下: 1、指紋采集模塊的設計:根據FPS200的相關寄存器資源和管腳特性,完成指紋傳感器FPS200的電路設計;研究FPS200主要寄存器的功能和圖像采集方式,給出FPS200在三種工作方式下的工作流程,并且對三種工作模式進行分析。 2、指紋識別算法研究:通過對現已存在的多種圖像預處理算法進行編程實現和對比研究發現,細化后的圖像多存在短線、斷線、毛刺等干擾以及細化不徹底的現象,為此提出了新的修復算法:分析目標點周圍紋線的走向趨勢,選擇去除或者保留周圍的相連點,較好地解決了細化不徹底的問題;再對細化后的圖像采用方形模板進行紋線跟蹤,去除偽特征點,克服了逐步遞進的紋線跟蹤算法過于復雜、不易實現等問題。 3、采用Sansung公司基于ARM7TDMI內核的32位RISC處理器S3C44B0,構建了自動指紋識別系統。該系統主要包括電源管理部分、指紋圖像采集模塊、存儲器模塊、JTAG調試接口以及與外設連接的串行接口。硬件部分主要完成指紋采集模塊接口的設計與開發,軟件部分主要完成指紋圖像采集程序、指紋識別算法程序和串口通信程序的開發,此外還通過串口實現指紋數據上傳到上位機,在VB環境下實現了簡易的人機交互軟件,提供指紋圖像的直觀顯示,用于對指紋識別程序進行測試,并對測試結果進行了分析。
上傳時間: 2013-05-22
上傳用戶:Andy123456
FPGA能夠減少電子系統的開發風險和開發成本,縮短上市時間,降低維護升級成本,廣泛地應用在電子系統中.隨著集成電路向著片上系統(SoC)的發展,需要設計出FPGA IP核用于SoC芯片的設計.該論文的工作圍繞FPGA IP核的設計進行,在FPGA結構設計優化和FPGAIP接口方案設計兩方面進行了研究.設計改進了適用于數據通路的FPGA新結構——FDP.設計改進了可編程邏輯單元(LC);對可編程連線作為"2層2類"的層次結構進行組織,進行了改進并確定了各種連線的通道寬度;結合對迷宮布線算法的分析以及benchmark電路實驗的方法,提出了用于分段式網格連線的開關盒和連接盒新結構,提高連線的面積利用效率.在FPGA IP核的接口方案上,基于邊界掃描測試電路提出了FPGA IP核的測試方案;結合擴展邊界掃描測試電路得到的編程功和自動下載電路,為FPGA IP核提供了具有兩種不同編程方法的編程接口.采用SMIC 0.35um 3層金屬CMOS工藝,實現了一個10萬系統門規模的FDP結構,并和編程、測試接口一起進行版圖設計,試制了FDP100k芯片.FDP100k中包括了32×32個LC,128個可編程IO單元.在FDP100k的芯片測試中,對編程寄存器、各種可編程資源進行測試,并完成電路實現、性能參數測試以及IP核接口的測試,結果表明FPGA IP核的整體功能正確.
標簽: FPGAIP
上傳時間: 2013-04-24
上傳用戶:gokk
JPEG2000是新一代的靜態圖像壓縮標準,它相比JPEG有很多新的特性,如漸進傳輸和感興趣區域編碼等,因而它具有廣闊的應用前景,特別是在數碼相機、PDA等便攜式設備中。 JPEG2000的核心主要包括小波變換和基于最優化截斷點的嵌入式塊編碼(EBCOT)算法,其計算復雜度遠遠高于JPEG,完全采用軟件方案實現將會占用大量的處理器時間和內存開銷,而且速度較慢,實時處理的能力較差。為了推廣JPEG2000在便攜式產品、消費類電子產品中的應用,打開巨大的潛在市場,研究硬件實現的算法實時處理方案具有重要的應用價值。 EBCOT算法是一個兩層的編碼引擎,其中的上下文編碼的運算量約占到總運算量的50%,是提高編碼速度的關鍵算法之一。由于上下文編碼大部分都是邏輯運算,沒有復雜的數學運算,但邏輯控制流程復雜繁瑣,對存儲器訪問頻繁,采用DSP或者其他的通用處理器通過指令控制實現該算法,未能顯著提高編碼速度。本文采用FPGA芯片,以電路邏輯的方式來實現該算法并進行優化,在研究和分析了上下文編碼算法運算特點的基礎上,設計了列判斷和交錯存儲相結合的硬件實現方案,并采用硬件描述語言Verilog在寄存器傳輸級描述了相應的硬件電路。通過功能仿真和邏輯綜合后,所獲得的上下文編碼模塊最大時鐘頻率為101MHz,且能在130ms內完成對一幅512×512灰度圖像的編碼,性能比Jasper軟件中的實現方案提高了75%。 JPEG2000的一個重要特性是其具有漸進傳輸的能力,而碼流組織是獲得漸進傳輸特性的技術關鍵。碼流組織通過在輸出碼流中安排數據包的先后順序來實現漸進傳輸的目的。本文對JPEG2000中實現漸進傳輸的機制進行了分析,并研究了碼流組織的算法實現。 為了對JPEG2000算法實現進行驗證,本文設計了基于FPGA和ARM的驗證實驗平臺,其中FPGA主要完成算法中運算量較大的小波變換、上下文編碼和算術編碼,而ARM處理器則完成碼流組織、數據打包以及和PC機的通信。本文在該平臺上對所設計的上下文編碼算法和碼流組織模塊的設計進行了驗證,實驗結果表明本文設計的算法模塊功能正確,并在一定程度上提高了編碼速度。
上傳時間: 2013-04-24
上傳用戶:獨孤求源
本文從AES的算法原理和基于ARM核嵌入式系統的開發著手,研究了AES算法的設計原則、數學知識、整體結構、算法描述以及AES存住的優點利局限性。 針對ARM核的體系結構及特點,對AES算法進行了優化設計,提出了從AES算法本身和其結構兩個方面進行優化的方法,在算法本身優化方面是把加密模塊中的字節替換運算、列混合運算和解密模塊中的逆列混合運算中原來的復雜的運算分別轉換為簡單的循環移位、乘和異或運算。在算法結構優化方面是在輸入輸山接口上采用了4個32位的寄存器對128bits數據進行了并行輸入并行輸出的優化設計;在密鑰擴展上的優化設計是采用內部擴展,即在進行每一輪的運算過程的同時算出下一輪的密鑰,并把下一輪的密鑰暫存在SRAM里,使得密鑰擴展與加/解密運算并行執行;加密和解密優化設計是將輪函數查表操作中的四個操作表查詢工作合并成一個操作表查詢工作,同時為了使加密代碼在解密代碼中可重用,節省硬件資源,在解密過程中采用了與加密相一致的過程順序。 根據上述的優化設計,基于ARM核嵌入式系統的ADS開發環境,提出了AES實現的軟硬件方案、AES加密模塊和解密模塊的實現方案以及測試方案,總結了基于ARM下的高效編程技巧及混合接口規則,在集成開發環境下對算法進行了實現,分別得出了初始密鑰為128bits、192bits和256bits下的加密與解密的結果,并得劍了正確驗證。在性能測試的過程中應用編譯器的優化選項和其它優化技巧優化了算法,使算法具有較高的加密速度。
上傳時間: 2013-04-24
上傳用戶:liansi
該課題通過對開放式數控技術的全面調研和對運動控制技術的深入研究,并針對國內運動控制技術的研究起步較晚的現狀,結合激光雕刻領域的具體需要,緊跟當前運動控制技術研究的發展趨勢,吸收了世界開放式數控技術和相關運動控制技術的最新成果,采納了基于DSP和FPGA的方案,研制了一款比較新穎的、功能強大的、具有很大柔性的四軸多功能運動控制卡.該論文主要內容如下:首先,通過對制造業、開放式數控系統、運動控制卡等行業現狀的全面調研,基于對運動系統控制技術的深入學習,在比較了幾種常用的運動控制方案的基礎上,確定了基于DSP和FPGA的運動控制設計方案,并規劃了板卡的總體結構.其次,針對運動控制中的一些具體問題,如高速、高精度、運動平穩性、實時控制以及多軸聯動等,在FPGA上設計了功能相互獨立的四軸運動控制電路,仔細規劃并定義了各個寄存器的具體功能,設計了功能完善的加/減速控制電路、變頻分配電路、倍頻分頻電路和三個功能各異的計數器電路等,完全實現了S-曲線升降速運動、自動降速點運動、A/B相編碼器倍頻計數電路等特殊功能.再次,介紹了DSP在運動控制中的作用,合理規劃了DSP指令的形成過程,并對DSP軟件的具體實現進行了框架性的設計.然后,根據光電隔離原理設計了數字輸入/輸出電路;結合DAC原理設計了四路模擬輸出電路;實現了PCI接口電路的設計;并針對常見的干擾現象,提出了有效的抗干擾措施.最后,利用運動控制卡強大的運動控制功能,并針對激光雕刻行業進行大幅圖形掃描時需要實時處理大量的圖形數據的特別需要,在板卡第四軸完全實現了激光控制功能,并基于FPGA內部的16KBit塊RAM,開辟了大量數據區以便進行大幅圖形的實時處理.
上傳時間: 2013-06-09
上傳用戶:youlongjian0
· 摘要: MATLAB是一種建立在向量、數組、矩陣基礎上,面向科學和工程計算的高級語言,為科學研究和工程計算提供了一個方便有效的工具.該文簡要介紹了B樣條和B樣條小波的構成,并利用MATLAB語言編寫了繪制任意階B樣條和B樣條小波圖形的程序.
上傳時間: 2013-04-24
上傳用戶:sqq
·內容簡介 本書從51系列單片機的一般知識出發,將ARM處理器和51系列單片機進行對比,引導讀者去理解和學習ARM處理器的知識。內容分為3部分:第1部分是前4章,從大家所熟悉的51系列單片機的基礎知識開始,介紹ARM處理器的基本知識,包括ARM和51系列的對比、中斷處理系統、寄存器和存儲器結構等;第2部分是5~9章,詳細比較ARM指令和51系列指令之間
上傳時間: 2013-07-21
上傳用戶:WANGXIAN001
AVR/51 progisp下載器及其USBasp驅動(包含xp/win7 32/64位)
上傳時間: 2013-07-17
上傳用戶:waizhang