zoukankan      html  css  js  c++  java
  • 寄存器(内存访问)01 零基础入门学习汇编语言13

    第三章:寄存器(内存访问)01

     

    让编程改变世界

    Change the world by program


     

    引言

    在第2章中,我们主要从 CPU 如何执行指令的角度讲解了8086CPU的逻辑结构、形成物理地址的方法、相关的寄存器以及一些指令。 这一章中,我们从访问内存的角度继续学习几个寄存器。  

    内存中字的存储

      在0地址处开始存放20000(4E20H): [caption id="attachment_276" align="aligncenter" width="135"] 内存中字的存储[/caption] 注意:0号单元是低地址单元,1号单元是高地址单元。  

    问题:

    (1)0地址单元中存放的字节型数据是多少? (2)0地址字单元中存放的字型数据是多少? (3)2地址字单元中存放的字节型数据是多少? (4)2地址单元中存放的字型数据是多少? (5)1地址字单元中存放的字型数据是多少?  

    结论

    任何两个地址连续的内存单元,N号单元和 N+1号单元,可以将它们看成两个内存单元 ,也可以看成一个地址为N的字单元中的高位字节单元和低位字节单元。  

    DS和[address]

      CPU要读取一个内存单元的时候,必须先给出这个内存单元的地址; 在8086PC中,内存地址由段地址和偏移地址组成。 8086CPU中有一个 DS寄存器,通常用来存放要访问的数据的段地址。   例如:我们要读取10000H单元的内容可以用如下程序段进行:

    mov bx,1000H

    mov ds,bx

    mov al,[0]

    mov al,[0]

     

    已知的mov指令可完成的两种传送功能:

    将数据直接送入寄存器; 将一个寄存器中的内容送入另一个寄存器中。 除此之外,mov 指令还可以将一个内存单元中的内容送入一个寄存器。 上面三条指令将10000H(1000:0)中的数据读到al中。 从哪个内存单元送到哪个寄存器中呢?  

    mov指令的格式:

      mov 寄存器名,内存单元地址 “[…]”表示一个内存单元, “[…]”中的0表示内存单元的偏移地址。  

    那么内存单元的段地址是多少呢?

    执行指令时,8086CPU自动取DS中的数据为内存单元的段地址。  

    如何用mov指令从10000H中读取数据?

    10000H表示为1000:0(段地址:偏移地址) 将段地址1000H放入ds 用mov al,[0]完成传送(mov指令中的[]说明操作对象是一个内存单元,[]中的0说明这个内存单元的偏移地址是0,它的段地址默认放在ds中)  

    如何把1000H送入ds?

    传送指令 mov ax,1  

    相似的方式 mov ds,1000H?

    8086CPU不支持将数据直接送入段寄存器的操作,ds是一个段寄存器。(硬件设计的问题) mov ds,1000H 是非法的。 数据 -> 通用寄存器 -> 段寄存器  

    问题:

    写几条指令,将al中的数据送入内存单元10000H?(思考后分析)  

    分析问题本质:

    怎样将数据从寄存器送入内存单元?  

    结论:

    mov bx,1000H

    mov ds,bx

    mov [0],al (一种合理的回答)

     

    字的传送

      因为8086CPU是16位结构,有16根数据线,所以,可以一次性传送16位的数据,也就是一次性传送一个字。 [caption id="attachment_277" align="aligncenter" width="300"] 字的传送[/caption]   问题3.3:内存中的情况如下图,写出下面指令执行后寄存器ax,bx,cx中的值。 [caption id="attachment_278" align="aligncenter" width="300"] 字的传送[/caption] 思考后请看听小甲鱼慢慢分析。(单步跟踪)   问题3.4:内存中的情况如下图,写出下面指令执行后寄存器ax,bx,cx中的值。 [caption id="attachment_279" align="aligncenter" width="300"] 字的传送[/caption] 思考后请看小甲鱼分析。(单步跟踪) [buy] 获得所有教学视频、课件、源代码等资源打包 [/buy] [Downlink href='http://kuai.xunlei.com/d/LMLUOGQBKGIA']视频下载[/Downlink]
  • 相关阅读:
    Yii AR Model 查询
    学习进度4
    学习进度三
    个人每日总结7
    个人每日总结6
    个人每日总结5
    个人每日总结4
    个人冲刺承担的任务项目的用户模板和用户场景模板
    个人每日总结3
    个人每日总结2
  • 原文地址:https://www.cnblogs.com/LoveFishC/p/3845989.html
Copyright © 2011-2022 走看看