8086汇编--起航

来源:互联网 发布:sql存储过程实例 编辑:程序博客网 时间:2024/05/19 07:27

学了很多总没有留点什么,这回痛下决心,一定得留点什么,至少方便以后回忆。

其实很早就开始学汇编了,只是断断续续的看一些汇编的书,而且又不连贯,这次痛定思痛的一定要把8086汇编学完,加油。

本篇要点:

1.8086CPU给出物理地址的方法

2.段与偏移(CS&IP)

本文默认认为读者已经大概了解cpu对存储器的读写方式、寻址总线、数据总线、控制总线以及通用寄存器。


废话不多说,现在开始。  

 8086cpu有20位的地址总线,而8086cpu是16位结构,如果只是简单的发送16位的寻址,那么寻址能力只有64k,于是8086cpu内部采用两个16位地址来合成的方法来形成一个20位的物理地址。

有如下公式:

物理地址 = 段地址*16 + 偏移地址 

8086cpu内部有一个地址加法器将地址按照上述公式合成。

什么时段地址?是将内存分段了吗?no,no,no 并没有那样, 段地址只是人为的根据CPU按上述公式给出的内存段元的物理地址,似的我们可以分段的方式管理内存。


CS与IP

CS与IP是8086CPU中最关键的两个寄存器,CS为代码段寄存器,IP位指令指针寄存器。顾名思义,代码段寄存器存储着执行代码的段地址,而指令指针寄存器则存放指着当前执行指令相对于代码段寄存器中地址的偏移。

额,不知道有没有说清楚,若有错误之处还请扔砖。

0 0
原创粉丝点击