注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計程序設計綜合x86/x64體系探索及編程

x86/x64體系探索及編程

x86/x64體系探索及編程

定 價:¥119.00

作 者: 鄧志
出版社: 電子工業(yè)出版社
叢編項:
標 簽: 計算機理論

ISBN: 9787121181764 出版時間: 2012-10-01 包裝: 平塑勒單襯
開本: 16開 頁數(shù): 840 字數(shù):  

內(nèi)容簡介

  《x86/x64體系探索及編程》是對Intel手冊所述處理器架構的探索和論證。全書分五大部分,對多個方面對處理器架構相關的知識進行了梳理介紹。書中每個章節(jié)都有相應的測試實驗,所運行的實驗例子都可以在真實的機器上執(zhí)行。通過閱讀本書,讀者應能培養(yǎng)自己動手實驗的能力。如果再有一些OS方面的相關知識,基本上就可以寫出自己簡易的OS核心。

作者簡介

  鄧志,1977年生于廣東,在銀行工作十余年,現(xiàn)自由職業(yè)者。對計算機有一股熱情和蠻勁,善于思考,特別喜歡琢磨底層架構。熟悉C語言,并且精通x86/x64平臺的匯編語言與機器指令系統(tǒng),能用匯編寫簡易的OS核心。

圖書目錄

第一篇 x86基礎第1章  數(shù)與數(shù)據(jù)類型      21.1  數(shù)   21.1.1  數(shù)字   21.1.2  二進制數(shù)   31.1.3  二進制數(shù)的排列      31.1.4  十六進制數(shù)      51.1.5  八進制數(shù)與十進制數(shù)      51.2  數(shù)據(jù)類型      61.2.1  integer數(shù)   61.2.2  floating-point數(shù) 91.2.3  real number(實數(shù))與NaN(not anumber)      111.2.4  unsupported編碼值   141.2.5  浮點數(shù)精度的轉(zhuǎn)換   151.2.6  浮點數(shù)的溢出   171.2.7  BCD碼      201.2.8  SIMD數(shù)據(jù) 21第2章 x86/x64編程基礎  232.1  選擇編譯器   232.2  機器語言      242.3  Hello world  252.3.1  使用寄存器傳遞參數(shù)      262.3.2  調(diào)用過程   272.3.3  定義變量   272.4  16位編程、32位編程,以及64位編程   282.4.1  通用寄存器      282.4.2  操作數(shù)大小      302.4.3  64位模式下的內(nèi)存地址   302.4.4  內(nèi)存尋址模式   312.4.5  內(nèi)存尋址范圍   342.4.6  使用的指令限制      342.5  編程基礎      342.5.1  操作數(shù)尋址      352.5.2  傳送數(shù)據(jù)指令   392.5.3  位操作指令      452.5.4  算術指令   472.5.5  CALL與RET指令  482.5.6  跳轉(zhuǎn)指令   482.6  編輯與編譯、運行      48第3章  編寫本書的實驗例子    503.1  實驗的運行環(huán)境   503.2  生成空白的映像文件   523.2.1  使用nasm編譯器生成     523.2.2  使用bximage工具    523.3  設置bochs配置文件    533.4  源代碼的基本結構      543.5  編譯源代碼   553.6  映像文件內(nèi)的組織      553.7  使用merge工具   563.7.1  merge的配置文件    573.7.2  執(zhí)行merge命令      573.8  使用U盤啟動真實機器      583.8.1  使用merge工具寫U盤   583.8.2  使用hex編輯軟件寫U盤      593.9  編寫boot代碼     603.9.1  LBA轉(zhuǎn)換為CHS     623.9.2  測試是否支持int13h擴展功能      633.9.3  使用int13h擴展讀磁盤  643.9.4  最后看看load_module()   643.10  總結    66第4章  處理器的身份      674.1  測試是否支持CPUID指令674.2  CPUID指令的術語及表達  684.3  基本信息與擴展信息   684.4  處理器的型號(family,model與stepping)      724.5  最大的物理地址和線性地址      734.6  處理器擴展狀態(tài)信息   744.6.1  探測Processor ExtendedState子葉 754.6.2  Processor ExtendedState子葉所需內(nèi)存size   764.6.3  Processor ExtendedState的保存     774.6.4  Processor ExtendedState的恢復     784.7  處理器的特性      784.8  處理器的Cache與TLB信息     804.9  MONITOR/MWAIT信息     834.10  處理器的longmode   84第5章  了解Flags     855.1  Eflags中的狀態(tài)標志位      865.1.1  signed數(shù)的運算 865.1.2  unsigned數(shù)的運算    895.2  IOPL標志位 905.3  TF標志與RF標志     935.4  NT標志 955.5  AC標志 965.6  VM標志      985.7  eflags寄存器的其他事項    99第6章  處理器的控制寄存器    1016.1 CR8       1026.2 CR3       1036.3 CR0       1046.3.1  保護模式位PE  1046.3.2  x87 FPU單元的執(zhí)行環(huán)境      1046.3.3  CR0.PG控制位 1086.3.4  CR0.CD與CR0.NW控制位    1086.3.5  CR0.WP控制位 1106.3.6  CR0.AM控制位      1106.4 CR4       1106.4.1  CR4.TSD與CR4.PCE控制位 1106.4.2  CR4.DE與CR4.MCD控制位 1116.4.3  CR4.OSFXSR控制位      1116.4.4  CR4.VMXE與CR4.SMXE控制位 1116.4.5  CR4.PCIDE與CR4.SMEP控制位 1126.4.6  CR4.OSXSAVE控制位    1136.4.7  CR4中關于頁的控制位   1136.5  EFER擴展功能寄存器      114第7章 MSR       1167.1  MSR的使用 1167.2  MTRR   1177.2.1  Fixed-range區(qū)域的映射   1187.2.2  MTRR的功能寄存器      1207.3  MSR中對特殊指令的支持  1247.3.1  支持sysenter/sysexit指令的MSR    1257.3.2  支持syscall/sysret指令的MSR      1267.3.3  支持swapgs指令的MSR 1277.3.4  支持monitor/mwait指令的MSR    1287.4  提供processorfeature管理  1297.5  其他未列出來的MSR  1297.6  關于MSR一些后續(xù)說明    129第二篇  處理器的工作模式第8章  實地址模式    1328.1  真實的地址   1328.2  real mode的編址 1328.3  real mode的狀態(tài) 1338.4  段基址的計算      1348.5  第1條執(zhí)行的指令      1348.6  實模式下的執(zhí)行環(huán)境   1358.7  實模式下的IVT   1358.8  突破64K段限      1368.9  A20地址線   137第9章 SMM系統(tǒng)管理模式探索      1389.1  進入SMM    1389.2  SMM的運行環(huán)境 1419.2.1  SMRAM區(qū)域    1419.2.2  SMM執(zhí)行環(huán)境的初始化  1439.2.3  SMM下的operand與address  1449.2.4  SMM下的CS與EIP      1449.2.5  SMM下的SS與ESP      1459.3  SMM里的中斷    1459.4  SMI的Back-to-Back響應   1479.5  SMM里開啟保護模式 1479.6  SMM的版本 1489.7  I/O指令的重啟及Halt重啟      1519.8  SMM的退出 1529.9  SMBASE的重定位     1539.10  SMI處理程序的初始化    1549.11  SMM的安全      1569.11.1  芯片組的控制  1569.11.2  處理器對SMRAM空間的限制     1589.11.3  cache的限制    1609.12  測試SMI處理程序    161第10章 x86/x64保護模式體系(上)    16310.1  x86/x64的權限   16410.2  保護模式下的環(huán)境    16410.2.1  段式管理所使用的資源  16510.2.2  paging分頁機制所使用的資源     16510.3  物理地址的產(chǎn)生 16610.4  段式管理機制    16710.4.1  段式內(nèi)存管理  16810.4.2  段式的保護措施     16810.5  段式管理的數(shù)據(jù)結構 16910.5.1  SegmentSelector(段選擇子)     16910.5.2  DescriptorTable(描述符表)      17210.5.3  Segment SelectorRegister(段寄存器)      17410.5.4  SegmentDescriptor(段描述符)  17510.5.5  LDT描述符與LDT 25810.6  開啟保護模式    26010.6.1  初始化GDT    26010.6.2  初始化IDT     26210.6.3  切換到保護模式     263第11章 x86/x64保護模式體系(下)    26511.1  物理頁面     26511.1.1  處理器的最高物理地址(MAXPHYADDR)      26611.1.2  物理頁面的大小     26711.1.3  頁轉(zhuǎn)換模式(PagingMode) 26811.2  paging機制下使用的資源 27011.2.1  寄存器     27011.2.2  CPUID查詢leaf     27011.2.3  寄存器的控制位     27111.2.4  頁轉(zhuǎn)換表資源  27211.3  32位paging模式(non-PAE模式)      27311.3.1  CR3結構 27411.3.2  32位paging模式下的PDE結構   27511.3.3  使用32位paging    27911.4  PAE paging模式 28211.4.1  在Intel64下的CR3與PDPTE寄存器 28311.4.2  在AMD64下的CR3     28511.4.3  PAE paging模式里的PDPTE結構      28611.4.4  PAE paging模式里的PDE結構    28611.4.5  PAE paging模式里的PTE結構    28811.4.6  使用和測試PAEpaging模式 28811.4.7  使用和測試ExecutionDisable功能      29211.5  IA-32e paging模式    29711.5.1  IA-32e paging模式下的CR3  29911.5.2  IA-32e paging模式下的PML4E結構   30211.5.3  IA-32e paging模式下的PDPTE結構   30211.5.4  IA-32e paging模式下的PDE結構      30311.5.5  IA-32e paging模式下的PTE

本目錄推薦

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