标签:
1.地址:分为物理地址、逻辑地址
1.物理地址:内存单元的真实地址
2.逻辑地址:用于编程的地址
分为:段地址、偏移地址
逻辑地址的形式:段地址:偏移地址
2.逻辑地址转换为物理地址: 物理地址 = 段地址*10H + 偏移地址
分析:转换时先将段地址左移4位,相当于乘以16或16进制的10H,再加上偏移量、其中移位后的地址就是在段地址后加一个0(如:段地址:2000H 则段地址*10H就是20000H)
3.存储单元
1.一个字节=8位二进制,1个字=2个字节
2.存储单元中的数据为存储单元内容,用括号括起来表示,不括起来的表示地址
3.存储单元分为:欧地址单元、奇地址单元
一般的,字放在偶地址单元,字节可随意
4.分段:
1.将存储器分为若干个逻辑段,每段最大为64K字节单元,最少为16个字节单元。段内单元的地址可用16位二进制数表示,成为偏移地址,每段的偏移地址可从0000H~FFFFH。段地址也是16位,用于表示哪一个段,用段地址和偏移地址可确定一个逻辑地址。
2.规定:16个字节分为一小段,每个小段的第一个单元的物理地址为小段的首地址。存储分段时,各段的起始地址不必须是小段的首地址,即逻辑段必须从任一小段的首单元开始。
5.段的类型
1.逻辑段分为:代码段、数据段、附加段、堆栈段
代码段 用于存放指令,段地址存放在段寄存器CS
数据段 用于存放数据,段地址存放在段寄存器DS
附加段 用于辅助存放数据,段地址存放在段寄存器ES
堆栈段 重要的数据结构,用来保存数据、地址和系统参数,段地址存放在段寄存器SS
数据段和附加段的偏移地址也称为有效地址EA
6.堆栈
1.堆栈区是一个特殊的存储区,末单元为栈底,数据从栈底开始存放,最后存放的数据单元为栈顶。当堆栈去为空时,栈顶和栈底重合。
2.数据在在堆栈去存放时,必须以字存入,每存入一个字,后存入的数据依次放入栈的低地址单元中。
3.栈指针SP每次减2,由栈指针SP指出当前栈顶的位置,数据存取时采用后进先出
标签:
原文地址:http://www.cnblogs.com/Sayer/p/5371005.html