汇编语言
liexusong
这个作者很懒,什么都没留下…
展开
-
汇编语言 — 中断
<br />任何一个CPU,都有处理中断的能力。中断的意思是,CPU不再接着(刚执行完的指令)向下执行,而是转去处理这个特殊信息。<br />根据中断信息的来源,中断分为内中断和外中断两种。<br />中断向量表是保存中断处理程序入口地址的列表。<br />中断过程指的是在找到中断向量后,CPU的硬件自动完成设置CS和IP的过程。<br />当CPU接收到中断信息后,整个的过程如下:CPU接收中断信息根据中断类型码在中断向量表中找相应的中断向量引发中断过程——CS:IP指向中断处理程序的入口开始执行中断处理原创 2010-08-24 16:28:00 · 1036 阅读 · 0 评论 -
CUP寻址的方式
<br />80x86的内存访问方式是通过:物理地址 = 段地址 x 16 + 偏移地址<br /><br />段寄存器是一个16位的寄存器,乘以16等于右移4位,即变成20位。而偏移地址也是一个16位的数,所以80x86最大能访问到220 = 1MB的内存。<br /> <br />而偏移地址的取值范围是:0~FFFFH,所以仅用偏移地址来寻址最多可寻64KB个内存单位。原创 2010-09-26 23:01:00 · 908 阅读 · 0 评论 -
8086CPU的段寄存器
段地址由段寄存器提供。8086CPU的段寄存器有4个,包括:CS,DS,SS,ES。CS而CS是提供代码段的段地址(code segment),而偏移地址是由IP寄存器提供。在8086CPU中,任意时刻,设CS中的内容为M,IP中的内容为N,8086CPU将从内存M x 16 + N单元开始读取一条指令并执行。(注意:当CPU读取一条指令之后,IP中的值会根据读取当前指令的长度自动增加到下一条指令的偏移地址)。可以通过修改CS,IP寄存器的值控制CPU执行目标指令。可以通过:jmp 段地址:偏移地址来实现修原创 2010-09-26 23:27:00 · 4042 阅读 · 0 评论