zoukankan      html  css  js  c++  java
  • 寄存器(内存访问)知识整理

     使用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。

  • 相关阅读:
    ASP.NET 备份恢复SqlServer数据库
    ASP.NET MVC3.0 Razor 视图模板 语法
    ASP.NET 缓存
    代码生成框架
    C#中HashTable的用法
    C# 概念 委托和事件
    Web Service 系列 → Web Service 简介
    CDN 内容分发网络
    HarmonyOS开发者创新大赛
    #2020征文手表#【图解鸿蒙】多组示例演示三个样式的组合用法
  • 原文地址:https://www.cnblogs.com/smallblog/p/9849241.html
Copyright © 2011-2022 走看看