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

本文介绍了8086汇编语言的基础概念,包括内存中字的存储方式、寄存器与内存数据交互的方法、基本指令如MOV、ADD、SUB的操作原理,以及栈的使用方法等内容。
3.1  内存中字的存储
内存中上为低地址,下为高地址:上存储低8位,下存储高8位数据
将起始地址为N的字单元称为N地址字单元
3.2  DS和[address]    来取内存中的数据






3.3  字的传送
3.4  mov、add、sub指令
①mov
mov 寄存器,段寄存器
mov 内存单元,段寄存器
mov 段寄存器,内存单元
②add

③sub减法
3.5   数据段
例如:

例如:

3.6  栈
3.7  CPU提供的栈机制     SS:SP(栈顶的段地址:偏移地址,永远指向栈顶元素)
push和pop只进行字操作
在基于8086CPU编程时,可以将一段内存当做栈使用。
push ax

pop ax


若将10000H~1000FH这段空间当做栈,初始状态栈是空的,此时SS:SP为1000:0010
push和pop指令操作后,并非把数据给搬出来,数据仍在那个内存中,只是SP指针移动了,push就是用新数覆盖旧数。
3.8  栈顶越界的问题
8086CPU中没有记录栈顶上限和栈底的寄存器,在编程时,要自己操心栈顶越界的问题。
3.9  push、pop指令



3.10  栈段
把一组内存单元定义为一个段,把这个段当做栈空间来用,从而定义了栈段
一段内存,可以既是代码段,又是数据段,还可以是栈段。具体看CPU中寄存器的设置,即cs,ip,ds,ss,sp的指向。
























评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值