`

第二章 寄存器

 
阅读更多
2012年12月12日 星期三 15时04分36秒   /     2014年1月23日 星期四 01时16分00秒

第二章  寄存器(CPU工作原理)

寄存器概述:
        8086CPU有14个寄存器,分别是:AX,BX,CX,DX,SI,DI,SP,BP,IP,CS,SS,DS,ES,PSW。


2.1 通用寄存器
     8086CPU所有的寄存器都是16位的,可以存放两个字节
          
     AX,BX,CX,DX通常用来存放一般性数据,称为通用寄存器。

               

    一个16位的寄存器所能存储的数据的最大值为2^-1
       
    8086上一代CPU的寄存器都是8位的,为保证兼容性,这四个通用寄存器可以分为两个独立的8位寄存器使用:
         ◆AX可以分为AH(高八位)和AL(低八位);
         ◆BX可以分为BH和BL;
         ◆CX可以分为CH和CL;
         ◆DX可以分为DH和DL;
             
    以AX为例,8086CPU的16位寄存器分为两个8为寄存器的情况:
                     

2.2 字在寄存器中的存储
        字节: byte ,一个字节包含8bit.
        字  : 记为word  ,一个字包含两个字节。
       
2.3 几条汇编指令
        汇编指令        控制CPU完成的操作                        用高级语言的语法描述
        mov ax,18       将18送入AX                               AX=18
        mov ah,78       将78送入AH                               AH=78
        add ax,8        将寄存器AX的数值加上8                    AX=AX+8
        mov ax,bx       将寄存器BX中的数据送入到AX中             AX=BX
        add ax,bx       将AX,BX中的内容相加,结果存在AX中        AX=AX+BX

2.4 物理地址
        所有的内存单元构成的存储空间是一个一维的线性空间,每一个内存单元在这个空间中都有唯一的地址,我们称之为物理地址。
        不同的CPU可以有不同的形成物理地址的方式。
       
2.5 16位结构的CPU
        16位结构的CPU具有以下结构特性:
                1)运算器一次最多可以处理16为的数据
                2)寄存器最大宽度为16位
                3)寄存器和运算器之间的通路为16位

2.6 8086 CPU给出物理地址的方法
        8086的CPU有20位地址总线,可以达到1MB的寻址能力。但是从8086CPU的内部结构来看,如果将地址从内部简单发出,那么只能送出16位的地址,即寻址能力只有64KB。

        8086CPU采用一种在内部用两个16位地址合成的方法形成一个20位的物理地址。 即16位的段地址+16位的偏移地址通过地址加法器形成20位的物理地址。

        物理地址=段地址*16 + 偏移地址
       

2.7 ”段地址*16 + 偏移地址 = 物理地址“ 的本质含义
    基础地址  + 偏移地址 = 物理地址

2.8 段的概念
    8086CPU内部使用段地址和偏移地址移位相加的方法形成最终的物理地址
    CPU可以用不同的段地址和偏移地址形成同一个物理地址

    可根据需要,将地址连续,起始地址为16倍数的一组内存但愿定义为一个段。

2.9 段寄存器
       
    段寄存器就是提供段地址的,8086CPU有4个段寄存器:CS,DS,SS,ES
    当8086CPU要访问内存时,由这四个段寄存器提供内存单元的段地址。

2.10 CS(code consiqnment)和IP
     CS和IP是8086CPU中最关健的寄存器,他们指示CPU当前读取指令的地址。
     CS为代码段寄存器,IP为指针寄存器。  
     8086CPU启动时,CS和IP被设置为CS=FFFFH,IP=0000H,FFFF0H单元中的指令是8086CPU机开机后执行的第一条指令。
     CPU将CS:IP指向的内存单元中的内容看做指令。

2.11 修改CS,IP的指令
     在CPU中,程序员可以通过改变CS,IP中的内容来控制CPU执行目标指令。
     传送指令(mov)可以改变8086CPU中大部分寄存器的值。
     通过转移指令(jmp)修改CS,IP的内容。
        jmp 2AE3:3
        jmp 3:0B16
        功能:  用指令中给出的段地址修改CS,偏移地址修改IP。
       
        仅修改IP的内容:
                jmp某一合法寄存器
                        jmp ax
                        jmp bx
                        功能:用寄存器中的值修改IP。


2.12 代码段
       

实验1 查看CPU和内存,用机器指令和汇编指令进行编程
        (1)什么是DEBUG?
                Debug是DOS,Windows都提供的实模式(8086方式)程序的调试工具,使用它可以查看CPU各种寄存器中的内容,内存的情况和在机器码中跟踪程序的运行。

        (2)我们用到的DEBUG功能
                R命令查看,改变CPU寄存器的内容;
                        -r ax
                        AX 0000
                        :1111
                        -r
                        AX=1111  BX=0000  CX=0000  DX=0000  SP=FFEE  BP=0000  SI=0000  DI=0000
                        DS=13EA  ES=13EA  SS=13EA  CS=13EA  IP=0100   NV UP EI PL NZ NA PO NC
                        13EA:0100 0000          ADD     [BX+SI],AL                         DS:0000=CD
                        -
                D命令查看内存中内容;
                E命令改写内存中的内容;
                U命令将内存中的及其指令翻译为汇编指令;
                T命令执行一天机器指令;
                A命令以汇编命令的核实在内存中写入一条机器命令;

       
               

1.0 传送指令
        mov    可以改变一般的寄存器的内容

2.0 转移指令 
        jmp 修改cs:ip的值
         例如:jmp 2AE3:3     将cs的值设置为2AE3 , ip的值设置为3

        仅修改IP的内容:  即用寄存器中的值修改IP
                jmp ax (类似于 mov IP,ax)


       

2 实验任务
    (1)使用Debug,将上面的程序逐条执行,观察每条指令执行后CPU中相关寄存器中内容的变化
       







                                                                                                         2014-01-26 10:25 记 @sanlihedongkou.xichengqu.beijing
分享到:
评论

相关推荐

    006第二章 寄存器(CPU工作原理

    本章我们将深入探讨寄存器的原理及其在CPU中的角色。 首先,我们要知道寄存器是由半导体材料制成的非常小的存储单元,它们能够极快地读取和写入数据,比主内存(RAM)的速度快几个数量级。在CPU内部,寄存器主要...

    零基础入门学习汇编语言视频课程27讲(小甲鱼主讲)

    教程名称:零基础入门学习汇编语言视频课程27讲(小甲鱼主讲)课程目录:【】0201零基础入门学习汇编语言第二章 寄存器(CPU工作原理)01【】0202零基础入门学习汇编语言第二章 寄存器(CPU工作原理)02【】0203零...

    《汇编语言》 第2章 寄存器(CPU工作原理).ppt

    本资源摘要信息涵盖了汇编语言第2章寄存器(CPU工作原理)的知识点,涉及寄存器的基本概念、寄存器的类型、寄存器的存储结构、寄存器的应用、CPU的工作原理、物理地址的概念、段地址和偏移地址的关系等内容。...

    数字电路逻辑新设计第六章寄存器与移位寄存器.ppt

    《数字电路逻辑新设计》第六章探讨了寄存器与移位寄存器的重要概念,这两种电路在数字系统中扮演着关键角色。首先,数码寄存器是一种用于存储二进制码的电路,由多个触发器构成。1位数码寄存器由1个触发器组成,而4...

    汇编语言王爽第二版课后答案借鉴.pdf

    **第二章 寄存器与CPU工作原理** 2.1 在这个章节,学习了如何分析汇编指令对寄存器的影响。例如,通过一系列指令计算2的4次方,这涉及到对AX寄存器的操作,以及加法指令(ADD)的使用。 2.2 段地址的理解是关键,...

    第19章寄存器以及计数器.ppt

    首先,寄存器是用于存储二进制代码的电路单元。数码寄存器是最基础的类型,它利用触发器的记忆功能来保持数据。例如,一个四位数码寄存器由四个D触发器组成,每个触发器有一个数据输入端和一个输出端。当脉冲CP到来...

    汇编语言知识大全.pdf

    **第二章 寄存器** 1. **CPU结构**:包含运算器、寄存器和控制器,它们通过内部总线连接。8086有14个16位寄存器,分为通用寄存器和专用寄存器。 2. **通用寄存器**:如AX、BX、CX、DX,16位可拆分为高位和低位。在...

    查看CPU和内存的实验

    在"011第二章 寄存器(CPU工作原理)06-实验1"中,你可能会学习到如何直接访问和操作这些寄存器,以了解CPU当前的工作状态。例如,你可以编写汇编程序读取并显示程序计数器的值,以观察程序执行的流程。同时,理解...

    汇编语言知识大全.doc

    #### 第二章 寄存器介绍 ##### 一、寄存器概述 1. **寄存器类型**: CPU中含有运算器、寄存器和控制器,寄存器是可以直接进行读写的部件。 2. **8086 CPU**: 具有14个寄存器,每个寄存器都是16位宽,可以分为高低两...

    计算机系统结构第二章作业及答案.pdf

    计算机系统结构第二章作业及答案.pdf 这份文件涵盖了计算机系统结构的第二章作业及答案,主要涉及指令集结构、CISC 和 RISC 指令集结构、寻址方式、指令格式等计算机系统结构的知识点。 1. 区别不同指令集结构的...

    单片机第二章习题参考答案.doc

    本资源主要介绍了单片机第二章的习题参考答案,涵盖了单片机的知识点,包括 MCS-51 的架构、寄存器、堆栈、程序计数器、寻址模式、存储器组织、指令集等。 1. MCS-51 的架构:MCS-51 是一种 8 位微控制器,具有 16 ...

    数字电路与逻辑设计课件:第四章 part6集成移位寄存器其及应用.ppt

    "数字电路与逻辑设计课件:第四章 part6 集成移位寄存器及其应用.ppt" 本资源主要讲述数字电路与逻辑设计中的集成移位寄存器及其应用,涵盖了移位寄存器的定义、分类、组成、应用等方面的知识点。 一、移位寄存器...

    微机原理 第二章 ppt

    《微机原理》第二章主要围绕16位微处理器8086/8088进行深入探讨。8086/8088是Intel公司设计的微处理器,是16位架构的重要代表,其在微计算机系统中扮演着核心角色。本章将详细阐述8086/8088的编程结构、引脚信号、...

    中文版s3c2440芯片手册第二章

    根据提供的信息,我们可以深入探讨《中文版S3C2440芯片手册第二章》中的核心知识点,主要包括处理器的工作模式、状态切换、存储空间格式、指令长度、数据类型以及寄存器等内容。 ### 一、处理器工作模式 #### 1. ...

    计算机体系结构课堂课件第二章

    第二章的内容主要涵盖了计算机系统设计的基本原则、软件与硬件的关系,以及数据表示、寻址方式和指令系统的基础知识。 1. 计算机系统设计的原则:在设计计算机系统时,一个重要的考量因素是兼容性。向前兼容意味着...

    《计算机操作系统(第四版)》第二章课后习题答案.docx

    《计算机操作系统(第四版)》的第二章主要讨论了进程管理的相关概念,这在多道程序设计环境中至关重要。以下是该章节重点知识的详细解析: 1. 前趋图:前趋图是一个有向无环图(DAG),用于表示进程间的执行顺序。...

    DSP课件 Ti(第二章)

    【标题】"DSP课件 Ti(第二章)" 涉及的核心知识点主要围绕数字信号处理器(Digital Signal Processor,简称DSP)以及TI公司的产品TMS32010展开,这是在数字信号处理领域中非常重要的一个章节。TI公司是全球领先的...

Global site tag (gtag.js) - Google Analytics