ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

汇编语言课堂笔记——内存管理

2020-07-01 10:39:20  阅读:245  来源: 互联网

标签:操作数 字节 汇编语言 地址 内存 寄存器 课堂 CPU 指针


8086存储器组织

分类:内存(主存储器,CPU直接存取)、外存(辅助存储器,CPU通过I/O接口读取)

COM文件结构

在这里插入图片描述
在这里插入图片描述

内存与寄存器

寄存器时CPU内部暂存数据的存储单元,内存、外存都是CPU外部的存储空间。
每个存储单元存放一个字节的内容,并且都有一个存储器地址。

计算机数据表达单位

bit:1位二进制
byte:8位二进制
word:16位
dword:32位
LSB(最低有效位):数据的最低位
MSB(最高有效位):数据的最高位

多字节数据在存储时占连续多个存储单元:
存放:低字节低地址,高字节高地址
表达:低地址表示多字节数据地址

8086寻址方式

8086CPU内存范围

8086CPU有20条地址线,而寄存器最大16位。
(地址空间需存放在寄存器中,因此一个寄存器最大16位不能表征20位的物理地址,这种情况下就出现了分段的概念)
在这里插入图片描述
段地址:偏移地址(CS:IP)
物理地址=CS*16+IP

指令的组成

指令由操作码(mov,add…)和操作数(具体数值,寄存器)两部分组成。

操作码 操作数1,操作数2;注释
mov a1,a2;

操作数1:目的操作数dest
操作数2:源操作数src
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
mov dest,src;

立即数寻址

指令中的操作数直接存放在机器代码中。这种操作数称为立即数imm。
在这里插入图片描述

寄存器寻址方式

操作数存放在CPU中的寄存器中。
在这里插入图片描述

存储器寻址方式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

C语言中的指针

在这里插入图片描述

不同类型指针的区别

不同类型指针的指针都是一个变量,存储的为不同类型数据的地址。数据类型的不同,导致数据占据的字节数不同,因此在使用指针读取、赋值、偏移时,读取或修改、移动的字节数不同。

指针加减运算的原理

指针的加减运算即指向原指向位置存储的下一个变量。例如p++,指针变量增加的值与指针的类型有关,若指针指向的数据具有2个字节,则指针变量增加2个字节的大小,若指针指向的数据具有4个字节,则指针变量增加4个字节的大小。

什么是指向指针的指针

指向指针的指针也是变量,变量中存储的为某个指针的位置。

标签:操作数,字节,汇编语言,地址,内存,寄存器,课堂,CPU,指针
来源: https://blog.csdn.net/weixin_43403605/article/details/107012700

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有