上一页 1 2 3 4 5 6 7 8 9 ··· 20 下一页

2014年9月22日

linux0.11下的中断机制分析

摘要: http://orbt.blog.163.com/异常就是控制流中的突变,用来响应处理器状态中的某些变化。当处理器检测到有事件发生时,它就会通过一张叫做异常表的跳转表,进行一个间接过程调用,到一个专门设计用来处理这类事件的操作系统子程序,这张表即中断描述符表IDT。本文将针对Linux0.11代码进... 阅读全文

posted @ 2014-09-22 08:16 wanghj_dz 阅读(708) 评论(0) 推荐(0) 编辑

2014年9月21日

保护模式下 中断处理程序的过程

摘要: 选择子==除GDT的所有基地址. 而GDT的基址是由程序一开始就设定好的. 通过lgdt来把GDT表放到程序设定好的位置. 阅读全文

posted @ 2014-09-21 17:38 wanghj_dz 阅读(587) 评论(0) 推荐(0) 编辑

2014年9月18日

TSS 任务状态段

摘要: TSS(任务状态段)1 什么是TSS TSS 全称task state segment,是指在操作系统进程管理的过程中,任务(进程)切换时的任务现场信息。 2 TSS工作细节 TSS在任务切换过程中起着重要作用,通过它实现任务的挂起和恢复。所谓任务切换是指,挂起当前正在执行的任务,恢复或启动... 阅读全文

posted @ 2014-09-18 17:44 wanghj_dz 阅读(2985) 评论(0) 推荐(0) 编辑

2014年9月17日

保护模式下pmtest1.asm的理解

摘要: 整个代码对应内存线性地址分为四段,[gdt] [code32] [video32] [code16]代码先在实模式[code16]下运行,code16中的cs就是系统分配的该程序物理地址的基址.编译器会自动把其他段中的标号,编译成相对这个物理地址基址的偏移量.其他段的物理真实地址就是这个基址+标号所... 阅读全文

posted @ 2014-09-17 11:18 wanghj_dz 阅读(487) 评论(0) 推荐(0) 编辑

保护模式下GDTR,LDTR,全局描述符表,局部描述符表和选择器的关系

摘要: 这张图要注意:右边两个0-15,其中上面的是LDTR, 下面的是选择子. 图下第五个标线,是两个线交叉的,实际上第五个线是指向右边水平的那个线. 没有箭头的两组线分别表示GDT的区间,LDT的区间 3和3'之间的两个没有箭头的线,是表示分别表示区间的线... 阅读全文

posted @ 2014-09-17 09:35 wanghj_dz 阅读(1817) 评论(0) 推荐(0) 编辑

2014年9月16日

实地址模式与保护模式之间的切换

摘要: 9.1 实地址模式与保护模式之间的切换我们知道,IA-32计算机在加电或者Reset信号有效之后,首先进入实地址模式,执行BIOS程序,然后再进入保护模式,执行Windows环境下的程序。因此,IA-32 CPU在工作的时候,需要从实地址模式切换到保护模式。从实地址模式切换到保护模式,通常需要建立描... 阅读全文

posted @ 2014-09-16 15:55 wanghj_dz 阅读(4634) 评论(0) 推荐(0) 编辑

2014年9月15日

汇编 db,dw,dd的区别

摘要: db定义字节类型变量,一个字节数据占1个字节单元,读完一个,偏移量加1dw定义字类型变量,一个字数据占2个字节单元,读完一个,偏移量加2dd定义双字类型变量,一个双字数据占4个字节单元,读完一个,偏移量加4 阅读全文

posted @ 2014-09-15 20:05 wanghj_dz 阅读(61804) 评论(3) 推荐(4) 编辑

保护模式 宏观理解

摘要: 保护模式:以XXXX:YYYYYYYY的方式来寻址。十六位的XXXX是段选择子,存放在段寄存器中cs,ds,ss,es,fs,gs段选择子在GDT中选择段描述符。GDT的基址在GDTR中。GDTR的基址加上段寄存器中的XXXX段选择子,可以得到该段的段描述符。段描述符中含有该段的32位基址。段描述符... 阅读全文

posted @ 2014-09-15 17:49 wanghj_dz 阅读(296) 评论(0) 推荐(0) 编辑

2014年9月13日

push 栈顶sp=sp-2 可以把立着的栈,向左侧倒下,那么形态就和反汇编时,内存的形态是一样的。小偏移的字节在前, 大的偏移字节在后

摘要: push 栈顶sp=sp-2 可以把立着的栈,向左侧倒下,那么形态就和反汇编时,内存的形态是一样的。小偏移的字节在前, 大的偏移字节在后。1234512345 阅读全文

posted @ 2014-09-13 17:02 wanghj_dz 阅读(233) 评论(0) 推荐(0) 编辑

在8086中,[ idata],[bx]表示内存单元时。可能是一个字节,也可能是一个字。

摘要: 可能表示一个字节,也可能表示一个字。主要由指令中另一个计算对象决定。如al表示一个字节。ax就表示一个字。这个区别主要体现在循环中,偏移地址的循环变量是加1还是加2,al是偏移地址加1,ax是偏移地址加2.[idata],[bx]表示的是偏移地址。[idata],[bx]是有区别的。在代码中mov ... 阅读全文

posted @ 2014-09-13 15:49 wanghj_dz 阅读(345) 评论(0) 推荐(0) 编辑

上一页 1 2 3 4 5 6 7 8 9 ··· 20 下一页

导航