
| 通过学习本书可以深刻理解高级语言的来历,为进一步深入底层开发打下基础。强调了程序设计技能与程序调试能力的培养。不但讲解了DOS下的汇编,还详细介绍了Windows下的汇编程序设计。 |
| 第1章 汇编语言基础知识1 1.1 汇编语言的由来与特点1 1.1.1 机器语言1 1.1.2 汇编语言1 1.1.3 汇编语言的应用领域与地位2 1.2 系统结构2 1.2.1 微型计算机的系统结构2 1.2.2 intel 8086/808816位机的系统结构4 1.2.3 intel 80386 32位机的系统结构9 1.3 数据表示17 1.3.1 数制及其转换17 1.3.2 有符号数的表示法19 1.3.3 bcd码和字符编码20 1.4 小结21 1.5 习题21 第2章 16位汇编程序设计24 2.1 16位汇编程序设计概述24 2.1.1 汇编语言程序的特点24 2.1.2 指令寻址方式26 2.2 16位指令系统32 .2.2.1 数据传送类指令32 2.2.2 算术运算类指令44 2.2.3 位运算类指令56 2.2.4 串操作类指令61 2.2.5 控制转移类指令67 2.2.6 处理机控制类指令77 2.3 伪指令79 2.3.1 常量、变量、标号和表达式79 2.3.2 伪指令语句84 2.3.3 结构89 2.3.4 记录91 2.4 宏汇编程序格式93 2.4.1 完整段定义格式94 2.4.2 简化段定义格式97 2.4.3 与完整段定义有关的伪指令98 2.4.4 与简化段定义有关的伪指令100 2.5 汇编程序设计过程103 2.5.1 汇编程序的设计步骤103 2.5.2 程序流程图104 2.5.3 宏汇编masm 611 命令行方式上机操作106 2.5.4 debug及cv调试程序的使用109 2.6 小结117 2.7 习题117 第3章 程序设计技巧125 3.1 顺序程序结构形式125 3.2 分支程序128 3.2.1 分支程序结构128 3.2.2 条件控制伪指令129 3.2.3 双分支程序设计132 3.2.4 多分支程序设计134 3.3 循环程序139 3.3.1 循环程序概述139 3.3.2 循环控制指令及伪指令141 3.3.3 循环程序设计方法142 3.3.4 多重循环程序设计方法150 3.4 子程序与扩展子程序151 3.4.1 一般过程定义(子程序)伪指令151 3.4.2 子程序参数传递方法154 3.4.3 扩展过程定义(扩展子程序)伪指令162 3.5 中断程序167 3.5.1 中断的有关概念167 3.5.2 8086/8088 的中断源及其优先级168 3.5.3 中断向量表171 3.5.4 中断处理的基本过程172 3.6 输入输出程序176 3.6.1 输入输出原理176 3.6.2 i/o程序设计方法178 3.7 宏结构程序183 3.7.1 宏汇编183 3.7.2 重复汇编192 3.7.3 条件汇编194 3.8 模块化程序197 3.8.1 模块化的特点198 3.8.2 源程序文件包含198 3.8.3 目标代码文件包含200 3.8.4 子程序库209 3.9 小结210 3.10 习题210 第4章 16位汇编应用举例215 4.1 模拟c语言函数实现215 4.1.1 数据转换215 4.1.2 字符串操作219 4.2 键盘中断222 4.2.1 键盘控制原理222 4.2.2 通过中断获取键盘信息224 4.3 视频控制程序226 4.3.1 直接控制显存226 4.3.2 使用bios228 4.3.3 使用dos功能234 4.4 磁盘控制程序235 4.4.1 常用的int 13h功能235 4.4.2 设计一个简单钥匙软盘程序236 4.4.3 设计软盘扫描程序239 4.4.4 读写大硬盘扇区数据243 4.5 中断程序设计248 4.5.1 设计自己使用的中断程序249 4.5.2 设计驻留内存的中断程序251 4.6 引导程序设计254 4.6.1 引导程序原理254 4.6.2 引导程序的编写与安装256 4.7 定时器应用程序261 4.7.1 产生时钟原理261 4.7.2 定时器代码实现262 4.8 用debug修改程序结构266 4.8.1 修改代码原理267 4.8.2 修改程序代码269 4.9 加密一个exe文件270 4.9.1 加密前的代码识别271 4.9.2 加密方法的实现271 4.10 小结274 4.11 习题274 第5章 32位汇编程序设计276 5.1 32位指令系统276 5.1.1 32位的寻址方式276 5.1.2 32位扩展指令278 5.1.3 80386新增指令281 5.1.4 80486新增指令285 5.1.5 pentium新增指令287 5.1.6 pentium pro新增指令290 5.2 dos下32位汇编程序290 5.2.1 32位程序编写规范291 5.2.2 dos 32位程序举例292 5.3 windows下32位汇编程序295 5.3.1 windows汇编语言特点296 5.3.2 masm32 的使用服务298 5.4 windows程序的反汇编302 5.4.1 w32dasm的使用302 5.4.2 w32dasm 的反汇编代码阅读304 5.5 windows程序的调试307 5.6 小结311 5.7 习题311 第6章 windows 32位汇编应用举例313 6.1 窗口设计程序313 6.1.1 窗口程序的运行过程313 6.1.2 在窗口上添加子窗口320 6.1.3 子窗口的控制322 6.1.4 复杂形状的窗口324 6.1.5 资源325 6.1.6 一个简单对话框329 6.1.7 菜单应用举例331 6.2 键盘控制程序335 6.2.1 获取输入字符335 6.2.2 虚拟键盘信息335 6.3 鼠标控制程序337 6.3.1 获取鼠标信息337 6.3.2 鼠标的控制338 6.4 视频控制程序339 6.4.1 在窗口中绘图339 6.4.2 位图按钮343 6.5 磁盘文件操作与内存操作344 6.5.1 文件操作345 6.5.2 内存操作347 6.5.3 内存与文件使用举例349 6.6 定时器程序353 6.6.1 建立定时器353 6.6.2 定时器应用举例354 6.7 进程控制355 6.7.1 获取命令行参数356 6.7.2 建立进程356 6.8 控制台程序358 6.9 动态链接库359 6.9.1 动态链接库的概念359 6.9.2 动态链接库的建立360 6.9.3 动态链接库的使用362 6.10 小结364 6.11 习题364 参考文献366 |
商品评论(0条)