加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

第三章总结

发布时间:2020-12-14 04:29:42 所属栏目:大数据 来源:网络整理
导读:第三章总结 一.字数据在内存中的存储 计算机内数据存-取单位: ① 字节 (8bit) ② 字 (16bit) ③ 双字 (32bit) ④ 四字 (64bit) 小段法:字数据的低位字节存放在低地址内存单元; ? ? ? ? ? ? ? 字数据的高位字节存放在高地址内存单元; ? ? ? ? ? ?

第三章总结

一.字数据在内存中的存储

计算机内数据存-取单位: ① 字节 (8bit)

           ② 字 (16bit)

           ③ 双字 (32bit)

           ④ 四字 (64bit)

小段法:字数据的低位字节存放在低地址内存单元;

? ? ? ? ? ? ? 字数据的高位字节存放在高地址内存单元;

? ? ? ? ? ? ? 取低地址内存单元地址作为字数据地址。

二.数据在内存和CPU之间的传送

1.DS: 数据段段寄存器,用于存放数据段的「段地址」

? ?在mov,add,sub等汇编指令中,访问内存单元时,默认情况下,指的是数据段。

2.mov 指令只能用于

? ?内存单元? ?←? 常数

? ?内存单元? ?←? 寄存器

? ?寄存器? ? ? ←? ?内存单元数据

3.add指令

? ?寄存器,<-常数

? ?寄存器<-寄存器

 寄存器<-内存单元

? ??内存单元<-常数

? ?内存单元,<-寄存器

4.sub指令

? ?寄存器,<-寄存器

三.?栈

1 .栈的特性: 后进先出

? ?两个概念: 栈底、栈顶

? ?两个操作: 入栈、出栈

? ?一个约定: 8086中栈以字为存取单位

? 栈顶:? 最后入栈的字数据所对应的地址单元

? 栈底:? 固定的一端,栈区最高地址单元的前一个单元

? 入栈:? 把数据存入栈

? 出栈:? 从栈取出数据

2.寄存器SS和SP

? ?SS: 栈段段寄存器,用于存放栈段的「段地址」

? ?SP: 栈指针寄存器,用于存放栈顶的偏移地址。

? ?SS:SP对应的物理地址是栈顶的物理地址。

? ?(SS) × 16 + (SP)? → 栈顶的物理地址

3.push和pop

? ?入栈和出栈均以字为单元 操作对象不能是常数 pop 段寄存器中,段寄存器不能是CS和SS

PS:

「段」是一个逻辑上的概念。?

? 用作数据段时,要把段地址→DS 用作栈段时,要把段地址→SS,栈顶偏移地址 → SP

? 用作代码段时,段地址→CS,要取的指令偏移地址→IP。但CS和IP的值不能使用mov改变。

? 但是计算机不会自行分辨内存的用途在计算机眼里都是一段内存。所以只能人为的去做区别。

? 一段内存可以同时用作代码段、数据段、栈段。 由编程时灵活确定。

?在8086CPU中,每个段的最大长度不能超过64KB。 (因为寄存器是16位的,能表示的地址范围只能是0000H~FFFFH,即0~216-1)

?

?

?

?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读