注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件與程序設(shè)計(jì)匯編語(yǔ)言/編譯原理匯編語(yǔ)言編程藝術(shù)

匯編語(yǔ)言編程藝術(shù)

匯編語(yǔ)言編程藝術(shù)

定 價(jià):¥98.00

作 者: (美)Randall Hyde 著;陳曙暉 譯
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 匯編語(yǔ)言程序設(shè)計(jì)

ISBN: 9787302090571 出版時(shí)間: 2005-01-01 包裝: 平裝
開(kāi)本: 26cm 頁(yè)數(shù): 796 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  譯者簡(jiǎn)介:陳曙暉,國(guó)防科技大學(xué)計(jì)算機(jī)專業(yè)博士,老師。1998年參加工作,在國(guó)防科技大學(xué)網(wǎng)絡(luò)與信息安全研究所從事銀河超級(jí)計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)和核心路由器的開(kāi)發(fā)工作,擔(dān)任核心路由器配置管理分系統(tǒng)的開(kāi)發(fā)負(fù)責(zé)人,曾獲得軍隊(duì)科技進(jìn)步獎(jiǎng)一等獎(jiǎng)一項(xiàng)(銀河超級(jí)計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng))、二等獎(jiǎng)一項(xiàng)(核心路由器系統(tǒng))。審校者簡(jiǎn)介:毛希平,博士,清華大學(xué)計(jì)算機(jī)系老師,主講“匯編語(yǔ)言程序設(shè)計(jì)”課程,并在清華大學(xué)計(jì)算機(jī)系高性能計(jì)算研究所從事研究工作,主要研究方向:并行計(jì)算和網(wǎng)格計(jì)算。查看本書序言(作者:清華大學(xué)教授溫冬嬋)相信很多人都看過(guò)該書的網(wǎng)絡(luò)版,它濃縮了網(wǎng)絡(luò)版的精華,特別是對(duì)HLA的講解,可謂入木三分?!狢herryLam(高級(jí)程序員,印度)我一直認(rèn)為,只有經(jīng)過(guò)多年的學(xué)習(xí)和實(shí)際演練,才能掌握匯編語(yǔ)言程序設(shè)計(jì),這本書改變了我的看法?!狫amesBrodin(軟件公司技術(shù)總監(jiān),美國(guó))對(duì)于想快速成為匯編語(yǔ)言開(kāi)發(fā)人員的學(xué)習(xí)者來(lái)說(shuō),本書是多年難遇的好書?!狢onnyMeilin(大學(xué)教授,瑞典)作者將多年來(lái)的開(kāi)發(fā)和教學(xué)經(jīng)驗(yàn)融合在大量的編程實(shí)例中,讀者通過(guò)本書能快速地學(xué)會(huì)匯編語(yǔ)言程序設(shè)計(jì),掌握其中的編程技巧——溫冬嬋(清華大學(xué)教授,中國(guó))本書以X86系列微機(jī)為背景,從簡(jiǎn)單的Hello程序開(kāi)始,系統(tǒng)而詳細(xì)地闡述了X86微機(jī)匯編語(yǔ)言編程的各種基礎(chǔ)知識(shí)和編程技巧,內(nèi)容涉及到數(shù)據(jù)表示、存儲(chǔ)器管理、各種數(shù)據(jù)類型、過(guò)程、與匯編語(yǔ)言相關(guān)的體系結(jié)構(gòu)、控制結(jié)構(gòu)、文件、宏指令、位處理指令、字符串指令、MMX指令、類和對(duì)象,以及混合語(yǔ)言編程等,尤其是在高級(jí)匯編語(yǔ)言(HLA)方面,該書給予了細(xì)致深入的講解。對(duì)于有意學(xué)習(xí)X86匯編語(yǔ)言編程的程序員來(lái)說(shuō),這是一本難得的好書。本書的作者RandallHyde在大學(xué)中教授匯編語(yǔ)言十多年,并且開(kāi)發(fā)了好幾個(gè)商用軟件,具有豐富的匯編語(yǔ)言開(kāi)發(fā)經(jīng)驗(yàn)。該書的英文電子版受到了成千上萬(wàn)的網(wǎng)站和高級(jí)程序員的高度評(píng)價(jià),已經(jīng)成為了高級(jí)匯編語(yǔ)言編程方面的一本經(jīng)典之作。雖然該書的出版時(shí)間不長(zhǎng),但在Amazon上為該書作出評(píng)價(jià)的人很多,而且?guī)缀跛械娜硕冀o予5星的評(píng)價(jià),可見(jiàn)其內(nèi)容之好。筆者相信,隨著時(shí)間的推移,它在程序員中的影響回越來(lái)越大。

作者簡(jiǎn)介

暫缺《匯編語(yǔ)言編程藝術(shù)》作者簡(jiǎn)介

圖書目錄

第1章  進(jìn)入?yún)R編語(yǔ)言的世界 1
1.1  本章概述 1
1.2  HLA程序的結(jié)構(gòu) 1
1.3  運(yùn)行第一個(gè)HLA程序 3
1.4  基本的HLA數(shù)據(jù)聲明 4
1.5  布爾值 6
1.6  字符值 6
1.7  Intel 80x86處理器簡(jiǎn)介 7
1.8  基本的機(jī)器指令 11
1.9  基本的HLA控制結(jié)構(gòu) 15
1.9.1  HLA語(yǔ)句中的布爾表達(dá)式 15
1.9.2  HLA的IF..THEN..ELSEIF..ELSE..ENDIF語(yǔ)句 17
1.9.3  布爾表達(dá)式中的邏輯與、邏輯或以及邏輯非 19
1.9.4  WHILE..ENDWHILE語(yǔ)句 21
1.9.5  FOR..ENDFOR語(yǔ)句 21
1.9.6  REPEAT..UNTIL語(yǔ)句 22
1.9.7  BREAK和BREAKIF語(yǔ)句 23
1.9.8  FOREVER..ENDFOR語(yǔ)句 23
1.9.9  TRY..EXCEPTION..ENDTRY語(yǔ)句 24
1.10  HLA標(biāo)準(zhǔn)庫(kù)入門 27
1.10.1  STDIO模塊中的預(yù)定義常量 28
1.10.2  標(biāo)準(zhǔn)輸入與標(biāo)準(zhǔn)輸出 29
1.10.3  stdout.newln例程 29
1.10.4  stdout.putiX例程 29
1.10.5  stdout.putiXSize例程 30
1.10.6  stdout.put例程 31
1.10.7  stdin.getc例程 32
1.10.8  stdin.getiX例程 34
1.10.9  stdin.readLn與stdin.flushInput例程 35
1.10.10  stdin.get例程 36
1.11 關(guān)于TRY..ENDTRY的其他細(xì)節(jié) 36
1.11.1  TRY..ENDTRY嵌套語(yǔ)句 37
1.11.2  TRY..ENDTRY語(yǔ)句中不受保護(hù)的子句 39
1.11.3  TRY..ENDTRY語(yǔ)句中的ANYEXCEPTION子句 42
1.11.4  寄存器與TRY..ENDTRY語(yǔ)句 42
1.12  高級(jí)匯編語(yǔ)言與低級(jí)匯編語(yǔ)言的比較 44
1.13  更多信息 45
第2章  數(shù)據(jù)表示 46
2.1  本章概述 46
2.2  數(shù)字系統(tǒng) 46
2.2.1  回顧十進(jìn)制系統(tǒng) 46
2.2.2  二進(jìn)制數(shù)字系統(tǒng) 47
2.2.3  二進(jìn)制格式 48
2.3  十六進(jìn)制數(shù)字系統(tǒng) 49
2.4  數(shù)據(jù)結(jié)構(gòu) 51
2.4.1  位 51
2.4.2  半字節(jié) 51
2.4.3  字節(jié) 52
2.4.4  字 53
2.4.5  雙字 54
2.4.6  四字與長(zhǎng)字 55
2.5  二進(jìn)制數(shù)與十六進(jìn)制數(shù)的算術(shù)運(yùn)算 56
2.6  關(guān)于數(shù)字及其表示法 56
2.7  位邏輯運(yùn)算 59
2.8  二進(jìn)制數(shù)和位串的邏輯運(yùn)算 61
2.9  有符號(hào)數(shù)和無(wú)符號(hào)數(shù) 63
2.10  符號(hào)擴(kuò)展、零擴(kuò)展、壓縮和飽和 67
2.11  移位和循環(huán)移位 71
2.12  位域和壓縮數(shù)據(jù) 75
2.13  浮點(diǎn)運(yùn)算簡(jiǎn)介 79
2.13.1  IEEE浮點(diǎn)格式 82
2.13.2  HLA為浮點(diǎn)數(shù)值提供的支持 85
2.14  BCD數(shù)據(jù)表示 88
2.15  字符 89
2.15.1  ASCII字符譯碼 89
2.15.2  HLA對(duì)ASCII字符提供的支持 92
2.16  Unicode字符集 96
2.17  更多信息 96
第3章  存儲(chǔ)器的訪問(wèn)與結(jié)構(gòu) 97
3.1  本章概述 97
3.2  80x86的尋址方式 97
3.2.1  80x86寄存器尋址方式 97
3.2.2  80x86的32位存儲(chǔ)器尋址方式 98
3.3  運(yùn)行時(shí)存儲(chǔ)器的結(jié)構(gòu) 104
3.3.1  代碼段 105
3.3.2  靜態(tài)段 106
3.3.3  只讀數(shù)據(jù)段 107
3.3.4  存儲(chǔ)段 108
3.3.5  @NOSTORAGE屬性 108
3.3.6  Var段 109
3.3.7  程序中聲明段的結(jié)構(gòu) 110
3.4  HLA如何為變量分配內(nèi)存 111
3.5  HLA對(duì)數(shù)據(jù)對(duì)齊的支持 112
3.6  地址表達(dá)式 115
3.7  類型強(qiáng)制轉(zhuǎn)換 117
3.8  寄存器類型強(qiáng)制轉(zhuǎn)換 119
3.9  棧段與PUSH及POP指令 120
3.9.1  基本的PUSH指令 120
3.9.2  基本的POP指令 121
3.9.3  用PUSH和POP指令來(lái)保護(hù)寄存器 123
3.9.4  棧的LIFO數(shù)據(jù)結(jié)構(gòu) 123
3.9.5  其他的PUSH和POP指令 125
3.9.6  不使用出棧而從棧內(nèi)移除數(shù)據(jù) 127
3.9.7  訪問(wèn)已入棧而未出棧的數(shù)據(jù) 129
3.10  動(dòng)態(tài)內(nèi)存分配和堆段 130
3.11  INC和DEC指令 134
3.12  獲取存儲(chǔ)器對(duì)象的地址 134
3.13  更多信息 135
第4章  常量、變量與數(shù)據(jù)類型 136
4.1  本章概述 136
4.2  一些額外的指令:INTMUL、BOUND、INTO 136
4.3  TBYTE數(shù)據(jù)類型 141
4.4  HLA常量和數(shù)值聲明 141
4.4.1  常量類型 145
4.4.2  字符串和字符字面常量 145
4.4.3  CONST段中的字符串常量與文本常量 147
4.4.4  常量表達(dá)式 149
4.4.5  HLA程序中的多個(gè)CONST段以及它們的順序 151
4.4.6  HLA的VAL段 151
4.4.7  在程序中的任意位置修改VAL對(duì)象 152
4.5  HLA的TYPE段 153
4.6  ENUM 和HLA枚舉數(shù)據(jù)類型 154
4.7  指針數(shù)據(jù)類型 155
4.7.1  在匯編語(yǔ)言中使用指針 156
4.7.2  在HLA中聲明指針 157
4.7.3  指針常量和指針常量表達(dá)式 158
4.7.4  指針變量和動(dòng)態(tài)內(nèi)存分配 159
4.7.5  指針的常見(jiàn)問(wèn)題 160
4.8  HLA標(biāo)準(zhǔn)庫(kù)CHARS.HHF模型 164
4.9  復(fù)合數(shù)據(jù)類型 166
4.10  字符串 167
4.11  HLA字符串 169
4.12  訪問(wèn)字符串中的某個(gè)字符 175
4.13  HLA字符串模塊和其他與字符串相關(guān)的例程 177
4.14  存儲(chǔ)器內(nèi)轉(zhuǎn)換 188
4.15  字符集 190
4.16  在HLA中實(shí)現(xiàn)字符集 190
4.17  HLA字符集常量和字符集表達(dá)式 192
4.18  HLA HLL布爾表達(dá)式中的IN操作符 193
4.19  HLA標(biāo)準(zhǔn)庫(kù)對(duì)字符集的支持 194
4.20  在HLA程序中使用字符集 197
4.21  數(shù)組 198
4.22  在HLA程序中聲明數(shù)組 199
4.23  HLA數(shù)組常量 200
4.24  訪問(wèn)一維數(shù)組的元素 201
4.25  多維數(shù)組 204
4.25.1  以行為主排列 205
4.25.2  以列為主排列 208
4.26  多維數(shù)組的存儲(chǔ)空間分配 209
4.27  匯編語(yǔ)言中多維數(shù)組元素的訪問(wèn) 211
4.28  大數(shù)組和MASM(只適用于Windows程序員) 212
4.29  記錄 212
4.30  記錄常量 215
4.31  記錄數(shù)組 216
4.32  數(shù)組/記錄作為記錄字段 217
4.33  控制記錄中的字段偏移量 220
4.34  對(duì)齊記錄中的字段 221
4.35  記錄指針 223
4.36  聯(lián)合 224
4.37  匿名聯(lián)合 226
4.38  變量類型 227
4.39  聯(lián)合常量 228
4.40  命名空間 229
4.41  匯編語(yǔ)言中的動(dòng)態(tài)數(shù)組 232
4.42  HLA標(biāo)準(zhǔn)庫(kù)數(shù)組支持 234
4.43  更多信息 237
第5章  過(guò)程與單元 238
5.1  本章概述 238
5.2  過(guò)程 238
5.3  機(jī)器狀態(tài)的保存 240
5.4  過(guò)程的提前返回 244
5.5  局部變量 245
5.6  其他局部和全局符號(hào)類型 250
5.7  參數(shù) 250
5.7.1  值傳遞 251
5.7.2  引用傳遞 254
5.8  函數(shù)和函數(shù)的結(jié)果 257
5.8.1  返回函數(shù)結(jié)果 257
5.8.2  HLA的指令合成 258
5.8.3  HLA過(guò)程的@RETURNS選項(xiàng) 260
5.9  遞歸 262
5.10  過(guò)程的向前引用 266
5.11  過(guò)程的底層實(shí)現(xiàn)與CALL指令 267
5.12  過(guò)程與堆棧 269
5.13  活動(dòng)記錄 272
5.14  標(biāo)準(zhǔn)入口序列 275
5.15  標(biāo)準(zhǔn)出口序列 276
5.16  自動(dòng)(局部)變量的底層實(shí)現(xiàn) 277
5.17  參數(shù)的底層實(shí)現(xiàn) 279
5.17.1  在寄存器中傳遞參數(shù) 279
5.17.2  在代碼流中傳遞參數(shù) 281
5.17.3  在堆棧中傳遞參數(shù) 284
5.18  過(guò)程指針 304
5.19  過(guò)程參數(shù) 307
5.20  無(wú)類型的引用參數(shù) 308
5.21  管理大型程序 309
5.22  #INCLUDE偽指令 310
5.23  忽略重復(fù)的#INCLUDE操作 311
5.24  單元與EXTERNAL偽指令 312
5.24.1  偽指令EXTERNAL的行為 316
5.24.2  HLA中的頭文件 317
5.25  命名空間的污染 319
5.26  更多信息 321
第6章  算術(shù)運(yùn)算 322
6.1  本章概述 322
6.2  80x86的整數(shù)運(yùn)算指令 322
6.2.1  MUL和IMUL指令 322
6.2.2  DIV和IDIV指令 325
6.2.3  CMP指令 327
6.2.4  SETcc指令 331
6.2.5  TEST指令 333
6.3  算術(shù)表達(dá)式 334
6.3.1  簡(jiǎn)單賦值語(yǔ)句 335
6.3.2  簡(jiǎn)單表達(dá)式 336
6.3.3  復(fù)雜表達(dá)式 338
6.3.4  可交換運(yùn)算符 342
6.4  邏輯(布爾)表達(dá)式 343
6.5  機(jī)器特征與運(yùn)算技巧 345
6.5.1  不使用MUL、IMUL或INTMUL的乘法 346
6.5.2  不使用DIV或IDIV的除法 347
6.5.3  使用AND實(shí)現(xiàn)模N計(jì)數(shù)器 347
6.5.4  疏忽使用機(jī)器特性 348
6.6  浮點(diǎn)運(yùn)算 348
6.6.1  FPU寄存器 348
6.6.2  FPU的數(shù)據(jù)類型 355
6.6.3  FPU的指令集 356
6.6.4  FPU的數(shù)據(jù)轉(zhuǎn)移指令 356
6.6.5  換算指令 358
6.6.6  算術(shù)運(yùn)算指令 360
6.6.7  比較指令 365
6.6.8  常量指令 367
6.6.9  超越指令 367
6.6.10  其他指令 369
6.6.11  整數(shù)操作 370
6.7  浮點(diǎn)表達(dá)式到匯編語(yǔ)言的轉(zhuǎn)換 370
6.7.1  算術(shù)表達(dá)式到后綴表示法的轉(zhuǎn)換 372
6.7.2  把后綴表達(dá)式轉(zhuǎn)換成匯編語(yǔ)言 373
6.8  HLA標(biāo)準(zhǔn)庫(kù)對(duì)浮點(diǎn)算術(shù)運(yùn)算的支持 375
6.8.1  函數(shù)stdin.getf和fileio.getf 375
6.8.2  HLA數(shù)學(xué)庫(kù)中的三角函數(shù) 375
6.8.3  HLA數(shù)學(xué)庫(kù)中的指數(shù)函數(shù)和對(duì)數(shù)函數(shù) 376
6.9  算術(shù)運(yùn)算小結(jié) 377
第7章  低級(jí)控制結(jié)構(gòu) 378
7.1  本章概述 378
7.2  低級(jí)控制結(jié)構(gòu) 378
7.3  語(yǔ)句標(biāo)號(hào) 378
7.4  無(wú)條件控制轉(zhuǎn)移(JMP) 380
7.5  條件跳轉(zhuǎn)指令 383
7.6  “中級(jí)”控制結(jié)構(gòu):JT和JF 386
7.7  使用匯編語(yǔ)言實(shí)現(xiàn)通用控制結(jié)構(gòu) 386
7.8  選擇 386
7.8.1  IF..THEN..ELSE序列 388
7.8.2  將HLA的IF語(yǔ)句翻譯成純匯編語(yǔ)言語(yǔ)句 391
7.8.3  使用完全布爾求值實(shí)現(xiàn)復(fù)雜的IF語(yǔ)句 396
7.8.4  “短路”布爾求值 397
7.8.5  “短路”布爾求值與完全布爾求值 399
7.8.6  匯編語(yǔ)言中IF語(yǔ)句的高效實(shí)現(xiàn) 401
7.8.7  SWITCH/CASE語(yǔ)句 405
7.9  狀態(tài)機(jī)和間接跳轉(zhuǎn) 415
7.10  “面條式”代碼 418
7.11  循環(huán) 418
7.11.1  WHILE循環(huán) 419
7.11.2  REPEAT..UNTIL循環(huán) 420
7.11.3  FOREVER..ENDFOR循環(huán) 421
7.11.4  FOR循環(huán) 422
7.11.5  BREAK和CONTINUE語(yǔ)句 423
7.11.6  寄存器的使用與循環(huán) 427
7.12  性能提高 428
7.12.1  將結(jié)束條件判斷放在循環(huán)結(jié)尾 429
7.12.2  反向執(zhí)行循環(huán) 431
7.12.3  循環(huán)不變計(jì)算 432
7.12.4  循環(huán)展開(kāi) 433
7.12.5  歸納變量 434
7.13  HLA中的混合控制結(jié)構(gòu) 435
7.14  更多信息 437
第8章  文件 438
8.1  本章概述 438
8.2  文件組織 438
8.2.1  作為記錄列表的文件 438
8.2.2  二進(jìn)制文件與文本文件的比較 440
8.3  順序文件 442
8.4  隨機(jī)訪問(wèn)文件 449
8.5  ISAM文件 453
8.6  截?cái)辔募?456
8.7  更多信息 458
第9章  高級(jí)算術(shù)運(yùn)算 459
9.1  本章概述 459
9.2  多精度操作 459
9.2.1  擴(kuò)充精度操作的HLA標(biāo)準(zhǔn)庫(kù)支持 459
9.2.2  多精度加法操作 462
9.2.3  多精度減法操作 464
9.2.4  擴(kuò)充精度比較操作 465
9.2.5  擴(kuò)充精度乘法操作 470
9.2.6  擴(kuò)充精度除法操作 473
9.2.7  擴(kuò)充精度NEG操作 482
9.2.8  擴(kuò)充精度AND操作 483
9.2.9  擴(kuò)充精度OR操作 484
9.2.10  擴(kuò)充精度XOR操作 484
9.2.11  擴(kuò)充精度NOT操作 485
9.2.12  擴(kuò)充精度移位操作 485
9.2.13  擴(kuò)充精度循環(huán)操作 488
9.2.14  擴(kuò)充精度I/O 489
9.3  對(duì)不同長(zhǎng)度的操作數(shù)進(jìn)行操作 509
9.4  十進(jìn)制算術(shù)運(yùn)算 510
9.4.1  文字BCD常量 512
9.4.2  80x86的DAA指令和DAS指令 512
9.4.3  80x86 AAA、AAS、AAM和AAD指令 514
9.4.4  使用FPU的壓縮十進(jìn)制算術(shù)操作 515
9.5  表 517
9.5.1  通過(guò)表查找進(jìn)行函數(shù)計(jì)算 517
9.5.2  域調(diào)節(jié) 521
9.5.3  產(chǎn)生表 522
9.5.4  表查找的性能 526
9.6  更多信息 526
第10章  宏與HLA編譯時(shí)語(yǔ)言 527
10.1  本章概述 527
10.2  編譯時(shí)語(yǔ)言 527
10.3  #PRINT和#ERROR語(yǔ)句 528
10.4  編譯時(shí)常量和變量 530
10.5  編譯時(shí)表達(dá)式和操作符 530
10.6  編譯時(shí)函數(shù) 533
10.6.1  類型轉(zhuǎn)換編譯時(shí)函數(shù) 533
10.6.2  數(shù)字編譯時(shí)函數(shù) 535
10.6.3  字符分類編譯時(shí)函數(shù) 535
10.6.4  編譯時(shí)字符串函數(shù) 535
10.6.5  編譯時(shí)模式匹配函數(shù) 536
10.6.6  編譯時(shí)符號(hào)信息 537
10.6.7  其他編譯時(shí)函數(shù) 538
10.6.8  編譯時(shí)TEXT對(duì)象的類型轉(zhuǎn)換 539
10.7  條件編譯(編譯時(shí)決定) 540
10.8  重復(fù)編譯(編譯時(shí)循環(huán)) 544
10.9  宏(編譯時(shí)過(guò)程) 547
10.9.1  標(biāo)準(zhǔn)宏 548
10.9.2  宏的參數(shù) 550
10.9.3  宏中的局部符號(hào) 556
10.9.4  作為編譯時(shí)過(guò)程的宏 559
10.9.5  使用宏模擬函數(shù)重載 559
10.10  編寫編譯時(shí)“程序” 565
10.10.1  在編譯時(shí)構(gòu)造數(shù)據(jù)表 565
10.10.2  循環(huán)展開(kāi) 570
10.11  在不同的源文件中使用宏 571
10.12  更多信息 571
第11章  位操作 573
11.1  本章概述 573
11.2  位數(shù)據(jù) 573
11.3  位操作指令 574
11.4  作為位累加器的進(jìn)位標(biāo)志位 581
11.5  位串的壓縮與解壓縮 581
11.6  接合位組與分布位串 584
11.7  壓縮的位串?dāng)?shù)組 586
11.8  搜索位 588
11.9  位的計(jì)數(shù) 590
11.10  倒置位串 593
11.11  合并位串 595
11.12  提取位串 596
11.13  搜索位模式 598
11.14  HLA標(biāo)準(zhǔn)庫(kù)的位模塊 599
11.15  更多信息 600
第12章  字符串指令 602
12.1  本章概述 602
12.2  80x86字符串指令 602
12.2.1  字符串指令的操作過(guò)程 603
12.2.2  REP/REPE/REPZ和REPNZ/REPNE前綴 603
12.2.3  方向標(biāo)志位 604
12.2.4  MOVS指令 606
12.2.5  CMPS指令 611
12.2.6  SCAS指令 614
12.2.7  STOS指令 615
12.2.8  LODS指令 615
12.2.9  從LODS和STOS構(gòu)建復(fù)雜的字符串函數(shù) 616
12.3  80x86字符串指令的性能 617
12.4  更多信息 617
第13章  MMX指令集 618
13.1  本章概述 618
13.2  判斷CPU是否支持MMX指令集 618
13.3  MMX編程環(huán)境 619
13.3.1  MMX寄存器 619
13.3.2  MMX數(shù)據(jù)類型 621
13.4  設(shè)計(jì)MMX指令集的目的 622
13.5  飽和算法和回轉(zhuǎn)模式 622
13.6  MMX指令操作數(shù) 623
13.7  MMX技術(shù)指令 625
13.7.1  MMX數(shù)據(jù)傳遞指令 625
13.7.2  MMX轉(zhuǎn)換指令 625
13.7.3  MMX壓縮算術(shù)指令 630
13.7.4  MMX邏輯指令 632
13.7.5  MMX比較指令 634
13.7.6  MMX移位指令 637
13.7.7  EMMS指令 639
13.8  MMX編程方案 640
13.9  更多信息 650
第14章  類與對(duì)象 651
14.1  本章概述 651
14.2  通用原則 651
14.3  HLA中的類 653
14.4  對(duì)象 656
14.5  繼承 657
14.6  重載 658
14.7  虛擬方法與靜態(tài)過(guò)程 659
14.8  編寫類方法和過(guò)程 661
14.9  對(duì)象實(shí)現(xiàn) 665
14.9.1  虛擬方法表 668
14.9.2  帶繼承的對(duì)象表達(dá)式 669
14.10  構(gòu)造函數(shù)和對(duì)象初始化 673
14.10.1  構(gòu)造函數(shù)中的動(dòng)態(tài)對(duì)象分配 674
14.10.2  構(gòu)造函數(shù)和繼承 676
14.10.3  構(gòu)造函數(shù)的參數(shù)和過(guò)程重載 680
14.11  析構(gòu)函數(shù) 680
14.12  HLA的“_initialize_”和“_finalize_”字符串 681
14.13  抽象方法 687
14.14  運(yùn)行時(shí)類型信息(RTTI) 690
14.15  調(diào)用基類的方法 691
14.16  更多信息 692
第15章  混合語(yǔ)言編程 693
15.1  本章概述 693
15.2  在同一程序中混合使用HLA和MASM/Gas代碼 693
15.2.1  在HLA程序中內(nèi)嵌(MASM/Gas)匯編代碼 693
15.2.2  鏈接MASM/Gas匯編模塊和HLA模塊 696
15.3  使用Delphi/Kylix和HLA編程 700
15.3.1  鏈接HLA模塊與Delphi/Kylix程序 701
15.3.2  寄存器保存 704
15.3.3  函數(shù)的結(jié)果 705
15.3.4  調(diào)用慣例 711
15.3.5  Kylix中的值傳遞、引用傳遞、CONST參數(shù)和OUT參數(shù) 717
15.3.6  Delphi/Kylix和HLA之間對(duì)應(yīng)的標(biāo)量數(shù)據(jù)類型 718
15.3.7  在Delphi/Kylix和HLA代碼之間傳遞字符串?dāng)?shù)據(jù) 720
15.3.8  在HLA和Kylix之間傳遞記錄數(shù)據(jù) 722
15.3.9  在Delphi/Kylix和HLA之間傳遞集合數(shù)據(jù) 726
15.3.10  在HLA和Delphi/Kylix之間傳遞數(shù)組數(shù)據(jù) 727
15.3.11  從HLA代碼中引用Delphi/Kylix對(duì)象 727
15.4  使用C/C++和HLA編程 730
15.4.1  鏈接HLA模塊和C/C++程序 731
15.4.2  寄存器保存 734
15.4.3  函數(shù)結(jié)果 734
15.4.4  調(diào)用慣例 734
15.4.5  C/C++中的值傳遞和引用傳遞 738
15.4.6  C/C++和HLA之間的標(biāo)量數(shù)據(jù)類型一致性 738
15.4.7  在C/C++和HLA代碼之間傳遞字符串?dāng)?shù)據(jù) 740
15.4.8  在HLA和C/C++之間傳遞記錄/結(jié)構(gòu)數(shù)據(jù) 740
15.4.9  在HLA和C/C++之間傳遞數(shù)組數(shù)據(jù) 742
15.5  更多信息 742
附錄A  ASCII字符集 743
附錄B  80x86指令集 747

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)