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

x86匯編語言程序設(shè)計(jì)

x86匯編語言程序設(shè)計(jì)

定 價(jià):¥48.80

作 者: 許向陽 著
出版社: 華中科技大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

購買這本書可以去


ISBN: 9787568063111 出版時(shí)間: 2020-08-01 包裝: 平裝
開本: 16開 頁數(shù): 340 字?jǐn)?shù):  

內(nèi)容簡介

  本書立足于目前使用為廣泛的Intel x8632和x8664系列的CPU、Windows操作系統(tǒng)及Visual Studio 2019開發(fā)平臺(tái),從匯編語言這種直觀和直接的角度,揭示計(jì)算機(jī)工作的基本原理、C語言語句和函數(shù)的處理過程、程序優(yōu)化的技巧。 全書共分為19章。前5章介紹了匯編語言程序設(shè)計(jì)的基本知識,包括CPU、內(nèi)存、尋址方式和常用機(jī)器指令;第6章至第11章介紹了x8632位控制臺(tái)應(yīng)用程序設(shè)計(jì),包括順序和分支、循環(huán)、子程序設(shè)計(jì)、多模塊化程序設(shè)計(jì);第12章為中斷和異常處理;第13章是Win32窗口程序設(shè)計(jì);第14章至第17章介紹了x87 FPU、MMX、SSE、AVX程序設(shè)計(jì);第18章為x8664位匯編程序設(shè)計(jì);第19章為上機(jī)操作。 本書內(nèi)容新穎,覆蓋面廣,重點(diǎn)突出,直觀易懂,趣味性強(qiáng),可供各類高等院校計(jì)算機(jī)及相關(guān)專業(yè)作為教材,也可供廣大使用匯編語言的工程技術(shù)人員參考。

作者簡介

  華中科技大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院副教授。1991年畢業(yè)于華中科技大學(xué)計(jì)算機(jī)學(xué)院,獲得軟件專業(yè)碩士學(xué)位。從事數(shù)據(jù)庫科研工作多年,對數(shù)據(jù)庫管理系統(tǒng)的總體設(shè)計(jì)、并發(fā)控制、查詢優(yōu)化、數(shù)據(jù)庫安全、并行數(shù)據(jù)庫有較深的研究,在國內(nèi)權(quán)威和重要期刊上發(fā)表論文20多篇。從事匯編語言程序設(shè)計(jì)、人工智能的教學(xué)工作多年,為國家精品課程“匯編語言程序設(shè)計(jì)”的主要建設(shè)者之一。

圖書目錄

1.1什么是匯編語言(1)
1.1.1機(jī)器語言(1)
1.1.2匯編語言(2)
1.2為什么學(xué)習(xí)匯編語言(4)
1.3如何學(xué)習(xí)匯編語言(7)
1.4匯編語言源程序舉例(9)
1.5計(jì)算機(jī)中信息編碼的奧秘(12)
1.6使用符號的說明(14)
習(xí)題1(15)
上機(jī)實(shí)踐1(16)
第2章Intel中央處理器(17)
2.1Intel公司微處理器的發(fā)展史(17)
2.2Intel x86微處理器結(jié)構(gòu)(19)
2.3執(zhí) 行 部 件(20)
2.3.132位CPU中的通用寄存器(21)
2.3.2通用寄存器應(yīng)用示例(22)
2.4標(biāo)志寄存器(23)
2.4.1條件標(biāo)志位(24)
2.4.2控制標(biāo)志位(26)
2.4.3系統(tǒng)標(biāo)志位(27)
2.5指令預(yù)取部件和指令譯碼部件(27)
2.6分段部件和分頁部件(28)
2.7x86的三種工作方式(30)
2.8Intel公司酷睿微體系結(jié)構(gòu)(31)
習(xí)題2(33)
上機(jī)實(shí)踐2(34)
第3章主存儲(chǔ)器及數(shù)據(jù)在計(jì)算機(jī)內(nèi)的表示形式(35)
3.1主存儲(chǔ)器(35)
3.1.1數(shù)據(jù)存儲(chǔ)的基本形式(35)
3.1.2數(shù)據(jù)地址的類型及轉(zhuǎn)換(36)
3.2數(shù)值數(shù)據(jù)在計(jì)算機(jī)內(nèi)的表示形式(37)
3.2.1有符號數(shù)和無符號數(shù)表示法(37)
3.2.2BCD碼(38)
3.3字符數(shù)據(jù)在計(jì)算機(jī)內(nèi)的表示形式(39)
3.4數(shù)據(jù)段定義(39)
3.4.1數(shù)據(jù)定義偽指令(40)
3.4.2表達(dá)式(40)
3.4.3匯編地址計(jì)數(shù)器(42)
3.4.4數(shù)據(jù)段定義示例(43)
3.5主存儲(chǔ)器分段管理(44)
3.6主存儲(chǔ)器物理地址的形成(45)
3.6.18086和x8632實(shí)方式下物理地址的形成(45)
3.6.2保護(hù)方式下物理地址的形成(47)
習(xí)題3(50)
上機(jī)實(shí)踐3(51)
第4章尋址方式(53)
4.1尋址方式概述(53)
4.2立即尋址(54)
4.3寄存器尋址(56)
4.4直接尋址(57)
4.4.1直接尋址的基本概念(57)
4.4.2直接尋址的用法示例(58)
4.5寄存器間接尋址(60)
4.5.1寄存器間接尋址的基本用法(60)
4.5.2寄存器間接尋址與C語言指針的比較(62)
4.6變址尋址(63)
4.7基址加變址尋址(64)
4.8尋址方式綜合舉例(66)
4.9x86機(jī)器指令編碼規(guī)則(68)
4.108086/80386的尋址方式(73)
習(xí)題4(74)
上機(jī)實(shí)踐4(77)
第5章常用機(jī)器指令(79)
5.1通用機(jī)器指令概述(79)
5.2數(shù)據(jù)傳送指令(80)
5.2.1一般數(shù)據(jù)傳送指令(80)
5.2.2帶條件的數(shù)據(jù)傳送指令(82)
5.2.3堆棧操作指令(83)
5.2.4標(biāo)志寄存器傳送指令(86)
5.2.5地址傳送指令(88)
5.3算術(shù)運(yùn)算指令(89)
5.3.1加法指令(90)
5.3.2減法指令(91)
5.3.3乘法指令(92)
5.3.4除法指令(94)
5.3.5符號擴(kuò)展指令(95)
5.4邏輯運(yùn)算指令(95)
5.5移位指令(97)
5.7位操作和字節(jié)操作指令(99)
5.8標(biāo)志位控制指令和雜項(xiàng)指令(100)
5.9I/O指令(100)
習(xí)題5(102)
上機(jī)實(shí)踐5(103)
第6章順序和分支程序設(shè)計(jì)(105)
6.1概述(105)
6.2程序中的偽指令(107)
6.2.1處理器選擇偽指令(107)
6.2.2存儲(chǔ)模型說明偽指令(108)
6.2.3段定義及程序結(jié)束偽指令(109)
6.3轉(zhuǎn)移指令(110)
6.3.1轉(zhuǎn)移指令概述(110)
6.3.2簡單條件轉(zhuǎn)移指令(110)
6.3.3無符號條件轉(zhuǎn)移指令(111)
6.3.4有符號條件轉(zhuǎn)移指令(113)
6.3.5無條件轉(zhuǎn)移指令(114)
6.4簡單分支程序設(shè)計(jì)(115)
6.4.1C語言的if語句與匯編語句的對應(yīng)關(guān)系(115)
6.4.2分支程序設(shè)計(jì)示例(117)
6.4.3分支程序設(shè)計(jì)注意事項(xiàng)(120)
6.5多分支程序設(shè)計(jì)(121)
6.5.1多分支向無分支的轉(zhuǎn)化(121)
6.5.2switch語句的編譯(123)
6.6條件控制流偽指令(125)
習(xí)題6(128)
上機(jī)實(shí)踐6(129)
第7章循環(huán)程序設(shè)計(jì)(131)
7.1循環(huán)程序(131)
7.1.1循環(huán)程序的結(jié)構(gòu)(131)
7.1.2循環(huán)控制方法(132)
7.1.3循環(huán)控制指令(134)
7.2單重循環(huán)程序設(shè)計(jì)(137)
7.3多重循環(huán)程序設(shè)計(jì)(139)
7.4循環(huán)程序中的細(xì)節(jié)分析(141)
7.5與C循環(huán)程序反匯編的比較(145)
7.6循環(huán)控制偽指令(148)
習(xí)題7(150)
上機(jī)實(shí)踐7(151)
第8章子程序設(shè)計(jì)(152)
8.1子程序的概念(152)
8.2子程序的基本用法(153)
8.2.1子程序的定義(153)
8.2.2子程序的調(diào)用和返回(154)
8.2.3在主程序與子程序之間傳遞參數(shù)(155)
8.2.4子程序調(diào)用現(xiàn)場的保護(hù)(157)
8.2.5子程序設(shè)計(jì)應(yīng)注意的問題(158)
8.3子程序應(yīng)用示例(159)
8.3.1字符串的比較(159)
8.3.2數(shù)串轉(zhuǎn)換(161)
8.3.3串?dāng)?shù)轉(zhuǎn)換(163)
8.3.4自我修改返回地址的子程序(165)
8.3.5自我修改的子程序(168)
8.4C語言程序中函數(shù)的運(yùn)行機(jī)理(169)
8.5匯編語言中子程序的高級用法(172)
8.5.1局部變量的定義和使用(173)
8.5.2子程序的原型說明、定義和調(diào)用(174)
8.5.3子程序的高級用法舉例(176)
8.6遞歸子程序的設(shè)計(jì)(177)
習(xí)題8(180)
上機(jī)實(shí)踐8(181)
第9章串處理程序設(shè)計(jì)(183)
9.1串操作指令簡介(183)
9.2串傳送指令(185)
9.3串比較指令(187)
9.4串搜索指令(189)
9.5向目的串中存數(shù)指令(190)
9.6從源串中取數(shù)指令(191)
習(xí)題9(192)
上機(jī)實(shí)踐9(192)
第10章復(fù)合數(shù)據(jù)類型的定義和使用(194)
10.1結(jié)構(gòu)體(194)
10.1.1結(jié)構(gòu)體的定義(194)
10.1.2結(jié)構(gòu)變量的定義(195)
10.1.3結(jié)構(gòu)變量的訪問(196)
10.1.4結(jié)構(gòu)信息的自動(dòng)計(jì)算(198)
10.2結(jié)構(gòu)變量的數(shù)據(jù)存儲(chǔ)(200)
10.2.1匯編語言中結(jié)構(gòu)變量的存儲(chǔ)(200)
10.2.2與C語言結(jié)構(gòu)變量存儲(chǔ)的差異(201)
10.3聯(lián)合體(202)
習(xí)題10(203)
上機(jī)實(shí)踐10(203)
第11章程序設(shè)計(jì)的其他方法(205)
11.1匯編語言多模塊化程序設(shè)計(jì)(205)
11.2C語言程序和匯編語言程序的混合(209)
11.2.1函數(shù)的申明和調(diào)用(209)
11.2.2變量的申明和調(diào)用(210)
11.3內(nèi)嵌匯編(211)
11.4模塊程序設(shè)計(jì)中的注意事項(xiàng)(213)
11.5宏功能程序設(shè)計(jì)(214)
11.5.1宏定義(214)
11.5.2宏調(diào)用(215)
11.5.3宏指令與子程序的比較(216)
11.6可執(zhí)行文件的格式(217)
習(xí)題11(223)
上機(jī)實(shí)踐11(224)
第12章中斷和異常處理(225)
12.1中斷與異常的基礎(chǔ)知識(225)
12.1.1中斷和異常的概念(225)
12.1.2中斷描述符表(227)
12.1.3中斷和異常的響應(yīng)過程(229)
12.1.4軟中斷指令(230)
12.2Windows中的結(jié)構(gòu)化異常處理(231)
12.2.1編寫異常處理函數(shù)(231)
12.2.2異常處理程序的注冊(232)
12.2.3全局異常處理程序的注冊(234)
12.3C語言異常處理程序反匯編分析(236)
習(xí)題12(239)
上機(jī)實(shí)踐12(239)
第13章Win32窗口程序設(shè)計(jì)(242)
13.1Win32窗口程序設(shè)計(jì)基礎(chǔ) (242)
13.1.1窗口程序運(yùn)行的基本過程(242)
13.1.2Windows消息(245)
13.1.3Win32窗口程序的開發(fā)環(huán)境(247)
13.2Win32窗口應(yīng)用程序的結(jié)構(gòu)(248)
13.2.1主程序(248)
13.2.2窗口主程序(248)
13.2.3窗口消息處理程序(249)
13.3窗口應(yīng)用程序開發(fā)實(shí)例(250)
13.3.1不含資源的窗口程序(250)
13.3.2包含菜單和對話框的窗口程序(253)
13.4與C語言開發(fā)的窗口程序比較(260)
習(xí)題13(264)
上機(jī)實(shí)踐13(264)
第14章x87 FPU程序設(shè)計(jì)(265)
14.1浮點(diǎn)數(shù)據(jù)(265)
14.1.1浮點(diǎn)數(shù)據(jù)在機(jī)內(nèi)的表示形式(265)
14.1.2浮點(diǎn)類型變量的定義(267)
14.2x87 FPU的寄存器(268)
14.2.1x87 FPU數(shù)據(jù)寄存器(268)
14.2.2x87 FPU其他寄存器(269)
14.3x87 FPU指令(271)
14.4浮點(diǎn)數(shù)處理程序示例(274)
習(xí)題14(277)
上機(jī)實(shí)踐14(277)
第15章MMX程序設(shè)計(jì)(278)
15.1MMX技術(shù)簡介(278)
15.2MMX指令簡介(280)
15.3MMX編程示例(282)
15.4使用C語言編寫MMX應(yīng)用程序(285)
習(xí)題15(286)
上機(jī)實(shí)踐15(287)
第16章SSE程序設(shè)計(jì)(288)
16.1SSE技術(shù)簡介(288)
16.2SSE指令簡介(289)
16.2.1組合和標(biāo)量單精度浮點(diǎn)指令(290)
16.2.2SSE 64位SIMD整數(shù)指令(292)
16.2.3MXCSR狀態(tài)管理指令(293)
16.2.4緩存控制指令(293)
16.3SSE2及后續(xù)版本的指令簡介(293)
16.3.1組合雙精度浮點(diǎn)數(shù)和標(biāo)量雙精度浮點(diǎn)數(shù)指令(294)
16.3.264位和128位整數(shù)指令(295)
16.4SSE編程示例(296)
16.5使用C語言編寫SSE應(yīng)用程序(297)
習(xí)題16(299)
上機(jī)實(shí)踐16(300)
第17章AVX程序設(shè)計(jì)(301)
17.1AVX技術(shù)簡介(301)
17.2AVX指令簡介(302)
17.2.1新指令(302)
17.2.2功能擴(kuò)展指令(303)
17.3AVX編程示例(304)
習(xí)題17(306)
上機(jī)實(shí)踐17(306)
第18章x8664位匯編程序設(shè)計(jì)(307)
18.1x8664的運(yùn)行環(huán)境(307)
18.1.1寄存器(307)
18.1.2尋址方式(308)
18.1.3指令系統(tǒng)(309)
18.264位的程序設(shè)計(jì)(309)
18.2.164位平臺(tái)下與32位平臺(tái)下的區(qū)別(309)
18.2.2顯示一個(gè)消息框(312)
18.2.3浮點(diǎn)數(shù)運(yùn)算(312)
18.2.4程序自我修改(313)
18.3x8664機(jī)器指令編碼規(guī)則(314)
習(xí)題18(317)
上機(jī)實(shí)踐18(317)
第19章上機(jī)操作(318)
19.1創(chuàng)建工程和生成可執(zhí)行程序(318)
19.2程序的調(diào)試(319)
19.3編譯鏈接器的配置(322)
19.4其他操作(324)
附錄ASCII字符表(326)
參考文獻(xiàn)(327)

本目錄推薦

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