x86 体系结构

来源:互联网 发布:边锋网络快乐无敌大pk 编辑:程序博客网 时间:2024/05/10 14:52

x86的汇编

Nasm

Move a  b   将b寄存器的值拷贝到a寄存器

 

80386有16个寄存器

1 通用寄存器

2 段寄存器

3 状态和质指令寄存器

 

在任何时候cpu能够访问6个段

段寄存器分别是CS DS ESFS GS SS

 

CS code segment 代码段,当发生call指令时就自动进行转换

 

SS stack segment堆栈段,能够显示调用,用户可以动态创建堆栈

 

EBP ESP ESS在使用中的具体关系?

 

段寄存器具有和对应的指令有默认的关系,但是可以通过明确指定改变这种关系,除了ES CS SS

 

异常来自自身的程序的运行

中断来自cpu外部的中断信号                                           

 

内存管理,内存逻辑地址翻译为物理地址,经过以下几步:

1 段地址翻译,将逻辑地址转化为线性地址

2 分页翻译,将线性地址翻译为物理地址

 

在32位页地址上,page dir 有1k条记录,占有4kB,也就是一页。每一个pagedir的记录会对应1k个pagetable,1k条page,对应会占有4kB,也就是一页。因此总共会占有1025页,也就是占有内存4k*1025B

 

Call gate interupt gate trap gate 分别代表 systemcall interupt exception

 

因为程序对于分页是透明的,也就是程序看到的内存总是存在的,实际上可能是只是一个页表目录和页表,因此存在虚拟内存大于实际内存的情况

0 0
原创粉丝点击