zoukankan      html  css  js  c++  java
  • 第三章 寄存器(内存访问)

    3.1  内存中字的存储:CPU中用16位寄存器存储一个字,高八位放高位字节,第八位放低位字节,

        我们的存储有两种方式,一种是大端法,一种是小端法

    3.2  DS和[address]

       CPU要读写内存单元的时候,必须先给出这个内存单元的地址,内存单元的地址由段地址和偏移地址组成

      DS寄存器是用来存放数据的段地址。“[...]”表示的是一个内存单元,其中的数字代表 内存单元的偏移地址,同时

      mov 指令可以将数据送入内存单元,但是不能直接将一个内存单元的数据直接送入另一个内存单元

    3.3  字的传送

        在mov指令中给出16位的寄存器,可以一次性传送16位数据

    3.4  mov  add  sub 指令

        mov的用法: mov  段寄存器 ,寄存器。  mov 内存单元 ,寄存器。  mov  段寄存器,内存单元。

        同样的add就是实现数据的加,sub就是实现数据的减,用法同mov

    3.5  数据段

        编程时,为了需要,将一组内存单元定义为一个段。再具体操作时,用ds存放数据段的段地址,在用相关的指令访问数据的具体单元

        字在内存单元的存储要用两个地址连续的内存单元

    3.6  栈

        栈就是先进后出,LIFO,很简单

    3.7  CPU提供的栈机制

        两种操作:PUSH进栈,POP出栈   push ax 就是讲ax中的数据送入栈中,同理pop ax 就是把栈中数据送入ax

        入栈和出栈操作都是以字为单位进行的,其中有两个寄存器叫 CS段寄存器和SP寄存器,栈顶的段地址存放在SS中

        偏移地址存放在SP中。任意时刻,SS:SP指向栈顶元素

        当PUSH ax执行的时候SP=SP-2;同理POP ax就要加2

  • 相关阅读:
    C++中的指针常量与常量指针
    Ubuntu16.04下安装ROS kinetic常见问题及解决方法
    关于安装ROS的资料备份
    后台模块--删除、修改用户信息
    客车网上售票系统--查询、添加用户
    客车网上售票系统--登录
    客车网上售票系统--需求分析(一)
    简单的邮件发送器(二)
    简单的邮件发送器(一)
    在CMD上用telnet远程登录发送邮件测试记录
  • 原文地址:https://www.cnblogs.com/acmblog/p/9839885.html
Copyright © 2011-2022 走看看