寄存器(内存访问)知识整理

 使用mov指令可以完成两种传送:1、将数据直接送入寄存器;2、将一个寄存器中的内容送入另一个寄存器。

 “[…]”表示一个内存单元 ,“[…]”中的0表示内存单元的偏移地址。指令执行时,8086CPU自动取ds中的数据为内存单元的段地址。8086CPU不支持将数据直接送入段寄存器的操作,ds是一个段寄存器,所以 mov ds,1000h这条指令是非法的。

  mov指令的几种形式:   mov 寄存器,数据      如 mov ax,8

              mov  寄存器,寄存器  如 mov ax,bx  

              mov 寄存器,内存单元 如 mov ax,[0]

                             mov 内存单元,寄存器    如 mov [0],ax

             mov 段寄存器,寄存器   如 mov ds,ax

  栈:后进先出。8086CPU提供相关的指令来以栈的方式访问内存空间。在编程的时候,可以将一段内存当作栈来使用。  PUSH(入栈)   POP(出栈)

  段寄存器SS:不能直接赋值 需要中转  寄存器SP:可以直接赋值。  任意时刻,SS:SP指向栈顶元素。

  push ax的执行: (1) SP=SP-2,SS:SP指向当前栈顶前面的单元,以当前栈顶前面的单元为新的栈顶;(2)将ax中的内容送入SS:SP指向的内存单元处,SS:SP此时指向新栈顶。 栈为空时,栈顶指向栈低+2。

  pop指令的执行步骤:(1)从SS:SP指向的字单元中读取数据;(2)SP=SP+2。

转载于:https://www.cnblogs.com/smallblog/p/9849241.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值