书名:新概念汇编语言面向工程教育认证计算机系列课程规划教材普通高等教育十一五国家级规划教材
定价:69.5元
作者:杨季文
出版社:清华大学出版社
出版日期:2017-10-1
ISBN:9787302476344
页码:493
商品重量:暂无页数信息
编辑推荐
暂无信息
内容提要
本书设定新目标,采用新方法,基于新平台,讲解IA-32结构系列(80x86系列)CPU的32位编程。本书分为4个部分:第一部分利用VC2010环境的嵌入汇编和目标代码,介绍IA-32系列(80x86系列)CPU的基本功能和32位编程技术;第二部分利用开源汇编器NASM、开源虚拟机VirtualBox和模拟器Bochs,介绍汇编语言和计算机系统底层输入输出的实现方式;第三部分详细讲解bao护方式编程技术,生动展示bao护方式编程细节;第四部分简要说明相关软件工具的使用。本书依托高级语言,讲解低级语言;利用虚拟平台,演示系统原理。第一部分和第二部分可作为高校计算机及电子信息类专业学生学习汇编语言的教材,第三部分可作为编程爱好者学习bao护方式编程技术的教材或参考书。
目录
目录第1章基础知识1.1CPU简介1.1.1目标代码1.1.2基本功能1.2汇编语言概念1.2.1机器指令1.2.2汇编格式指令1.2.3汇编语言及其优缺点1.3数据的表示和存储1.3.1数值数据的表示1.3.2非数值数据的表示1.3.3基本数据类型1.3.4数据的存储习题第2章IA32处理器基本功能2.1IA32处理器简介2.1.1IA32系列处理器2.1.2bao护方式和实地址方式2.2通用寄存器及使用2.2.1通用寄存器2.2.2简单传送指令2.2.3简单加减指令2.2.4VC嵌入汇编和实验2.3标志寄存器及使用2.3.1标志寄存器2.3.2状态标志2.3.3状态标志操作指令2.3.4带进位加减指令2.4段寄存器及使用2.4.1存储器分段2.4.2逻辑地址2.4.3段寄存器2.5寻址方式2.5.1立即寻址方式和寄存器寻址方式2.5.232位的存储器寻址方式2.5.3取有效地址指令2.6指令指针寄存器和单控制转移2.6.1指令指针寄存器2.6.2常用条件转移指令2.6.3比较指令和数值大小比较2.6.4简单的无条件转移指令2.7堆栈和堆栈操作2.7.1堆栈2.7.2堆栈操作指令习题第3章程序设计初步3.1堆栈的作用3.1.1过程调用和返回指令3.1.2参数传递3.1.3局部变量3.2算术逻辑运算指令3.2.1乘除运算指令3.2.2逻辑运算指令3.2.3移位指令3.3分支程序设计3.3.1分支程序设计示例3.3.2无条件和条件转移指令3.3.3多路分支的实现3.4循环程序设计3.4.1循环程序设计示例3.4.2循环指令3.4.3多重循环设计举例3.5子程序设计3.5.1子程序设计要点3.5.2子程序设计举例3.5.3子程序调用方法习题第4章字符串操作和位操作4.1字符串操作4.1.1字符串操作指令4.1.2重复操作前缀4.1.3应用举例4.2位操作4.2.1位操作指令4.2.2应用举例4.3条件设置字节指令4.3.1条件设置字节指令概述4.3.2应用举例习题第5章VC目标代码的阅读理解5.1汇编语言形式的目标代码5.1.1基本样式5.1.2符号化表示5.2C语言部分编译的解析5.2.1类型的转换5.2.2表达式求值5.2.3指针的本质5.2.4结构体变量5.3C++部分功能实现细节5.3.1引用5.3.2通过引用传递参数5.3.3函数重载5.3.4虚函数5.4目标程序的优化5.4.1关于程序优化5.4.2使大小最小化5.4.3使速度最大化5.4.4内存地址对齐5.5C库函数分析5.5.1函数strlen5.5.2函数strpbrk5.5.3函数memset5.6C程序的目标代码5.6.1Base64编码操作5.6.2源程序5.6.3目标程序习题第6章汇编语言6.1实方式执行环境6.1.1寄存器和指令集6.1.2存储器分段管理6.1.316位的存储器寻址方式6.2源程序和语句6.2.1汇编语言源程序6.2.2语句及其格式6.3操作数表示6.3.1常数6.3.2数值表达式6.3.3有效地址6.3.4数据类型说明6.4伪指令语句和变量6.4.1数据定义语句6.4.2存储单元定义语句6.4.3常数符号声明语句6.4.4演示举例6.5段声明和段间转移6.5.1段声明语句6.5.2无条件段间转移指令6.5.3段间过程调用和返回指令6.6目标文件和段模式6.6.1目标文件6.6.2段模式声明语句6.7宏6.7.1宏指令的声明和使用6.7.2单行宏的声明和使用6.7.3宏相关方法习题第7章BIOS和虚拟机7.1BIOS及其调用7.1.1BIOS简介7.1.2键盘输入和显示输出7.1.3应用举例7.2磁盘及其读写7.2.1磁盘简介7.2.2磁盘读写7.2.3主引导记录分析7.3虚拟机7.3.1虚拟机工作原理7.3.2虚拟硬盘文件7.3.3直接写屏显示方式7.4一个简易的加载器7.4.1加载方法7.4.2程序加载器7.4.3工作程序示例习题第8章输入输出和中断8.1输入输出的基本概念8.1.1I/O端口地址8.1.2I/O指令8.1.3数据传送方式8.1.4实时时钟的存取8.2查询传送方式8.2.1查询传送流程8.2.2实时时钟的稳妥存取8.3中断概述8.3.1中断的概念8.3.2中断向量表8.3.3中断响应过程8.3.4内部中断8.3.5外部中断8.3.6中断优先级和中断嵌套8.4中断处理程序设计8.4.1键盘中断处理程序8.4.2除法出错中断处理程序8.4.3扩展显示I/O程序8.4.4时钟显示程序习题第9章bao护方式程序设计9.1概述9.1.1存储器管理9.1.2特权级设置9.2分段存储管理机制9.2.1存储段9.2.2存储段描述符9.2.3全局和局部描述符表9.2.4段选择子9.2.5逻辑地址到线性地址的转换9.3存储管理寄存器和控制寄存器9.3.1存储管理寄存器9.3.2控制寄存器9.3.3相关存取指令9.4实方式与bao护方式切换示例9.4.1实方式和bao护方式切换的演示(示例一)9.4.2不同模式代码段切换的演示(示例二)9.4.3局部描述符表使用的演示(示例三)9.5分页存储管理机制9.5.1存储分页9.5.2线性地址到物理地址的转换9.5.3页级bao护和虚拟存储器支持9.5.4分页存储管理机制的演示(示例四)9.6任务状态段和控制门9.6.1系统段描述符9.6.2门描述符9.6.3任务状态段9.7控制转移9.7.1任务内相同特权级的转移9.7.2相同特权级转移的演示(示例五)9.7.3任务内不同特权级的变换9.7.4特权级变换的演示(示例六)9.7.5任务切换9.7.6任务切换的演示(示例七)9.8中断和异常的处理9.8.1异常概念9.8.2异常类型9.8.3中断和异常的处理9.8.4中断处理的演示(示例八)9.8.5异常处理的演示(示例九)9.9bao护机制小结9.9.1转移途径小结9.9.2特权指令习题第10章实验工具的使用10.1汇编器NASM的使用10.1.1NASM简介10.1.2NASM的使用10.1.3链接器及其使用10.2虚拟机管理器VirtualBox的使用10.2.1VirtualBox简介10.2.2VirtualBox的使用10.2.3关于硬件加速10.3模拟器Bochs的使用10.3.1Bochs简介10.3.2Bochs的配置与运行10.3.3控制台调试10.3.4图形化界面调试10.4VHDWriter的使用参考文献