Windows環(huán)境下32位匯編語言程序設(shè)計(jì)(典藏版)(含CD光盤1張)

出版時間:2013-7  出版社:電子工業(yè)出版社  作者:羅云彬  
Tag標(biāo)簽:無  

內(nèi)容概要

Windows環(huán)境下32位匯編語言是一種全新的編程語言。它使用與C++語言相同的API接口,不僅可以開發(fā)出大型的軟件,而且是了解操作系統(tǒng)運(yùn)行細(xì)節(jié)的最佳方式。
本書從編寫應(yīng)用程序的角度,從“Hello,World!”這個簡單的例子開始到編寫多線程、注冊表和網(wǎng)絡(luò)通信等復(fù)雜的程序,通過70多個實(shí)例逐步深入Windows環(huán)境下32位匯編語言編程的方方面面。
作者羅云彬擁有10余年匯編語言編程經(jīng)驗(yàn),本書是作者多年來編程工作的總結(jié),適合于欲通過Windows環(huán)境下32匯編語言編寫Windows程序的讀者。

作者簡介

羅云彬,高級工程師,現(xiàn)從事移動互聯(lián)網(wǎng)軟件項(xiàng)目管理、軟件架構(gòu)設(shè)計(jì)工作。在軟件工程、大數(shù)據(jù)應(yīng)用等方面有豐富的經(jīng)驗(yàn)。對分布式數(shù)據(jù)庫及傳統(tǒng)關(guān)系型數(shù)據(jù)庫的開發(fā)和應(yīng)用有深入的研究,是國內(nèi)為數(shù)不多的OCM證書獲得者之一。作為主要完成人,曾獲得國家科技進(jìn)步二等獎1項(xiàng),省部級科學(xué)技術(shù)一等、三等獎各1項(xiàng)。
作者在Windows操作系統(tǒng)下的應(yīng)用軟件編程方面有豐富的經(jīng)驗(yàn),自1990年開始即使用匯編語言編寫程序,是Windows操作系統(tǒng)流行后國內(nèi)最早研究Win32匯編編程的程序員之一,曾在1998年創(chuàng)建了專門探討匯編編程的網(wǎng)站,發(fā)表過大量關(guān)于匯編編程的文章和教程,經(jīng)典作品《Windows環(huán)境下32位匯編語言程序設(shè)計(jì)》連續(xù)10年暢銷。

書籍目錄

基礎(chǔ)篇
第1章 背景知識 1
1.1 Win32的軟硬件平臺 1
1.1.1 80x86系列處理器簡史 1
1.1.2 Windows的歷史 3
1.1.3 Win32平臺的背后——Wintel聯(lián)盟 5
1.2 Windows的特色 6
1.3 必須了解的基礎(chǔ)知識 7
1.3.1 80x86處理器的工作模式 7
1.3.2 Windows的內(nèi)存管理 9
1.3.3 Windows的特權(quán)保護(hù) 17
第2章 準(zhǔn)備編程環(huán)境 21
2.1 Win32可執(zhí)行文件的開發(fā)過程 21
2.2 編譯器和鏈接器 23
2.2.1 MASM系列 23
2.2.2 TASM系列 27
2.2.3 其他編譯器 28
2.2.4 MASM,TASM還是NASM 29
2.2.5 我們的選擇——MASM32 SDK軟件包 30
2.3 創(chuàng)建資源 32
2.3.1 資源編譯器的使用 32
2.3.2 所見即所得的資源編輯器 32
2.4 make工具的用法 34
2.4.1 make工具是什么 34
2.4.2 nmake的用法 35
2.4.3 描述文件的語法 36
2.5 獲取資料 40
2.5.1 Windows資料的來源 40
2.5.2 Intel處理器資料 42
2.6 構(gòu)建編程環(huán)境 42
2.6.1 IDE還是命令行 43
2.6.2 本書推薦的工作環(huán)境 43
2.6.3 嘗試編譯第一個程序 45
第3章 使用MASM 47
3.1 Win32匯編源程序的結(jié)構(gòu) 47
3.1.1 模式定義 49
3.1.2 段的定義 51
3.1.3 程序結(jié)束和程序入口 54
3.1.4 注釋和換行 54
3.2 調(diào)用API 55
3.2.1 API是什么 55
3.2.2 調(diào)用API 56
3.2.3 API參數(shù)中的等值定義 61
3.3 標(biāo)號、變量和數(shù)據(jù)結(jié)構(gòu) 63
3.3.1 標(biāo)號 63
3.3.2 全局變量 65
3.3.3 局部變量 66
3.3.4 數(shù)據(jù)結(jié)構(gòu) 69
3.3.5 變量的使用 71
3.4 使用子程序 75
3.4.1 子程序的定義 76
3.4.2 參數(shù)傳遞和堆棧平衡 77
3.5 高級語法 79
3.5.1 條件測試語句 80
3.5.2 分支語句 81
3.5.3 循環(huán)語句 83
3.6 代碼風(fēng)格 85
3.6.1 變量和函數(shù)的命名 86
3.6.2 代碼的書寫格式 88
3.6.3 代碼的組織 89
初級篇
第4章 第一個窗口程序 90
4.1 開始了解窗口 90
4.1.1 窗口是什么 90
4.1.2 窗口界面 91
4.1.3 窗口程序是怎么工作的 92
4.2 分析窗口程序 99
4.2.1 模塊和句柄 99
4.2.2 創(chuàng)建窗口 101
4.2.3 消息循環(huán) 108
4.2.4 窗口過程 110
4.3 窗口間的通信 115
4.3.1 窗口間的消息互發(fā) 115
4.3.2 在窗口間傳遞數(shù)據(jù) 119
4.3.3 SendMessage和PostMessage函數(shù)的區(qū)別 119
第5章 使用資源 121
5.1 菜單和加速鍵 121
5.1.1 菜單和加速鍵的組成 121
5.1.2 菜單和加速鍵的資源定義 122
5.1.3 使用菜單和加速鍵 128
5.2 圖標(biāo)和光標(biāo) 140
5.2.1 圖標(biāo)和光標(biāo)的資源定義 141
5.2.2 使用圖標(biāo)和光標(biāo) 141
5.3 位圖 145
5.3.1 位圖簡介 145
5.3.2 在資源中定義位圖 146
5.4 對話框 147
5.4.1 對話框簡介 147
5.4.2 對話框的資源定義 149
5.4.3 使用對話框 151
5.4.4 在對話框中使用子窗口控件 154
5.5 字符串資源 177
5.6 版本信息資源 178
5.6.1 版本信息資源的定義 179
5.6.2 在程序中檢測版本信息 181
5.7 二進(jìn)制資源和自定義資源 183
5.7.1 使用二進(jìn)制資源 183
5.7.2 使用自定義資源 184
第6章 定時器和Windows時間 185
6.1 定時器 185
6.1.1 定時器簡介 185
6.1.2 定時器的使用方法 186
6.2 Windows時間 190
6.2.1 Windows時間的獲取和設(shè)置 190
6.2.2 計(jì)算時間間隔 191
第7章 圖形操作 193
7.1 GDI原理 193
7.1.1 GDI程序的結(jié)構(gòu) 194
7.1.2 設(shè)備環(huán)境 197
7.1.3 色彩和坐標(biāo) 203
7.2 繪制圖形 205
7.2.1 畫筆和畫刷 212
7.2.2 繪制像素點(diǎn) 216
7.2.3 繪制圖形 216
7.2.4 繪圖模式 221
7.3 創(chuàng)建和使用位圖 222
7.3.1 一個使用位圖的時鐘例子 222
7.3.2 創(chuàng)建和使用位圖 232
7.3.3 使用設(shè)備無關(guān)位圖 233
7.4 塊傳送操作 235
7.4.1 塊傳送方式 236
7.4.2 塊傳送函數(shù) 237
7.5 區(qū)域和路徑 241
7.5.1 使用區(qū)域 241
7.5.2 使用路徑 243
界面篇
第8章 通用對話框 245
8.1 通用對話框簡介 245
8.2 使用通用對話框 252
8.2.1 “打開”文件和“保存”文件對話框 252
8.2.2 字體選擇對話框 254
8.2.3 “顏色”選擇對話框 256
8.2.4 “查找”和“替換”文本對話框 257
8.2.5 “頁面設(shè)置”對話框 260
8.2.6 “瀏覽目錄”對話框 261
第9章 通用控件 262
9.1 通用控件簡介 262
9.1.1 通用控件的分類 262
9.1.2 使用通用控件 263
9.2 使用狀態(tài)欄 268
9.2.1 創(chuàng)建狀態(tài)欄 273
9.2.2 狀態(tài)欄的控制消息 274
9.2.3 在狀態(tài)欄上顯示菜單提示信息 276
9.3 使用工具欄 277
9.3.1 創(chuàng)建工具欄 284
9.3.2 工具欄的控制消息 287
9.3.3 工具欄的通知消息 290
9.4 使用Richedit控件 294
9.4.1 創(chuàng)建Richedit控件 305
9.4.2 Richedit控件的控制消息 307
9.4.3 Richedit控件的通知消息 317
9.5 窗口的子類化 318
9.5.1 什么是窗口的子類化 318
9.5.2 窗口子類化的實(shí)現(xiàn) 319
9.6 控件的超類化 325
9.6.1 什么是控件的超類化 325
9.6.2 控件超類化的實(shí)現(xiàn) 325
系統(tǒng)篇
第10章 內(nèi)存管理和文件操作 330
10.1 內(nèi)存管理 330
10.1.1 內(nèi)存管理基礎(chǔ) 330
10.1.2 內(nèi)存的當(dāng)前狀態(tài) 331
10.1.3 標(biāo)準(zhǔn)內(nèi)存管理函數(shù) 333
10.1.4 堆管理函數(shù) 338
10.1.5 虛擬內(nèi)存管理函數(shù) 343
10.1.6 其他內(nèi)存管理函數(shù) 347
10.2 文件操作 348
10.2.1 Windows的文件I/O 348
10.2.2 創(chuàng)建和讀寫文件 350
10.2.3 查找文件 360
10.2.4 文件屬性 368
10.2.5 其他文件操作 369
10.3 驅(qū)動器和目錄 371
10.3.1 邏輯驅(qū)動器操作 372
10.3.2 目錄操作 375
10.4 內(nèi)存映射文件 377
10.4.1 內(nèi)存映射文件簡介 377
10.4.2 使用內(nèi)存映射文件 379
第11章 動態(tài)鏈接庫和鉤子 388
11.1 動態(tài)鏈接庫 388
11.1.1 動態(tài)鏈接庫的概念 388
11.1.2 編寫動態(tài)鏈接庫 389
11.1.3 使用動態(tài)鏈接庫 395
11.1.4 動態(tài)鏈接庫中的數(shù)據(jù)共享 404
11.1.5 在VC++中使用動態(tài)鏈接庫 405
11.2 Windows鉤子 408
11.2.1 什么是Windows鉤子 408
11.2.2 遠(yuǎn)程鉤子的安裝和使用 410
11.2.3 日志記錄鉤子 418
第12章 多線程 422
12.1 進(jìn)程和線程 422
12.2 多線程編程 423
12.2.1 一個單線程的“問題程序” 423
12.2.2 多線程的解決方法 427
12.2.3 與線程有關(guān)的函數(shù) 431
12.3 使用事件對象控制線程 435
12.3.1 事件 436
12.3.2 等待事件 437
12.3.3 進(jìn)一步改進(jìn)計(jì)數(shù)程序 439
12.4 線程間的同步 441
12.4.1 產(chǎn)生同步問題的原因 441
12.4.2 各種用于線程間同步的對象 446
第13章 過程控制 454
13.1 環(huán)境變量和命令行參數(shù) 454
13.1.1 環(huán)境變量 454
13.1.2 命令行參數(shù) 457
13.2 執(zhí)行可執(zhí)行文件 462
13.2.1 方法一:Shell調(diào)用 462
13.2.2 方法二:創(chuàng)建進(jìn)程 464
13.3 進(jìn)程調(diào)試 473
13.3.1 獲取運(yùn)行中的進(jìn)程句柄 473
13.3.2 讀寫進(jìn)程的地址空間 480
13.3.3 調(diào)試API的使用 484
13.4 進(jìn)程的隱藏 494
13.4.1 在Windows 9x中隱藏進(jìn)程 494
13.4.2 Windows NT中的遠(yuǎn)程線程 495
第14章 異常處理 508
14.1 異常處理的用途 508
14.2 使用篩選器處理異常 509
14.2.1 注冊回調(diào)函數(shù) 509
14.2.2 異常處理回調(diào)函數(shù) 511
14.3 使用SEH處理異常 515
14.3.1 注冊回調(diào)函數(shù) 516
14.3.2 異常處理回調(diào)函數(shù) 518
14.3.3 SEH鏈和異常的傳遞 521
14.3.4 展開操作(Unwinding) 523
應(yīng)用篇
第15章 注冊表和INI文件 527
15.1 注冊表和INI文件簡介 527
15.2 INI文件的操作 528
15.2.1 INI文件的結(jié)構(gòu) 528
15.2.2 管理鍵值 529
15.2.3 管理小節(jié) 537
15.2.4 使用不同的INI文件 538
15.3 對注冊表的操作 539
15.3.1 注冊表的結(jié)構(gòu) 539
15.3.2 管理子鍵 541
15.3.3 管理鍵值 552
15.3.4 子鍵和鍵值的枚舉 553
15.3.5 注冊表應(yīng)用舉例 557
第16章 WinSock接口和網(wǎng)絡(luò)編程 560
16.1 Windows Socket接口簡介 561
16.2 Windows Socket接口的使用 564
16.2.1 IP地址的轉(zhuǎn)換 564
16.2.2 套接字 568
16.2.3 網(wǎng)絡(luò)應(yīng)用程序的一般工作流程 571
16.2.4 監(jiān)聽、發(fā)起連接和接收連接 574
16.2.5 數(shù)據(jù)的收發(fā) 577
16.2.6 一個最簡單的TCP服務(wù)端程序 580
16.3 TCP應(yīng)用程序的設(shè)計(jì) 586
16.3.1 通信協(xié)議和工作線程的設(shè)計(jì) 587
16.3.2 TCP聊天室例子——服務(wù)器端 596
16.3.3 TCP聊天室例子——客戶端 604
16.3.4 以非阻塞方式工作的TCP聊天室客戶端 611
16.3.5 其他常用函數(shù) 622
第17章 PE文件 626
17.1 PE文件的結(jié)構(gòu) 626
17.1.1 概論 626
17.1.2 DOS文件頭和DOS塊 627
17.1.3 PE文件頭(NT文件頭) 629
17.1.4 節(jié)表和節(jié) 634
17.2 導(dǎo)入表 649
17.2.1 導(dǎo)入表簡介 649
17.2.2 導(dǎo)入表的結(jié)構(gòu) 651
17.2.3 查看PE文件導(dǎo)入表舉例 654
17.3 導(dǎo)出表 657
17.3.1 導(dǎo)出表的結(jié)構(gòu) 657
17.3.2 查看PE文件導(dǎo)出表舉例 660
17.4 資源 663
17.4.1 資源簡介 663
17.4.2 資源的組織方式 664
17.4.3 查看PE文件中的資源列表舉例 668
17.5 重定位表 672
17.5.1 重定位表的結(jié)構(gòu) 673
17.5.2 查看PE文件的重定位表舉例 675
17.6 應(yīng)用實(shí)例 677
17.6.1 動態(tài)獲取API入口地址 677
17.6.2 在PE文件上添加執(zhí)行代碼 684
第18章 ODBC數(shù)據(jù)庫編程 694
18.1 基礎(chǔ)知識 694
18.1.1 數(shù)據(jù)庫接口的發(fā)展歷史 694
18.1.2 SQL語言 697
18.1.3 ODBC程序的流程 699
18.2 連接數(shù)據(jù)庫 700
18.2.1 連接和斷開數(shù)據(jù)庫 700
18.2.2 連接字符串 706
18.3 數(shù)據(jù)的管理 709
18.3.1 執(zhí)行SQL語句 709
18.3.2 執(zhí)行結(jié)果的處理 714
18.3.3 獲取結(jié)果集中的數(shù)據(jù) 716
18.3.4 事務(wù)處理 721
18.4 數(shù)據(jù)庫操作的例子 723
18.4.1 結(jié)果集處理模塊 724
18.4.2 例子的源代碼 729
參考文獻(xiàn) 740
附錄A、B、C(見本書配套光盤)

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    Windows環(huán)境下32位匯編語言程序設(shè)計(jì)(典藏版)(含CD光盤1張) PDF格式下載


用戶評論 (總計(jì)0條)

 
 

 

250萬本中文圖書簡介、評論、評分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號-7