
x86彙编语言:从实模式到保护模式
《x86彙编语言:从实模式到保护模式》主要讲述INTEL x86处理器的16位实模式、32位保护模式,至于虚拟8086模式,则是为了兼容传统的8086程式,现在看来已经完全过时,不再进行讲述。《x86彙编语言:从实模式到保护模式》的特色之一是提供了大量典型的原始码,这些代码以及相配套的工具程式可以到书中指定的网站,或者电子工业出版社华信教育资源网搜寻下载。
每一种处理器都有它自己的机器指令集,而彙编语言的发明则是为了方便这些机器指令的记忆和书写。儘管彙编语言已经较少用于大型软体程式的开发,但从学习者的角度来看,要想真正理解计算机的工作原理,掌握它内部的运行机制,学习彙编语言是必不可少的。本书採用开源的NASM彙编语言编译器和VirtualBox虚拟机软体,以个人计算机广泛採用的Intel处理器为基础,详细讲解了Intel处理器的指令系统和工作模式,以大量的代码演示了16/32/64位软体的开发方法,介绍了处理器的16位实模式和32位保护模式,以及基本的指令系统。这是一本有趣的书,它没有把篇幅花在计算一些枯燥的数学题上。相反,它教你如何直接控制硬体,在不藉助于BIOS、DOS、Windows、Linux或者任何其他软体支持的情况下来显示字元、读取硬碟数据、控制其他硬体等。本书可作为大专院校相关专业学生和计算机编程爱好者的教程。
基本介绍
- 中文名:x86彙编语言:从实模式到保护模式
- 书名:x86彙编语言:从实模式到保护模式
- 类型:计算机与网际网路
- 出版日期:2013年1月1日
- 语种:简体中文
- ISBN:9787121187995
- 作者:李忠 王晓波
- 出版社:电子工业出版社
- 页数:375页
- 开本:16
- 品牌:电子工业出版社
- 隶属:彙编语言
- 讲述内容:INTELx86实模式、保护模式
- 价格:56.00
内容简介
《x86彙编语言:从实模式到保护模式》主要讲述INTEL x86处理器的16位实模式、32位保护模式,至于虚拟8086模式,则是为了兼容传统的8086程式,现在看来已经完全过时,不再进行讲述。《x86彙编语言:从实模式到保护模式》的特色之一是提供了大量典型的原始码,这些代码以及相配套的工具程式可以到书中指定的网站,或者电子工业出版社华信教育资源网搜寻下载。

图书目录
第1部分 预备知识
第1章 十六进制计数法
1.1 二进制计数法回顾
1.1.1 关于二进制计数法
1.1.2 二进制到十进制的转换
1.1.3 十进制到二进制的转换
1.2 十六进制计数法
1.2.1 十六进制计数法的原理
1.2.2 十六进制到十进制的转换
1.2.3 十进制到十六进制的转换
1.3 为什幺需要十六进制
本章习题
第2章 处理器、记忆体和指令
2.1 最早的处理器
2.2 暂存器和算术逻辑部件
2.3 记忆体储器
2.4 指令和指令集
2.5 古老的Intel 8086处理器
2.5.18086的通用暂存器
2.5.2 程式的重定位难题
2.5.3 记忆体分段机制
2.5.48086的记忆体分段机制
本章习题
第3章 彙编语言和彙编软体
3.1 彙编语言简介
3.2 NASM编译器
3.2.1 NASM的下载和安装
3.2.2 代码的书写和编译过程
3.2.3 用HexView观察编译后的机器代码
本章习题
第4章 虚拟机的安装和使用
4.1 计算机的启动过程
4.1.1 如何将编译好的程式提交给处理器
4.1.2 计算机的加电和复位
4.1.3 基本输入输出系统
4.1.4 硬碟及其工作原理
4.1.5 一切从主引导扇区开始
4.2 创建和使用虚拟机
4.2.1 别害怕,虚拟机是软体
4.2.2 下载和安装Oracle VM VirtualBox
4.2.3 虚拟硬碟简介
4.2.4 练习使用FixVhdWr工具向虚拟硬碟写数据
第2部分 实模式
第5章 编写主引导扇区代码
5.1 本章代码清单
5.2 欢迎来到主引导扇区
5.3 注释
5.4 在萤幕上显示文字
5.4.1 显示卡和显存
5.4.2 初始化段暂存器
5.4.3 显存的访问和ASCII代码
5.4.4 显示字元
5.4.5 MOV指令的格式
5.5 显示标号的彙编地址
5.5.1 标号
5.5.2 如何显示十进制数字
5.5.3 在程式中声明并初始化数据
5.5.4 分解数的各个数位
5.5.5 显示分解出来的各个数位
5.5 使程式进入无限循环状态
5.7 完成并编译主引导扇区代码
5.7.1 主引导扇区有效标誌
5.7.2 代码的保存和编译
5.8 载入和运行主引导扇区代码
5.8.1 把编译后的指令写入主引导扇区
5.8.2 启动虚拟机观察运行结果
5.9 程式的调试技术
5.9.1 开源的Bochs虚拟机软体
5.9.2 Bochs下的程式调试入门
本章习题
第6章 相同的功能,不同的代码
6.1 代码清单6-1
6.2 跳过非指令的数据区
6.3 在数据声明中使用字面值
6.4 段地址的初始化
6.5 段之间的批量数据传送
6.6 使用循环分解数位
6.7 计算机中的负数
6.7.1 无符号数和有符号数
6.7.2 处理器视角中的数据类型
6.8 数位的显示
6.9 其他标誌位和条件转移指令
6.9.1 奇偶标誌位PF
6.9.2 进位标誌CF
6.9.3 溢出标誌OF
6.9.4 现有指令对标誌位的影响
6.9.5 条件转移指令
6.10 NASM编译器的$和$$标记
6.11 观察运行结果
6.12 本章程式的调试
6.12.1 调试命令“n”的使用
6.12.2 调试命令“u”的使用
6.12.3 用调试命令“info”察看标誌位
本章习题
第7章 比高斯更快的计算
7.1 从1加到100的故事
7.2 代码清单7-1
7.3 显示字元串
7.4 计算1到100的累加和
7.5 累加和各个数位的分解与显示
7.5.1 栈和栈段的初始化
7.5.2 分解各个数位并压栈
7.5.3 出栈并显示各个数位
7.5.4 进一步认识堆叠
7.6 程式的编译和运行
7.6.1 观察程式的运行结果
7.6.2 在调试过程中察看栈中内容
7.78086处理器的定址方式
7.7.1 暂存器定址
7.7.2 立即定址
7.7.3 记忆体定址
本章习题
第8章 硬碟和显示卡的访问与控制
8.1 本章代码清单
8.2 用户程式的结构
8.2.1 分段、段的彙编地址和段内彙编地址
8.2.2 用户程式头部
8.3 载入程式(器)的工作流程
8.3.1 初始化和决定载入位置
8.3.2 準备载入用户程式
8.3.3 外围设备及其接口
8.3.4 I/O连线埠和连线埠访问
8.3.5 通过硬碟控制器连线埠读扇区数据
8.3.6 过程调用
8.3.7 载入用户程式
8.3.8 用户程式重定位
8.3.9 将控制权交给用户程式
8.3.10 处理器的无条件转移指令
8.4 用户程式的工作流程
8.4.1 初始化段暂存器和栈切换
8.4.2 调用字元串显示例程
8.4.3 过程的嵌套
8.4.4 萤幕游标控制
8.4.5 取当前游标位置
8.4.6 处理回车和换行字元
8.4.7 显示可列印字元
8.4.8 滚动萤幕内容
8.4.9 重置游标
8.4.10 切换到另一个代码段中执行
8.4.11 访问另一个数据段
8.5 编译和运行程式并观察结果
本章习题
第9章 中断和动态时钟显示
9.1 外部硬体中断
9.1.1 非禁止中断
9.1.2 可禁止中断
9.1.3 实模式下的中断向量表
9.1.4 实时时钟、CMOS RAM和BCD编码
9.1.5 代码清单9-1
9.1.6 初始化8259、RTC和中断向量表
9.1.7 使处理器进入低功耗状态
9.1.8 实时时钟中断的处理过程
9.1.9 代码清单9-1的编译和运行
9.2 内部中断
9.3 软中断
9.3.1 BIOS中断
9.3.2 代码清单9-2
9.3.3 从键盘读字元并显示
9.3.4 代码清单9-2的编译和运行
本章习题
……
第3部分 32位保护模式
附录1 本书用到的x86指令及其页码
附录2 本书用到的重要图表及其页码
转载请注明出处海之美文 » x86彙编语言:从实模式到保护模式