• 第二章 微机指令


    第二章 微机指令

    一、存储单元的地址和内容

      8086为字长16位存储器

      SP…IP…BP…关于地址的都是16位的

      注:存储器的物理地址由20条地址总线控制,一个字放入存储器中占用两个单元,低字节放在低地址中,高字节放在高地址中。

      A20位的物理地址的组成

        在1M的字节存储器里,每一个存储单元都有一个20位地址,由16位的段地址和16位的偏移地址组成

      段地址左移四位偏移地址物理地址(PA

      16* + 偏移 --> 变成20

      B逻辑地址和物理地址

        逻辑地址:由段基址和段内偏移地址组成的叫逻辑地址

        物理地址:存储器的绝对地址,范围从00000~FFFFF,由CPU访问存储器时,由地址总线发出的地址信息

    操作类型 段基址 偏移地址 物理地址

    取指令 CS IP CS*16+IP

    堆栈操作 SS SP SS*16+SP

    源字符串 DS SI DS*16+SI

    目的字符串 ES DI ES*16+DI

    寻址方式

      1、立即数寻址方式

        MOV AL,05H #AL为源,05H为目的

        MOV AX,0102H

      2、寄存器寻址方式

        8位:AHALBHBLCHCLDHDL

           16位:AXBXCXDXSIDIBPSP

      段寄存器:CSDSSSES

      MOV AX,1234H

      MOV BX,AX

      3、存储器寻址方式

        指令中给出操作数的主存地址信息(偏移地址,EA,也叫做有效地址)而段地址在指定的段寄存器中

      ①:直接寻址方式:有效地址在指令中直接给出,默认的段地址是存放在DS段寄存器中的

      MOV AX,[2000H] #[2000H]表示一个地址,在DS

      MOV AX,ES:[2000H] #[2000H]ES

      ②:寄存器间接寻址:有效地址存放在基址寄存器BX 或变址寄存器SIDI 中,默认的段地址在DS段寄存器中

      MOV AX,[SI] #[SI] -->间接 中括号里只能放SIDI

      ③:寄存器相对寻址:有效地址是寄存器内容与有符号8位或16位位移量之和,寄存器可以是BX/BPSI/DI,有效地址=BX/BP/SI/DI+8/16位位移量,段地址对应BX/SI/DI,寄存器还是默认在DS中,BP对应在SS

      MOV AX,[DI+06H] #DS

      MOV AX,[BP+06H] #SS

      ④:基址变址寻址方式:有效地址由基址寄存器BXBP内容加上变址寄存器,SIDI的内容

      有效地址=BX/BP+SI/DI #BX默认在DS中,BP默认在SS

      MOV AX,[BX+SI]

      ⑤:相对基址变址寻址方式:有效地址是一个基址寄存器,BXBP,变址寄存器,SIDI与一个8位或16位的位移量之和

      有效地址=BX/BP+SI/DI+8/16位位偏移量 #BX默认在DS中,BP默认在SS

  • 相关阅读:
    机器不学习:如何处理数据中的「类别不平衡」?
    机器不学习:一种提升预测能力的方法-机器学习模型
    机器不学习:CNN 入门讲解1-什么是卷积
    机器不学习:浅析深度学习在实体识别和关系抽取中的应用
    机器不学习:用神经模块网络学习推理
    机器不学习:初识迁移学习
    机器不学习:一文彻底读懂智能对话系统
    跟随鼠标的div
    回到顶部的流畅滚动——scrollTop
    js学习小笔记
  • 原文地址:https://www.cnblogs.com/xian-luo/p/11020805.html
Copyright © 2020-2023  润新知