Windows环境下32位汇编语言程序设计

罗云彬

出版时间

2013-07-01

ISBN

9787121207594

评分

★★★★★
书籍介绍
Windows环境下32位汇编语言是一种全新的编程语言。它使用与C++语言相同的API接口,不仅可以开发出大型的软件,而且是了解操作系统运行细节的最佳方式。 本书从编写应用程序的角度,从“Hello,World!”这个简单的例子开始到编写多线程、注册表和网络通信等复杂的程序,通过70多个实例逐步深入Windows环境下32位汇编语言编程的方方面面。 作者罗云彬拥有10余年汇编语言编程经验,本书是作者多年来编程工作的总结,适合于欲通过Windows环境下32汇编语言编写Windows程序的读者。
AI导读
核心看点
  • 70多实例详解Win32汇编编程
  • 深入解析80386保护模式与内存管理
  • 精准统一术语,弥补翻译书籍不足
适合谁读
  • 欲在Windows下用汇编编写程序者
  • 希望深入理解操作系统底层细节者
  • 具备基础汇编知识,想进阶的自学者
读前提醒
  • 非纯理论书,需结合实例动手实践
  • 不适合零基础,建议先学基础汇编
  • 重点理解保护模式与虚拟内存机制
读者共识
  • 被誉为Windows核心编程的汇编版
  • 术语精准简练,比翻译书更易读
  • 实战性强,编译小体积程序体验佳

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "80386处理器有3种工作模式:实模式,保护模式和虚拟86模式。实模式和虚拟86模式是为了和8086处理器兼容而设置的。保护模式是80386处理器的工作模式,在此方式下,处理器可以寻址4GB的地址空间。同时,保护模式也提供了处理器先进的多任务,内存分页管理和优先级保护等机制。"
  • "80386处理器被复位或在加电时以实模式启动。各寄存器以实模式初始化,寻址方式和8086一样,由段寄存器的内容乘以16当作基址,加上段内偏移最终形成物理地址。寻址空间为1MB。32位寄存器只使用了低20位 在实模式下,所有的段都是可读写,可执行的。实模式下,不支持优先级,所有指令相当于工作在ring 0。"
  • "80386在保护模式下,发挥最大威力,所有功能都是可用的。所有32根地址线都可供寻址,物理寻址空间高达4GB。 保护模式下,支持多任务,可以依靠仅在一条指令中实现任务切换。任务环境的保护工作由处理器自动完成。 保护模式下,支持优先级机制,不同的程序可以运行在不同的优先级上。优先级分四个级别(ring0~ring3),ring0为最高优先级,应用程序一般运行在ring3."
  • "虚拟86模式是为了在保护模式下执行8086程序而设置的。虚拟86模式是以任务形式在保护模式下执行的。所以支持任务切换和内存分页。"
  • "在实模式下,段地址被放在16位的段寄存器中,然后在指令中用16位的偏移地址寻址。换算公式:段地址*16+16位偏移得到物理地址。 当处理器工作在保护模式和虚拟86模式下,32位地址线可以用,访问4G大的内存。段地址+偏移的计算方法显然无法覆盖这么大的范围,但因为8086的限制不存在了,所有通用寄存器为32位,2^32=4G。所以用任何一个通用寄存器间接寻址,不必分段就已经可以访问到所有内存地址。 在保护模式下,段寄存器就更有用了。在定义地址空间的安全属性上派上了用场。 段寄存器是16位的,无法放下保护模式下64位的段描述符。所以就把所有段的段描述符(Segment Descriptor)放在指"
  • "在保护模式下,段选择器+偏移地址转换后形成“线性地址”(虚拟地址),而不是“物理地址”。"
  • "页表规定的不仅仅是地址映射,同时还规定了页的访问属性,是否可读,可写。利用这个机制可以在硬件层次上支持虚拟内存的实现。"
  • ".rc是资源脚本,可以编辑。"
作者简介
罗云彬,高级工程师,现从事移动互联网软件项目管理、软件架构设计工作。在软件工程、大数据应用等方面有丰富的经验。对分布式数据库及传统关系型数据库的开发和应用有深入的研究,是国内为数不多的OCM证书获得者之一。作为主要完成人,曾获得国家科技进步二等奖1项,省部级科学技术一等、三等奖各1项。 作者在Windows操作系统下的应用软件编程方面有丰富的经验,自1990年开始即使用汇编语言编写程序,是Windows操作系统流行后国内最早研究Win32汇编编程的程序员之一,曾在1998年创建了专门探讨汇编编程的网站,发表过大量关于汇编编程的文章和教程,经典作品《Windows环境下32位汇编语言程序设计》连续10年畅销。
下载
收藏