第3章 寄存器(内存访问)

本文介绍了8086处理器中内存访问的基本概念,包括字的存储方式、DS寄存器的作用、数据传送指令的使用方法以及栈的运作机制。特别关注了栈的进出栈操作,并提醒开发者注意栈顶超界的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用R命令查看、改变cpu寄存器的内容

用D命令查看内存中的内容

用E命令修改内存中的内容

用U命令查看内存中机器码的含义

用T命令执行指令

用A命令以汇编指令的方式写入内存


第3章 寄存器(内存访问)

3.1 内存中字的存储

字单元,即存放一个字型数据的内存单元,由两个连续的内存单元组成。高地址内存单元中存放字型数据的高位字节,低地址内存单元中存放字型数据的低位字节。

我们将起始地址为N的字单元简称为N地址字单元。

3.2 DS和[address]

DS通常用来访问数据的段地址。

8086不支持直接将数据传入DS寄存器的操作,需要通过通用寄存器间接传递。

3.3 字的传送

3.4 mov, add,sub指令

各种寄存器和内存单元间的数据传送。

3.5 数据段

3.6 栈

栈:后进先出。

3.7 cpu提供的栈机制

任意时刻SS:SP指向栈顶元素

入栈时,内存地址从高地址向低地址增长。

入栈相当于改变内存地址和移动寄存器内容两个基本操作的组合。

空栈时,SS:SP指向栈空间最高字节单元的下一个字节单元。

出栈命令相当于移动内容至存储器和改变内存地址两个基本操作。

3.8 栈顶超界的问题

cpu不保证我们对栈的操作不会超界,编程时要自己操心栈顶超界的问题,防止入栈的数据太多而导致的超界。

3.9 push、pop命令

出入栈操作可对通用寄存器、段寄存器、内存字单元进行操作。

3.10 栈段



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值