推荐给和我一样在学习保护模式下汇编的菜鸟。
关于GDTR LDTR IDTR等概念,纠结了半天,我看的《windows深如刨析》上面太简略了,看不大理解。在csdn在逛了半天,最后我用百度搜索出这盘文章,才恍然大悟。另外有没有朋友知道学习保护模式的QQ群,大家一起交流一下。这个是一个asm程序设计基础系列,
http://blog.programfan.com/blog.asp?blogid=970&columnid=889这里有全的
整理说明 要深入理解32位编程的奥秘,必须理解保护模式.这是李彦昌的保护模式教程,基本是清华出版社80X86汇编语言程序设计的保护模式部分的电子版,但修改...
- [younggay] 20? 那个20? 01/21 15:05
- [martian] 博主辛苦了! 11/24 13:43
- [acool] 先存下 看看O(∩_∩)O哈哈~ 11/22 12:30
- [acool] 不错,踩踩;) 11/22 12:27
- [tomato] 收藏一下,好好看看,扫扫盲。 11/21 20:01
- [younggay] 程序正确固然重要,必要的地方写注释也是很必要的。要不看的人脑袋可就大了。呵呵 fighting ! 11/21 14:47
- [younggay] 就提一点要求: 哥儿们,加点注释把,(*^__^*)...嘻嘻 11/21 14:37
- [lwbfq] 有点糊涂。 11/21 14:26
- [lwbfq] 有点糊涂。 11/21 14:26
- [younggay] 嗯。不错,不过要是关键代码部分加上注释就更好了。而且加注释也是一个成熟的编程人员的良好习惯。 11/21 14:23
- [h.goood] 汇编作业在哪里做?我怎么没找到? 11/24 12:32
[2008-11-21 23:05] 保护模式基础,强力推荐
阅读全文 |
评论次数(1) |
浏览次数(1248) |
所属类型(保护模式汇编基础)
[2008-11-21 18:08] 读出页表源程序
.386p
.model flat,stdcall
include win32.inc
extrn ExitProcess:PROC
extrn MessageBoxA:PROC
extrn _wsprintfA:PROC
CALL32 MACRO selector ,offsetv
DB 09AH
DD offsetv
DW selector
ENDM
LinearAddr equ offset Start ;要查看的线性地址
.data
PhysAddr dd ? ;存放得到的物理地址
User db 'User',0 ...
.model flat,stdcall
include win32.inc
extrn ExitProcess:PROC
extrn MessageBoxA:PROC
extrn _wsprintfA:PROC
CALL32 MACRO selector ,offsetv
DB 09AH
DD offsetv
DW selector
ENDM
LinearAddr equ offset Start ;要查看的线性地址
.data
PhysAddr dd ? ;存放得到的物理地址
User db 'User',0 ...
阅读全文 |
评论次数(0) |
浏览次数(795) |
所属类型(保护模式汇编基础)
[2008-11-21 17:15] 分页机制(2)
80386开始支持存储器分页管理机制。分页机制是存储器管理机制的第3二部分。段管理机制实现 虚拟地址(由段和偏移构成的逻辑地址)到线性地址的转换,分页管理机制实现线性地址到物理地 址的转换。如果不启用分页管理机制,那么线性地址就是物理地址。本文将介绍80386的存储器分 页管理机制和线性地址如何转换为物理地址。
<一>存储器分页管理机制
在保护模式下,控制寄存器CR0中的最高位PG位控制分页管理机制是否生效。如果PG=1,分页机制 生效,把线性地址转换为物理地址。如果PG=0,分页机制无效,线性地址就直接作为物理地址。 必须注意,只有在保护方式下分页机制才可能生效。只有在保证使PE...
<一>存储器分页管理机制
在保护模式下,控制寄存器CR0中的最高位PG位控制分页管理机制是否生效。如果PG=1,分页机制 生效,把线性地址转换为物理地址。如果PG=0,分页机制无效,线性地址就直接作为物理地址。 必须注意,只有在保护方式下分页机制才可能生效。只有在保证使PE...
阅读全文 |
评论次数(1) |
浏览次数(1271) |
所属类型(保护模式汇编基础)
[2008-11-21 12:39] 分页机制
基本概念
Windows 2000 使用基于分页机制的虚拟内存。每个进程有4GB的虚拟地址空间。基于分页机制,这4GB地址空间的一些部分被映射了物理内存,一些部分映射硬盘上的交换文件,一些部分什么也没有映射。程序中使用的都是4GB地址空间中的虚拟地址。而访问物理内存,需要使用物理地址。
下面我们看看什么是物理地址,什么是虚拟地址。
物理地址 (physical address): 放在寻址总线上的地址。放在寻址总线上,如果是读,电路根据这个地址每位的值就将相应地址的物理内存中的数据放到数据总线中传输。如果是写,电路根据这个地址每位的值就将...
Windows 2000 使用基于分页机制的虚拟内存。每个进程有4GB的虚拟地址空间。基于分页机制,这4GB地址空间的一些部分被映射了物理内存,一些部分映射硬盘上的交换文件,一些部分什么也没有映射。程序中使用的都是4GB地址空间中的虚拟地址。而访问物理内存,需要使用物理地址。
下面我们看看什么是物理地址,什么是虚拟地址。
物理地址 (physical address): 放在寻址总线上的地址。放在寻址总线上,如果是读,电路根据这个地址每位的值就将相应地址的物理内存中的数据放到数据总线中传输。如果是写,电路根据这个地址每位的值就将...
阅读全文 |
评论次数(3) |
浏览次数(1118) |
所属类型(保护模式汇编基础)
页码数(1):
1