x86汇编语言:从实模式到保护模式(第2版)

x86汇编语言:从实模式到保护模式(第2版)

汇编语言不单是一门程序设计语言

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。
9.839 评价豆瓣读书

作品简介

《x86汇编语言》第二版有以下变化:

1.在书的前面添加基础性的内容,用来说明汇编语言的由来和必要性,说明汇编语言编程的特点,以期平滑自然地进入汇编语言主题;

2.原书中对指令系统及x86指令格式的描述过于简略,此版增补这部分内容;

3.读者普遍反映第14章太难太紧凑,此版将相关内容拆分,降低学习的难度;

4.整个保护模式部分以现在的观点来看,内容组织不够合理,予以重新组织,配书代码重新编写和组织;

5.原书中有模糊的错误的表述,此版予以更正。

李忠,主要出版著作《穿越计算机的迷雾》《x86汇编语言:从实模式到保护模式》《穿越计算机的迷雾(第2版)》《C语言非常道》等。

作品目录

  1. 第2版前言
  2. 第1版 前言
  3. 第1部分 预备知识
  4. 第1章 十六进制计数法
  5. 1.1 二进制计数法回顾
  6. 1.2 十六进制计数法
  7. 1.3 使用Windows计算器方便你的学习过程
  8. 本章习题
  9. 第2章 计算机和汇编语言
  10. 2.1 用电表示数字
  11. 2.2 二进制加法机
  12. 2.3 具有记忆功能的器件——寄存器
  13. 2.4 带寄存器的加法机
  14. 2.5 能做四则运算的机器
  15. 2.6 机器指令
  16. 2.7 内 存
  17. 2.8 自动计算
  18. 2.9 处理器
  19. 2.10 汇编语言的诞生
  20. 本章习题
  21. 第3章 分段机制和逻辑地址
  22. 3.1 寄存器和字长
  23. 3.2 内存访问和字节序
  24. 3.3 古老的INTEL 8086处理器
  25. 本章习题
  26. 第4章 汇编语言和汇编软件
  27. 4.1 汇编语言程序
  28. 4.2 NASM编译器
  29. 4.3 配书文件包的下载和使用
  30. 本章习题
  31. 第2部分 实模式
  32. 第5章 虚拟机的安装和使用
  33. 5.1 计算机的启动过程
  34. 5.2 创建和使用虚拟机
  35. 第6章 编写主引导扇区代码
  36. 6.1 本章代码清单
  37. 6.2 欢迎来到主引导扇区
  38. 6.3 注 释
  39. 6.4 在屏幕上显示文字
  40. 6.5 显示标号的汇编地址
  41. 6.6 使程序进入无限循环状态
  42. 6.7 完成并编译主引导扇区代码
  43. 6.8 加载和运行主引导扇区代码
  44. 6.9 程序的调试技术
  45. 本章习题
  46. 第7章 相同的功能,不同的代码
  47. 7.1 代码清单7-1
  48. 7.2 跳过非指令的数据区
  49. 7.3 在数据声明中使用字面值
  50. 7.4 段地址的初始化
  51. 7.5 段之间的批量数据传送
  52. 7.6 使用循环分解数位
  53. 7.7 计算机中的负数
  54. 7.8 数位的显示
  55. 7.9 其他标志位和条件转移指令
  56. 7.10 NASM编译器的$和$$标记
  57. 7.11 观察运行结果
  58. 7.12 本章程序的调试
  59. 本章习题
  60. 第8章 比高斯更快的计算
  61. 8.1 从1加到100的故事
  62. 8.2 代码清单8-1
  63. 8.3 显示字符串
  64. 8.4 计算1到100的累加和
  65. 8.5 累加和各个数位的分解与显示
  66. 8.6 程序的编译和运行
  67. 8.7 8086处理器的寻址方式
  68. 本章习题
  69. 第9章 硬盘和显卡的访问与控制
  70. 9.1 本章代码清单
  71. 9.2 用户程序的结构
  72. 9.3 加载程序(器)的工作流程
  73. 9.4 用户程序的工作流程
  74. 9.5 编译和运行程序并观察结果
  75. 本章习题
  76. 第3部分 保护模式
  77. 第10章 中断和动态时钟显示
  78. 10.1 外部硬件中断
  79. 10.2 内部中断
  80. 10.3 软中断
  81. 本章习题
  82. 第11章 32位x86处理器编程架构
  83. 11.1 IA-32架构的基本执行环境
  84. 11.2 现代处理器的结构和特点
  85. 11.3 32位处理器的寻址方式
  86. 第12章 进入保护模式
  87. 12.1 代码清单12-1
  88. 12.2 全局描述符表
  89. 12.3 存储器的段描述符
  90. 12.4 安装存储器的段描述符并加载GDTR
  91. 12.5 关于第21条地址线A20的问题
  92. 12.6 保护模式下的内存访问
  93. 12.7 程序的运行和调试
  94. 本章习题
  95. 第13章 操作数和有效地址的尺寸
  96. 13.1 代码清单13-1
  97. 13.2 INTEL 80286处理器的16位保护模式
  98. 13.3 指令的操作尺寸
  99. 13.4 清空流水线并串行化处理器
  100. 13.5 有效地址尺寸和内存访问
  101. 13.6 一般指令在32位操作尺寸下的扩展
  102. 本章习题
  103. 第14章 存储器的保护
  104. 14.1 代码清单14-1
  105. 14.2 进入32位保护模式
  106. 14.3 修改段寄存器时的保护
  107. 14.4 地址变换时的保护
  108. 14.5 使用别名访问代码段对字符排序
  109. 14.6 程序的编译和运行
  110. 本章习题
  111. 第15章 程序的动态加载和执行
  112. 15.1 本章代码清单
  113. 15.2 内核的结构、功能和加载
  114. 15.3 在内核中执行
  115. 15.4 用户程序的加载和重定位
  116. 15.5 执行用户程序
  117. 15.6 代码的编译、运行和调试
  118. 本章习题
  119. 第16章 任务和特权级保护
  120. 16.1 任务的隔离和特权级保护
  121. 16.2 代码清单16-1
  122. 16.3 内核程序的初始化
  123. 16.4 加载用户程序并创建任务
  124. 16.5 用户程序的执行
  125. 本章习题
  126. 第17章 协同式任务切换
  127. 17.1 本章代码清单
  128. 17.2 任务切换前的设置
  129. 17.3 任务切换的方法
  130. 17.4 用jmp指令发起任务切换的实例
  131. 17.5 处理器在实施任务切换时的操作
  132. 17.6 程序的编译和运行
  133. 本章习题
  134. 第18章 中断和异常的处理与抢占式多任务
  135. 18.1 中断和异常
  136. 18.2 本章代码清单
  137. 18.3 内核的加载和初始化
  138. 18.4 内核任务的创建
  139. 18.5 用户任务的创建和执行
  140. 18.6 程序的编译和执行
  141. 本章习题
  142. 第19章 分页机制和动态页面分配
  143. 19.1 分页机制概述
  144. 19.2 本章代码清单
  145. 19.3 使内核在分页机制下工作
  146. 19.4 创建内核任务
  147. 19.5 用户任务的创建和切换
  148. 19.6 程序的编译、执行和调试
  149. 本章习题
  150. 第20章 平坦内存模型和软件任务切换
  151. 20.1 多段模型和平坦模型
  152. 20.2 本章代码清单
  153. 20.3 初始化系统并加载内核
  154. 20.4 内核的初始化
  155. 20.5 用户任务的创建
  156. 20.6 软件任务切换
  157. 20.7 内核任务的执行
  158. 20.8 用户任务的执行
  159. 本章习题
载入中