-
>
闖進數(shù)學(xué)世界――探秘歷史名題
-
>
中醫(yī)基礎(chǔ)理論
-
>
當代中國政府與政治(新編21世紀公共管理系列教材)
-
>
高校軍事課教程
-
>
思想道德與法治(2021年版)
-
>
毛澤東思想和中國特色社會主義理論體系概論(2021年版)
-
>
中醫(yī)內(nèi)科學(xué)·全國中醫(yī)藥行業(yè)高等教育“十四五”規(guī)劃教材
計算機組成原理與匯編語言 版權(quán)信息
- ISBN:9787302640462
- 條形碼:9787302640462 ; 978-7-302-64046-2
- 裝幀:平裝-膠訂
- 冊數(shù):暫無
- 重量:暫無
- 所屬分類:>>
計算機組成原理與匯編語言 本書特色
《計算機組成原理與匯編語言》根據(jù)學(xué)生掌握知識的基本特點,依據(jù)循序漸進、深入淺出、突出重點、理論聯(lián)系實際的原則編排,使學(xué)生能夠在較短的時間內(nèi)理解計算機組成原理與匯編語言的基本概念,掌握相關(guān)設(shè)計方法。
計算機組成原理與匯編語言 內(nèi)容簡介
《計算機組成原理與匯編語言》是應(yīng)用型教材,有配套的教學(xué)視頻、綠色的考試系統(tǒng)、按項目驅(qū)動教學(xué)理念組建的題庫、智能的編程語法錯誤和邏輯錯誤提示插件等。《計算機組成原理與匯編語言》采用理論知識與編程實踐或驗證相結(jié)合的方式編寫,讓學(xué)生理解理論知識、掌握編程方法,通過考試系統(tǒng)和智能插件提高教與學(xué)的效率與質(zhì)量。 《計算機組成原理與匯編語言》是編者30年教學(xué)與軟件開發(fā)經(jīng)驗的總結(jié),所有理論知識都可以通過編程得到驗證或應(yīng)用于編程實踐,所有編程實踐中發(fā)現(xiàn)的問題都可以用理論知識進行解析,所有案例都經(jīng)過編者的精心設(shè)計和選編。通過學(xué)習(xí)本書,讀者不僅能真正理解理論知識,更能提高編程實踐能力和綜合應(yīng)用能力,真正掌握計算機組成原理和匯編語言程序設(shè)計的方法,同時能通過二者的結(jié)合窺探編譯原理。另外,《計算機組成原理與匯編語言》通過課程設(shè)計,培養(yǎng)學(xué)生的創(chuàng)新能力和團隊協(xié)作精神;將愛國元素融入理論知識,并注重增強學(xué)生的法律意識和道德素養(yǎng)。《計算機組成原理與匯編語言》按項目組建了14個單元的題庫和1個單元的課程設(shè)計,每個單元都有對應(yīng)的教學(xué)視頻;與考試系統(tǒng)配套的課外練習(xí)能方便讀者自學(xué);課堂測試功能為隨堂考試或期末考試提供了方便。考試系統(tǒng)支持8種題型,教師可以按要求隨機抽題組卷或統(tǒng)考,可以實現(xiàn)“黑盒+白盒”自動測試評分或手工評分,提供了預(yù)警和生成成績成長曲線功能。 《計算機組成原理與匯編語言》可以作為應(yīng)用型本科和高職高專教學(xué)用書,也可以作為讀者自學(xué)用書。
計算機組成原理與匯編語言 目錄
1.1 計數(shù)制 1
1.1.1 十進制(decimal) 1
1.1.2 二進制(binary) 2
1.1.3 八進制(octal) 2
1.1.4 十六進制(hexadecimal) 3
1.2 進制數(shù)間的轉(zhuǎn)換 3
1.2.1 十進制轉(zhuǎn)二進制 3
1.2.2 十進制轉(zhuǎn)八進制和十六進制 4
1.2.3 十進制轉(zhuǎn)二進制加法口算 5
1.2.4 十進制轉(zhuǎn)二進制減法口算 6
1.2.5 十進制轉(zhuǎn)二進制其他口算 6
1.3 計算機的性能指標 6
1.3.1 字長 7
1.3.2 存儲容量 7
1.3.3 主頻 7
1.3.4 運算速度 7
1.3.5 可靠性 7
1.3.6 系統(tǒng)可維護性 8
1.4 數(shù)值的表示 8
1.4.1 無符號整數(shù)的表示 8
1.4.2 有符號整數(shù)的表示(補碼等) 10
1.4.3 移碼 12
1.4.4 BCD碼 13
1.4.5 浮點數(shù) 13
1.4.6* 浮點數(shù)按整數(shù)比較大小 17
1.5 字符的表示 19
1.5.1 ASCII碼 19
1.5.2 機內(nèi)碼 19
1.5.3 Unicode 23
1.5.4 UTF-8 25
1.5.5 點陣字形碼 26
1.5.6 矢量字形碼 30
1.6 校驗碼 30
1.6.1 碼距 30
1.6.2 奇偶校驗碼 31
1.6.3 海明校驗碼 32
1.6.4 循環(huán)冗余校驗碼 34
1.7 數(shù)值運算 38
1.7.1 定點整數(shù)加法運算 38
1.7.2 定點整數(shù)減法運算 39
1.7.3 溢出與檢測方法 39
1.7.4 定點整數(shù)加減法的邏輯實現(xiàn) 41
1.7.5 定點整數(shù)乘法運算 43
1.7.6 定點整數(shù)除法運算 45
1.7.7 浮點數(shù)加減運算 51
1.7.8 浮點數(shù)乘除運算 56
習(xí)題1 58
第2章 匯編語言基本組成 60
2.1 程序結(jié)構(gòu) 60
2.1.1 選擇處理器偽指令 61
2.1.2 .MODEL偽指令 62
2.1.3 指明是否區(qū)分大小寫 62
2.1.4 要引用的頭文件和庫文件 63
2.1.5 函數(shù)原型聲明 63
2.1.6 變量的定義及使用 63
2.1.7 數(shù)據(jù)段和代碼段的定義 65
2.1.8 單行注釋與塊注釋 65
2.1.9 指令、標號、分行(\) 66
2.1.10 INVOKE偽指令調(diào)用函數(shù) 66
2.1.11 程序結(jié)束 66
2.1.12 匯編結(jié)束 67
2.2 數(shù)據(jù)類型 67
2.2.1 整數(shù) 67
2.2.2 整數(shù)常量表達式 69
2.2.3 浮點數(shù) 72
2.2.4 字符 74
2.2.5 字符串 77
2.2.6 結(jié)構(gòu)體 78
習(xí)題2 80
第3章 匯編語言的編譯運行 84
3.1 VC 6.0編譯運行C程序 84
3.1.1 VC 6.0的安裝 85
3.1.2 運行C程序 85
3.1.3 配置VC 6.0環(huán)境 87
3.1.4 在命令行中編譯運行C程序 89
3.2 MASM32編譯運行匯編程序 90
3.2.1 MASM32的安裝 90
3.2.2 運行MASM32程序 92
3.2.3 配置MASM32環(huán)境 93
3.2.4 通過注冊表配置環(huán)境 94
3.2.5 在命令行中編譯運行匯編程序 95
3.3 VC 6.0編譯運行匯編程序 98
3.4 VS 2022編譯運行匯編程序 100
3.4.1 VS的安裝 100
3.4.2 VS編譯運行C程序 101
3.4.3 VS編譯運行x86匯編程序 103
3.4.4 VS匯編程序調(diào)用C庫文件 105
3.4.5 VS編譯運行x64匯編程序 106
3.4.6 安裝高亮插件 108
3.5 C/C 嵌入?yún)R編指令 111
3.5.1 用匯編指令訪問C程序整型變量 111
3.5.2 用匯編指令讀C程序整型數(shù)組元素 112
3.5.3 匯編指令寫入C字符數(shù)組 112
3.6 C反匯編生成匯編源程序 114
3.6.1 設(shè)置C程序生成匯編源程序 114
3.6.2 修改C反匯編源程序 114
習(xí)題3 117
第4章 CPU指令系統(tǒng)及控制器 120
4.1 系統(tǒng)結(jié)構(gòu) 121
4.2 微處理器 122
4.2.1 微處理器的基本結(jié)構(gòu) 122
4.2.2 80386微處理器引腳 124
4.3 CPU寄存器 126
4.3.1 16位寄存器組 126
4.3.2 32位寄存器組 127
4.3.3 64位寄存器組 127
4.3.4 標志寄存器EFlags 128
4.4 80X86處理器工作模式 131
4.5 存儲器訪問 131
4.5.1 主存的分類 132
4.5.2 存儲器的組織 132
4.5.3 CPU與存儲器的連接 134
4.5.4 數(shù)據(jù)存儲 135
4.5.5 數(shù)據(jù)對齊訪問 136
4.5.6 數(shù)據(jù)非對齊訪問 137
4.5.7 數(shù)據(jù)訪問案例分析 137
4.6 機器指令及控制器設(shè)計 141
4.6.1 機器指令格式 143
4.6.2 機器指令編碼 144
4.6.3 復(fù)雜指令集計算機 146
4.6.4 精簡指令集計算機 146
4.6.5 控制器設(shè)計方法 146
4.6.6 時序系統(tǒng) 147
4.6.7 寄存器的設(shè)置 148
4.6.8 CPU指令流程分析 148
4.6.9 控制器的設(shè)計 149
4.7 操作數(shù)尋址方式 158
4.7.1 寄存器尋址方式 158
4.7.2 立即尋址方式 159
4.7.3 直接尋址方式 159
4.7.4 寄存器間接尋址方式 159
4.7.5 寄存器相對尋址方式 160
4.7.6 基址變址尋址方式 161
4.8 數(shù)據(jù)傳送類指令 163
4.8.1 通用數(shù)據(jù)傳送MOV[SX|ZX] 163
4.8.2 數(shù)據(jù)交換XCHG 165
4.8.3 字節(jié)查表轉(zhuǎn)換XLAT[B] 166
4.8.4* 字節(jié)反向存儲BSWAP 168
4.8.5 入棧PUSH/PUSHA[D] 168
4.8.6 出棧POP/POPA[D] 168
4.8.7 取地址LEA/L[DEFGS]S 169
4.8.8 EFlags與AH傳送[L|S]AHF 170
4.8.9 EFlags出入棧PUSHFD/POPFD 170
4.8.10 進位位CF操作CLC/STC/CMC 170
4.8.11 方向位DF操作CLD/STD 170
4.8.12* 中斷允許位IF操作CLI/STI 171
4.9 整數(shù)算術(shù)運算指令 171
4.9.1 加法ADD/ADC/INC/XADD 171
4.9.2 減法SUB/SBB/DEC/NEG 173
4.9.3 乘法MUL/IMUL 174
4.9.4 除法DIV/IDIV 175
4.9.5 符號擴展CBW/CWD/CDQ 176
4.9.6 整數(shù)比較CMP/CMPXCHG[8B] 177
4.10* 調(diào)整指令(實現(xiàn)大數(shù)運算) 179
4.10.1 數(shù)字字符加法調(diào)整AAA 179
4.10.2 數(shù)字字符減法調(diào)整AAS 181
4.10.3 二進制數(shù)調(diào)整為BCD碼AAM 182
4.10.4 BCD碼調(diào)整為二進制數(shù)AAD 182
4.10.5 BCD碼加法調(diào)整DAA 183
4.10.6 BCD碼減法調(diào)整DAS 184
4.11 邏輯運算指令 185
4.11.1 邏輯與操作AND 185
4.11.2 邏輯或操作OR 186
4.11.3 邏輯非操作NOT 186
4.11.4 邏輯異或操作XOR 186
4.11.5 邏輯比較測試TEST 187
4.12 位操作指令 188
4.12.1 算術(shù)移位SAL/SAR 188
4.12.2 邏輯移位SHL/SHR 189
4.12.3* 雙精度移位SHLD/SHRD 190
4.12.4* 不帶進位循環(huán)移位ROL/ROR 192
4.12.5* 帶進位循環(huán)移位RCL/RCR 193
4.12.6* 位掃描BSF/BSR 193
4.12.7* 第i位操作BT[CRS] 195
4.13 串操作指令 196
4.13.1 重復(fù)前綴REP[E|Z|NE|NZ] 197
4.13.2 存串操作STOS[B|W|D] 198
4.13.3 移串操作MOVS[B|W|D] 199
4.13.4 取串操作LODS[B|W|D] 201
4.13.5 串掃描操作SCAS[B|W|D] 203
4.13.6 串比較操作CMPS[B|W|D] 204
4.13.7 輸入串操作INS[B|W|D] 207
4.13.8 輸出串操作OUTS[B|W|D] 207
4.14* CPU控制指令 207
4.14.1 空操作指令NOP 207
4.14.2 等待指令WAIT 207
4.14.3 暫停指令HLT 208
4.14.4 封鎖數(shù)據(jù)指令LOCK 208
4.14.5 獲得CPU信息CPUID 208
4.14.6 讀時間戳計數(shù)器RDTSC 209
習(xí)題4 210
第5章 FPU指令系統(tǒng) 221
5.1 FPU寄存器 221
5.1.1 浮點數(shù)據(jù)寄存器 221
5.1.2 浮點標記寄存器 222
5.1.3 浮點狀態(tài)寄存器 222
5.1.4 浮點控制寄存器 224
5.2 FPU指令系統(tǒng)的約定 225
5.3 實數(shù)傳送指令 226
5.3.1 實數(shù)加載FLD Src 227
5.3.2 整數(shù)加載FILD Src 227
5.3.3 BCD數(shù)加載FBLD Src 227
5.3.4 實數(shù)保存FST Dst 227
5.3.5 實數(shù)保存且出棧FSTP Dst 227
5.3.6 實數(shù)保存整數(shù)FIST Dst 227
5.3.7 保存整數(shù)且出棧FISTP Dst 227
5.3.8 保存BCD且出棧FBSTP Dst 229
5.3.9 實數(shù)交換FXCH[st(i)] 230
5.4 實數(shù)常量加載指令 230
5.4.1 實數(shù)0.0加載FLDZ 230
5.4.2 實數(shù)1.0加載FLD1 230
5.4.3 實數(shù)π加載FLDPI 230
5.4.4 實數(shù)log210加載FLDL2T 230
5.4.5 實數(shù)log2e加載FLDL2E 230
5.4.6 實數(shù)log102加載FLDLG2 231
5.4.7 實數(shù)loge2加載FLDLN2 231
5.5 實數(shù)比較指令 231
5.5.1 實數(shù)比較FCOM[P/PP] 231
5.5.2 實數(shù)與整數(shù)比較FICOM[P] 231
5.5.3 無序比較FUCOM[P/PP] 232
5.5.4 實數(shù)零檢測FTST 232
5.5.5 存CPU比較F[U]COMI[P] 232
5.5.6 檢測棧頂實數(shù)特征FXAM 233
5.6 實數(shù)加法指令 237
5.6.1 實數(shù)加FADD 238
5.6.2 實數(shù)加且出棧FADDP 238
5.6.3 實數(shù)加整數(shù)FIADD 238
5.7 實數(shù)減法指令 239
5.7.1 實數(shù)減FSUB 239
5.7.2 實數(shù)減且出棧FSUBP 239
5.7.3 實數(shù)減整數(shù)FISUB 239
5.7.4 反向減FSUBR 239
5.7.5 反向減且出棧FSUBRP 239
5.7.6 實數(shù)反向減整數(shù)FISUBR 239
5.8 實數(shù)乘法指令 240
5.8.1 實數(shù)乘FMUL 240
5.8.2 實數(shù)乘且出棧FMULP 241
5.8.3 實數(shù)乘以整數(shù)FIMUL 241
5.9 實數(shù)除法指令 241
5.9.1 實數(shù)除FDIV 242
5.9.2 實數(shù)除且出棧FDIVP 242
5.9.3 實數(shù)除以整數(shù)FIDIV 242
5.9.4 實數(shù)反向除FDIVR 242
5.9.5 反向除且出棧FDIVRP 242
5.9.6 實數(shù)反向除整數(shù)FIDIVR 242
5.10 浮點超越函數(shù)指令 243
5.10.1 正弦函數(shù)FSIN 243
5.10.2 余弦函數(shù)FCOS 244
5.10.3 正弦余弦函數(shù)FSINCOS 245
5.10.4 正切函數(shù)FPTAN 245
5.10.5 反正切函數(shù)FPATAN 246
5.10.6 實數(shù)平方根FSQRT 247
5.10.7 絕對值FABS 248
5.10.8 負數(shù)FCHS 249
5.10.9 取實數(shù)尾數(shù)和階碼FXTRACT 250
5.10.10 以2為底的對數(shù)FYL2X[P1] 251
5.10.11 就近舍入取整FRNDINT 252
5.10.12 取余FPREM/FPREM1 253
5.10.13 2的指數(shù)FSCALE/F2XM1 254
5.11* FPU控制指令 257
5.11.1 初始化FPU操作F[N]INIT 257
5.11.2 保存狀態(tài)字F[N]STSW 257
5.11.3 保存控制字F[N]STCW 257
5.11.4 加載控制字FLDCW 257
5.11.5 保存環(huán)境F[N]STENV 257
5.11.6 加載環(huán)境FLDENV 259
5.11.7 存環(huán)境與數(shù)據(jù)F[N]SAVE 259
5.11.8 讀環(huán)境與數(shù)據(jù)FRSTOR 261
5.11.9 增加FPU棧指針FINCSTP 261
5.11.10 減少FPU棧指針FDECSTP 262
5.11.11 st(i)清空FFREE st(i) 263
5.11.12 清除異常F[N]CLEX 264
5.11.13 FPU空操作FNOP 264
5.11.14 FPU與CPU同步[F]WAIT 264
習(xí)題5 264
第6章 選擇結(jié)構(gòu)程序設(shè)計 268
6.1 .IF偽指令實現(xiàn)雙分支選擇 268
6.2 .IF….ELSEIF實現(xiàn)多分支選擇 274
6.3 JMP和Jcc轉(zhuǎn)移指令 276
6.4* 測試條件轉(zhuǎn)存指令SETcc 285
6.5 浮點數(shù)的大小比較 287
6.6 散轉(zhuǎn)程序設(shè)計 289
習(xí)題6 295
第7章 循環(huán)結(jié)構(gòu)程序設(shè)計 300
7.1 當循環(huán)偽指令.WHILE 300
7.2 重復(fù)偽指令.REPEAT 302
7.3 數(shù)組的使用 304
7.3.1 一維數(shù)組的使用 304
7.3.2 二維數(shù)組的使用 307
7.4 .BREAK和.CONTINUE偽指令 309
7.5 循環(huán)指令LOOP[N][EZ][WD] 310
7.5.1 循環(huán)指令LOOP 311
7.5.2 相等或為零循環(huán)LOOP[EZ] 313
7.5.3 不為零循環(huán)LOOPN[EZ] 314
7.6 ECX為零轉(zhuǎn)移指令JECXZ 316
7.7 LOOP/JECXZ循環(huán)指令存在的問題 317
習(xí)題7 320
第8章 模塊化程序設(shè)計 329
8.1 子程序的定義 329
8.1.1 子程序定義的基本語法 329
8.1.2 子程序定義的完整語法 331
8.1.3 變參VARARG的使用 331
8.1.4 USES的使用 332
8.1.5 局部變量的定義 334
8.2 子程序的調(diào)用與返回 335
8.2.1 子程序用CALL調(diào)用 335
8.2.2 子程序用INVOKE調(diào)用 338
8.2.3 函數(shù)原型PROTO聲明 338
8.2.4 函數(shù)EXTRN聲明 340
8.2.5 返回指令RET 340
8.2.6 堆棧保護與恢復(fù) 341
8.3 不同數(shù)據(jù)類型作為形參的傳遞方法 344
8.3.1 整數(shù)參數(shù)的傳遞 344
8.3.2 字符參數(shù)的傳遞 345
8.3.3 整型數(shù)組參數(shù)的傳遞 346
8.3.4 字符串參數(shù)的傳遞 348
8.3.5 雙精度浮點數(shù)參數(shù)的傳遞 349
8.4 遞歸程序設(shè)計 351
8.4.1 用C語言的遞歸方法求累加和 351
8.4.2 用匯編語言的遞歸方法求累加和 352
8.4.3 遞歸案例 353
8.5 C程序調(diào)用匯編子程序 359
8.5.1 C程序調(diào)用匯編子程序的方式 359
8.5.2 將C程序中的整型參數(shù)傳入?yún)R編程序 360
8.5.3 將C程序中的整型數(shù)組參數(shù)傳入?yún)R編程序 363
8.5.4 將C程序中的字符數(shù)組參數(shù)傳入?yún)R編程序 364
8.5.5 用C程序調(diào)用匯編函數(shù)重載 364
8.6 匯編程序調(diào)用C/C 函數(shù) 365
8.7 匯編程序引用C程序中的數(shù)組 368
8.8 C程序引用匯編程序中的數(shù)組 369
8.9 C程序與匯編程序混合編程俄羅斯方塊 371
習(xí)題8 377
第9章 調(diào)試器使用簡介 381
9.1 32位程序調(diào)試器Ollydbg 381
9.2 如何用Ollydbg逆向工程 382
9.3 用Ollydbg修改并保存 384
9.4 64位程序調(diào)試器x64dbg 385
9.5 32/64位程序調(diào)試器IDA 386
習(xí)題9 387
第10章 I/O系統(tǒng) 388
10.1 I/O系統(tǒng)概述 388
10.1.1 I/O系統(tǒng)的組成 388
10.1.2 I/O設(shè)備編址 388
10.2 I/O接口 389
10.2.1 I/O接口的基本功能 389
10.2.2 I/O接口的分類 389
10.2.3 總線結(jié)構(gòu) 390
10.2.4 常用系統(tǒng)總線 391
10.3 I/O數(shù)據(jù)傳輸控制方式 393
10.3.1 程序直接控制方式 393
10.3.2 中斷方式 394
10.3.3 直接存儲器訪問方式 397
10.3.4 I/O通道方式 398
10.3.5 I/O處理機和外圍處理機 400
習(xí)題10 400
參考文獻 402
附錄A 403
附錄A.1 ASCII值為00H~1FH的控制字符 403
附錄A.2 ASCII值為20H~7FH的西文字符 403
附錄A.3 用C程序輸出GB 2312漢字 404
附錄A.4 用C程序輸出GB 2312特殊符號 404
附錄A.5 用C程序輸出Unicode漢字 405
附錄A.6 Unicode轉(zhuǎn)UTF-8 406
附錄A.7 將矢量字體解析為位圖 406
·XIV·
·XIII·
計算機組成原理與匯編語言 作者簡介
田民格,三明學(xué)院信息工程學(xué)院副教授,多年從事計算機專業(yè)教學(xué),曾獲三明學(xué)院卓越教學(xué)獎、三明學(xué)院教學(xué)成果一等獎;開發(fā)多個應(yīng)用軟件,其中考試系統(tǒng)可實現(xiàn)多種編程語言的在線測評,并有多門課程的相應(yīng)題庫。
- >
唐代進士錄
- >
中國人在烏蘇里邊疆區(qū):歷史與人類學(xué)概述
- >
中國歷史的瞬間
- >
小考拉的故事-套裝共3冊
- >
月亮與六便士
- >
山海經(jīng)
- >
名家?guī)阕x魯迅:朝花夕拾
- >
伊索寓言-世界文學(xué)名著典藏-全譯本