C語言中文網 目錄
首頁 > 匯編語言 閱讀:2,701

匯編語言入門教程:匯編語言程序設計指南(精講版)

匯編語言入門教程封面圖標匯編語言是一種最低級、最古老、不具有移植性的編程語言,它能夠直接訪問計算機硬件,所以執行效率極高,占用資源極少,一般用于嵌入式設備、驅動程序、實時應用、核心算法等。

匯編語言的缺點是開發周期特別長,實現一個簡單的功能都非常麻煩,已經很少用來編寫應用程序了。

這套匯編語言入門教程基于 Windows 32/64 位系統,講解與 Intel 和 AMD 處理器相兼容的匯編語言程序設計,讓大家認識機器的思維。

讀者應該至少能夠熟練使用一種高級程序設計語言,比如 JavaCPythonC++ 等,直接學習匯編語言將非常吃力。

優質學習資源推薦:匯編語言入門教程簡明版(阮一峰博客)匯編語言程序設計視頻教程(百度云下載)
第1章 匯編語言基本概念簡介
1.匯編語言是什么
2.匯編語言的應用
3.虛擬機是什么
4.匯編語言的數據表示
5.二進制整數
6.二進制加法運算
7.字節(byte)
8.十六進制整數
9.補碼及進制轉換
10.二進制減法運算
11.字符在計算機中是如何表示的
12.匯編語言布爾表達式
第2章 x86處理器架構
1.CPU處理器架構
2.32位x86處理器架構
3.x86-64處理器架構
4.x86計算機組件
5.I/O輸入輸出系統
第3章 匯編語言基礎
1.第一個匯編語言程序
2.匯編語言常量
3.匯編語言保留字
4.匯編語言標識符
5.匯編語言偽指令
6.匯編語言指令
7.匯編語言整數加減法示例
8.匯編器
9.數據類型以及數據定義
10.等號偽指令
11.計算數組和字符串長度
12.EQU偽指令
13.TEXTEQU偽指令
14.匯編語言64位編程
第4章 數據操作相關運算符和指令
1.操作數類型
2.MOV指令
3.MOVZX和MOVSX指令
4.LAHF和SAHF指令
5.XCHG指令
6.直接偏移量操作數
7.匯編語言數據傳送示例
8.加法和減法詳解
9.OFFSET運算符
10.ALIGN偽指令
11.PTR運算符
12.TYPE運算符
13.LENGTHOF運算符
14.LABEL偽指令
15.間接尋址
16.JMP和LOOP指令
17.64位MOV指令
18.64位加法和減法
第5章 匯編語言過程
1.匯編語言堆棧簡介
2.匯編語言運行時堆棧
3.PUSH和POP指令
4.PROC和ENDP偽指令
5.CALL和RET指令
6.過程調用嵌套
7.示例:整數數組求和
8.USES運算符
9.鏈接庫簡介
10.Irvine32鏈接庫
11.Irvine32鏈接庫過程詳細說明
12.Irvine64鏈接庫
第6章 匯編語言條件判斷
1.布爾和比較指令簡介
2.AND指令
3.OR指令
4.位向量(位映射)
5.XOR指令
6.NOT(反碼)指令
7.TEST指令
8.CMP(比較)指令
9.置位和清除單個CPU標志位
10.64位模式下的布爾指令
11.條件跳轉簡介
12.條件跳轉指令匯總
13.條件跳轉應用及示例
14.LOOPZ和LOOPE指令
15.LOOPNZ和LOOPNE指令
16.使用匯編語言實現IF語句
17.使用匯編語言實現邏輯表達式
18.使用匯編語言實現WHILE循環
19.表驅動選擇
20.有限狀態機
21.條件控制流偽指令
22..IF、.ELSE、.ELSEIF、.ENDIF偽指令
23.用.REPEAT和.WHILE實現循環
第7章 匯編語言整數運算
1.移位和循環移位指令簡介
2.SHL(左移)指令
3.SHR(右移)指令
4.SAL和SAR指令
5.ROL(循環左移)指令
6.ROR(循環右移)指令
7.RCL和RCR指令
8.SHLD和SHRD指令
9.移位和循環移位的應用
10.MUL指令
11.IMUL指令
12.GetMseconds:測量程序執行時間
13.DIV指令
14.IDICV指令
15.使用匯編語言實現算術表達式
16.ADC指令
17.SBB指令
18.ASCII和非壓縮十進制運算
19.AAA指令
20.AAS指令
21.AAM和AAD指令
22.壓縮十進制運算簡介
23.DAA指令
24.DAS指令
第8章 匯編語言高級過程
1.堆棧幀簡介
2.寄存器參數的缺點
3.訪問堆棧參數
4.常用32位編程調用規范
5.局部變量應用
6.引用參數簡介
7.LEA指令
8.ENTER和LEAVE指令
9.LOCAL偽指令
10.Microsoft x64調用規范簡介
11.遞歸及應用詳解
12.INVOKE偽指令
13.ADDR運算符
14.PROC偽指令
15.PROTO偽指令
16.過程參數簡介
17.WriteStackFrame過程
18.多模塊程序簡述
19.EXTERN偽指令
20.跨模塊使用變量和標號
21.用Extern偽指令新建模塊
22.用INVOKE和PROTO新建模塊
23.使用USES運算符注意事項
24.向堆棧傳遞8位和16位參數
25.32位模式下傳遞64位參數
26.非雙字局部變量
27.Java虛擬機工作原理
第9章 匯編語言字符串和數組
1.字符串基本指令簡介
2.MOVSB、MOVSW和MOVSD指令
3.CMPSB、CMPSW和CMPSD指令
4.SCASB、SCASW和SCASD指令
5.STOSB、STOSW和STOSD指令
6.LODSB、LODSW和LODSD指令
7.Irvine32字符串過程
8.Irivne64字符串過程
9.二維數組簡介
10.冒泡排序簡述
11.對半查找簡述
12.Java字符串處理
第10章 匯編語言結構和宏
1.STRUCT和ENDS偽指令
2.聲明結構變量
3.TYPE和SIZEOF運算符
4.實例:顯示系統時間
5.結構嵌套簡述
6.聯合的聲明和使用
7.宏過程簡述
8.MACRO和ENDM偽指令
9.宏的調用簡述
10.宏的特性
11.Macro宏庫詳解
12.實例:封裝器
13.條件匯編偽指令簡述
14.IFB和IFNB偽指令
15.宏默認值設定及布爾表達式簡述
16.IF、ELSE和DENDIF偽指令
17.IFIDN和IFIDNI偽指令
18.實例:矩陣行求和
19.&、<>、!、%運算符簡述
20.宏函數
21.使用WHILE、REPEAT、FOR 和 FORC偽指令定義重復語句塊
第11章 匯編語言MS-Windows編程
1.MS-Windows編程簡述
2.Win32控制臺函數簡述
3.MessageBoxA函數
4.ReadConsole函數
5.GetLastError和FormatMessage函數
6.單字符輸入簡述
7.GetKeyState函數
8.WriteConsole和WriteConsoleOutputCharacter函數
9.CreateFile函數
10.CloseHandle函數
11.ReadFile函數
12.WriteFile函數
13.SetFilePointer函數
14.Irvine32鏈接庫文件I/O
15.實例:文件I/O過程
16.控制臺窗口操作
17.控制臺光標設置函數簡述
18.SetConsoleTextAttribute和WriteConsoleOutputAttribute函數
19.Win32時間與日期函數
20.64位Windows API使用簡述
21.如何編寫圖形化的Windows應用程序
22.MessageBox函數
23.WinMain過程
24.WinProc過程
25.ErrorHandler過程
26.實例:Windows圖形化程序
27.動態內存分配(堆分配)
28.實例:動態內存分配
29.x86存儲管理簡述
30.線性地址簡述
31.頁轉換
第12章 浮點數處理與指令編碼
1.IEEE二進制浮點數表示
2.階碼
3.規格化二進制浮點數
4.十進制小數轉換為二進制實數
5.FPU寄存器棧
6.FPU舍入
7.浮點數異常與常用指令集
8.浮點數算術運算指令
9.FCOM指令
10.讀寫浮點數值
11.FWAIT(WAIT)指令
12.混合模式運算簡述
13.異常的屏蔽與未屏蔽簡述
14.x86指令編碼簡述
15.單字節指令與立即操作數簡述
16.寄存器模式指令簡述
17.處理器操作數大小前綴作用及意義
18.內存模式指令簡述
第13章 高級語言接口
1.高級語言調用匯編語言的接口規范
2..MODEL偽指令
3.查看C/C++編譯器生成的匯編代碼
4.__asm偽指令
5.實例:文件加密
6.C/C++調用匯編語言函數
7.匯編語言調用C/C++函數
8.實例:乘法表
9.匯編語言調用C/C++庫函數
10.實例:目錄表程序

精美而實用的網站,提供C語言C++STLLinuxShellJavaGo語言等教程,以及socketGCCviSwing設計模式JSP等專題。

Copyright ?2011-2018 biancheng.net, 陜ICP備15000209號

底部Logo