寄存器(内存访问)

内存中字的存储#

一个单元存放一个字节,一个字要用两个连续的内存单元来存放。(8086)

DS和[address]#

mov bx,1000H #1000H放入bx
mov ds,bx    #1000H放入ds
mov al,[0]   #将内存单元里的数据放入al寄存器中,[0]指的是偏移地址,ds中存储的为段地址

字的传送#

8086是16位结构,一次可传16位数据

mov,add,sub指令#

mov#

mov 寄存器,数据
mov 寄存器,寄存器
mov 寄存器,内存单元
mov 内存单元,寄存器
mov 段寄存器,寄存器
mov 寄存器,段寄存器
mov 内存单元,寄存器
mov 内存单元,段寄存器
mov 段寄存器,内存单元

数据段#

将一段内存当作数据段,用ds存放数据段的段地址。

#

栈是一种具有特殊的访问方式的存储空间。后进先出

CPU提供的栈机制#

PUSH ax #将ax中的数据送入栈中。
POP ax #将栈中的数据送入寄存器ax中。

以字为单位
段寄存器SS和寄存器SP
栈顶的段地址存放在SS中,偏移地址存放在SP中。
任意时刻,SS:SP执行栈顶元素
进栈时,从高地址向低地址方向增长

栈顶越界的问题#

push和pop指令#

push 寄存器
pop 寄存器
push 段寄存器
pop 段寄存器
push和pop也可以在内存单元和内存单元之间传送数据,
push 内存单元
pop 内存单元

问题3.7
将10000H-1000FH这段空间当作栈,初始状态栈是空的,将ax、bx、ds中的数据入栈。
mov ax,1000H
mov ss,ax
mov sp,0010
push ax
push bx
push ds
前面三条命令设置栈的指针指向10010H,表示栈空状态

栈段#

栈段的最大容量为64kb

作者:sovo

出处:https://www.cnblogs.com/Sovohost-43/p/16051151.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

posted @   sovo  阅读(107)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示