汇编——存储单元的地址和内容

相关内容见《IBM-PC汇编语言程序设计》清华大学出版社 chapter2

存储器以字节为单位存储信息

每个字节单元有有唯一一个物理地址,从0编号,顺序+1

低位字节存入低地址,高位字节存入高地址

机器以偶地址访问(读/写)存储器:

字、4字单元地址用它的 最低 字节地址来表示。

在图中,读1000H读出一个字。

可以发现,尽管每个存储单元存了一个字节,但是一个地址读写一个字。(按字操作)

而且操作偶数地址,因此1001读出需要访问1000和1002

这里需要访问两次存储器!!


字节存储
读地址

实模式存储器寻找:

8086、/8088工作在20位地址,独占系统所有资源。

8086/8088的数据总线宽度是16位,地址总线宽度是20位。16位字长实现20位寻址

小段:从0地址开始,每16个字节为一小段,共有64k个小段。

小段首地址特征:后四位为0。

--逻辑地址 (2个16)是程序中使用的地址,它由段基址和段内偏移值所组成,段基址与段内偏移值都为16位的二进制数。

段地址:段起始地址的高16位(DS)

偏移地址:段内相对于段起始地址的偏移值(16位)(有效地址EA)

--物理地址 (1个20)也叫实际地址或绝对地址,是CPU访问存储器时实际使用的地址,为20位地址。


实模式下如何得到物理地址

>>段寄存器(CS、DS、SS、ES、FS、GS)     存放段地址,确定一个段的的起始地址.

用途各不相同:

代码段(CS):存放当前正在运行的程序

数据段(DS):存放当前运行程序所用的数据 ,或串处理指令中的源操作数

堆栈段(SS):定义堆栈(后进先出)的所在区域

附加段(ES):附加的数据区,或串处理指令中的目的操作数

各段在存储器中的分配:由操作系统负责负责,但需要时也可指定.

(so,记住如何运算的,有时候也可以16*cs+ip/pc什么的)

段的重叠:  指每个段区的大小允许根据实际需要来分配,而不一定要占有64KB的最大段空间

段搭配
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 8086汇编 本笔记是笔者观看小甲鱼老师(鱼C论坛)《零基础入门学习汇编语言》系列视频的笔记,在此感谢他和像他一样...
    Gibbs基阅读 37,607评论 8 114
  • 计算机通过执行指令序列来使机器得以工作,所以对于每一系列的计算机都有指定的一组指令集供计算机使用,这组指令...
    未来科技工作室阅读 12,513评论 1 10
  • 王爽汇编全书知识点大纲 第一章 基础知识 机器语言 汇编语言的产生 汇编语言的组成 存储器 cpu对存储器的读写 ...
    2c3ba901516f阅读 7,071评论 0 1
  • 上周末我参加了MPD工作坊中的四场,涉及到产品、架构、运维三个方面。每一场的分享都有各自的特色,也让我在不同...
    娜逗阅读 3,304评论 3 3
  • 定位: 问题: 现在在页面上有两个盒子,其中第二个盒子将第一个盒子压住了一半。 作用: 解决页面上盒子与盒子之间的...
    麦壳儿UIandFE2阅读 4,077评论 0 0