zoukankan      html  css  js  c++  java
  • 汇编习题解答

    2.1 8086 CPU共有哪些16位寄存器?其中哪些16位寄存器可分为二个8位寄存器来使用?

    参考答案:8086 CPU共有AX、BX、CX、DX、SI、DI、SP、BP、IP、FLAGS、CS、DS、ES、SS共14个16位的寄存器。其中AX、BX、CX、DX可分为二个8位寄存器来使用

    2.2 简述8086 CPU各通用寄存器的主要功能?

    参考答案:8086 CPU包含AX、BX、CX、DX、SI、DI、SP、BP共8个通用寄存器。其中AX主要用在字的乘、除法,输入/输出指令中;BX主要在寄存器间接寻址和XLAT指令中作基址寄存器使用;CX主要在串操作指令和LOOP指令中作计数器使用;DX主要在字的乘除法指令和输入/输出指令中使用;SI主要在字符串操作指令中作源变址寄存器使用;DI主要在字符串操作指令中作目的变址寄存器使用;SP主要在堆栈操作中作堆栈指针使用;BP主要在寄存器间接寻址中作基址指针使用 。

    2.3 8086 CPU的标志寄存器有几个状态标志位?几个控制标志位?它们各自的含义和作用是什么?在Debug环境下,对应的用什么符号来表示之?

    参考答案:8086 CPU的标志寄存器有6个状态标志位,有3个控制标志位。

    其中CF进位标志位主要用来反映运算结果是否产生进位或借位,如果运算结果的最高位向前产生了一个进位(加法)或借位(减法),则其值为1,否则其值为0;PF奇偶标志位用于反映运算结果中低8位含有“1”的个数的奇偶性,如果“1”的个数为偶数,则PF的值为1,否则为0;AF辅助进位标志位表示加法或减法运算结果中D3位向D4位产生进位或借位的情况,有进位(借位)时AF=1;无进位(借位)时AF=0;ZF零标志位用来反映运算结果是否为0,如果运算结果为0,则其值为1,否则其值为0;SF用来反映运算结果的符号位,当运算结果为负数时,SF的值为1,否则其值为0;OF溢出标志位用于反映带符号数运算所得结果是否溢出,如果运算结果超过当前运算位数所能表示的范围,则称为溢出,OF的值被置为1,否则,OF的值被清为0。

    IF中断允许标志位用来决定CPU是否响应CPU外部的可屏蔽中断发出的中断请求,当IF=1时,CPU响应;当IF=0时,CPU不响应。DF方向标志位用来控制串操作指令中地址指针的变化方向。在串操作指令中,当DF=0时,地址指针为自动增量,即由低地址向高地址变化;当DF=1时,地址指针自动减量,即由高地址向低地址变化。TF追踪标志位被置为1时,CPU进入单步执行方式,即每执行一条指令,产生一个单步中断请求。

    在Debug环境下,对应的表示符号如下表

    标志位

    OF

    DF

    IF

    SF

    ZF

    AF

    PF

    CF

    状  态

    1/0

    1/0

    1/0

    1/0

    1/0

    1/0

    1/0

    1/0

    显  示

    OV/NV

    DN/UP

    EI/DI

    NG/PL

    ZR/NZ

    AC/NA

    PE/PO

    CY/NC

    2.4 默认情况下,哪些寄存器可用于读取堆栈段的数据?

    参考答案:SP和BP

    2.5有效地址就是偏移地址的说法正确吗?

    参考答案:正确

    2.6假设用以下寄存器组合来访问存储单元,试求出它们所访问单元的物理地址。

    (1)DS=1000H和DI=F000H    (2)SS=C300H和BP=3200H   (3)DS=A000H和BX=1000H

    参考答案:(1)物理地址=1000H*16+ F000H= 1F000H

    (2)物理地址=C300H*16+3200H=C6200H

    (3)物理地址=A000H*16+1000H=A1000H

    2.7 8086 微机最大可编址的存储空间是多少?它是由什么决定的?

    参考答案:8086 微机最大可编址的存储空间是1MB,由CPU的地址线条数决定。

    2.8 给出下列8位数据在执行加法运算后,CF、OF、SF、ZF的值。

    (1)EFH+2          (2)80H+80H         (3)F9H+63H

    参考答案:

    (1)EFH+2=F1H    CF= 0   OF=0    SF=1     ZF=0

    (2)80H+80H=00H  CF= 1   OF=1    SF=0     ZF=1

    (3)F9H+63H=5CH  CF= 1   OF=0    SF=0     ZF=0

    2.9给出2.8中的每小题在执行减法运算后,CF、OF、SF、ZF的值。

    参考答案:

    (1)EFH-2=EDH    CF= 0   OF=0    SF=1     ZF=0

    (2)80H-80H=00H  CF= 0   OF=0    SF=0     ZF=1

    (3)F9H-63H=96H  CF= 0   OF=0    SF=1     ZF=0

    2.10 简要说明8086 CPU的内部结构及各部分的作用。

    参考答案:8086 CPU的内部结构分为两大部分,分别为总线接口部件BIU和执行部件EU。BIU负责取指令;EU负责指令的执行。

    2.11解释说明逻辑地址、偏移地址、有效地址和物理地址的含义。

    参考答案:逻辑地址:是用户程序设计时所采用的地址,其表示形式为“段地址:偏移地址”。

    偏移地址:是指某存储单元距离本段段地址的偏移量(距离),偏移地址值最大不超过FFFFH。

    有效地址即为偏移地址。

    物理地址:对于CPU的20条地址线所形成的1MB个存储单元(从小到大范围为00000H~FFFFFH)就是存储单元的物理地址,每一个存储单元都有惟一的一个物理地址。

    2.12 8086 CPU的最大工作模式和最小工作模式的主要区别是什么?如何进行控制?

    参考答案:主要区别反映在提供微处理器的数量及总线控制信号的产生。由引脚MN/MX来控制。

    2.13试解释时钟周期、总线周期和指令周期的概念。并结合指令“ADD   [2000H],BX”,说明执行该指令需要几个总线周期?属于什么样的总线周期?

    参考答案:时钟周期为一个时钟脉冲的时间长度,是CPU的基本时间计量单位。

    总线周期:是CPU通过总线对存储器或I/O接口进行一次访问所需要的时间,一个基本的总线周期由4个T状态构成,分别称为T1、T2、T3和T4

    指令周期:CPU执行一条指令所需要的时间,不同指令的指令周期是不等长的。

    指令“ADD [2000H],BX”共需要3个总线周期,分别为:存储器读、存储器读和存储器写。

    2.17 8086 CPU按每个逻辑段最大为64KB划分,最多可分为多少个?最少可分为多少个?各段之间的关系如何?每个段寄存器的作用是什么?

    参考答案:8086 CPU按每个逻辑段最大为64KB划分,最多可划分成64K个逻辑段?最少可划分成16个逻辑段。

     

  • 相关阅读:
    RAID介绍,RAID5,10制作与损坏恢复
    ELK 安装过程
    centos 系统 yum安装软件报错
    linux系统磁盘分区
    python实现遍历两个文件夹,比对文件异常,生成比对报告功能
    win10新装系统,显卡风扇转动,链接正常开机,但设备管理器如果显示,无法更新驱动
    navicat premium 破解,无限试用方法
    安装vmware workstations 12 +ubuntu 遇到的一些问题
    win10 如何打开telnet,ftp等服务
    linux集群架构-keepalived高可用
  • 原文地址:https://www.cnblogs.com/Zblogs/p/3258602.html
Copyright © 2011-2022 走看看