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

罗云彬

出版时间

2006-02-28

ISBN

9787121022609

评分

★★★★★
AI导读
核心看点
  • Win32汇编编程从入门到精通
  • 70多个实例逐步深入编程
  • 了解操作系统运行细节最佳方式
适合谁读
  • 欲通过Win32汇编编写Windows程序者
  • 对底层原理及逆向工程感兴趣的读者
  • 希望深入理解Windows机制的编程爱好者
读前提醒
  • 本书不适合通篇阅读,建议按需查阅
  • 需配合MASM32等开发环境动手实践
  • 重点在于API调用而非纯汇编理论
读者共识
  • Win32汇编入门与必备参考书
  • 用词精准,比同类翻译书更易懂
  • 适合打基础,高手可作工具书查阅

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

精彩摘录
  • "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是资源脚本,可以编辑。"
目录
第1篇 基础篇
第1章 背景知识 2
1.1 Win32的软硬件平台 2
1.1.1 80x86系列处理器简史 2
1.1.2 Windows的历史 4

显示全部
用户评论
写程序有必要这么折腾吗?也许对逆向的同学们会有帮助吧
武大图书馆关于汇编的最好的四本书之一
好早的时候,我的梦想是写一个自己的操作系统,那时我爱上了汇编语言的简练直接。只是这东西只能作为爱好,实际工作中没有太多的用途。不过,对学习其它的语言很有帮助!
咋说呢,这本书更多的还是开视野吧,印象中,这本书最后的记忆是,PE文件结构。。。
没看完。抱歉
当时想搞逆向时读的。。。现在忘了,
还行吧,前面认真看的跟着例子写程序,了解win消息机制,多线程,锁同步之类,后面就是一大堆的winapi,
其实大部分都是讲win32的api了,汇编指令看王爽那篇已经学了差不多了,windows编程也看过高级编程和程序设计,这本书随便过了一下,感觉没什么必要细看了。
这本书重点是讲“程序设计”,有助于你理解汇编及计算机底层原理。非常实战!不是那种空讲理论的书
写编译器的时候很有帮助
收藏