80X86汇编语言程序设计教程(杨季文)课后习题答案

更新时间:2023-05-12 20:59:38 阅读: 评论:0

第二章 答案
2.1 8086/8088通用寄存器的通用性表现在何处?8个通用寄存器各自有何专门用途?哪些寄存器可作为存储器寻址方式的指针寄存器?
答:8086/8088通用寄存器的通用性表现在:
    这些寄存器除了各自规定的专门用途外,他们均可以用于传送和暂存数据,可以保存算术逻辑运算中的操作数和运算结果;
    8个通用寄存器的专门用途如下:
    AX 字乘法,字除法,字I/O
    BX 存储器指针
    CX 串操作或循环控制中的计数器
    DX 字乘法,字除法,间接I/O
    SI 存储器指针(串操作中的源指针)
    DI 存储器指针(串操作中的目的指针)
    BP 存储器指针(存取堆栈的指针)
    SP 堆栈指针
   
    其中BXSIDIBP可作为存储器寻址方式的指针寄存器
2.2  从程序员的角度看,8086/8088有多少个可访问的16位寄存器?有多少个可访问的8 寄存器?
答:  从程序员的角度看,8086/808814个可访问的16位寄存器;有8个可访问的8位寄存器;

2.3  寄存器AX与寄存器AHAL的关系如何?请写出如下程序片段中每条指令执行后寄存器
      AX的内容:
      MOV AX,1234H
      MOV AL,98H
      MOV AH,76H
      ADD AL,81H
      SUB AL,35H
      ADD AL,AH
      ADC AH,AL
      ADD AX,0D2H
      SUB AX,0FFH
答:  MOV AX,1234H        AX=1234H
      MOV AL,98H          AX=1298H
      MOV AH,76H          AX=7698H
      ADD AL,81H          AX=7619H
      SUB AL,35H          AX=76E4H
      ADD AL,AH          AX=765AH
      ADC AH,AL          AX=D15AH北海公园
      ADD AX,0D2H        AX=D22CH
      SUB AX,0FFH        AX=D12DH
2.4  8086/8088标志寄存器中定义了哪些标志?这些标志可分为哪两类?如何改变这些标志的状态?
答:  8086/8088标志寄存器中定义了9个标志,如下:
      CF: Carry Flag
      ZF: Zero Flag
      SF: Sign Flag
      OF: Overflow Flag
      PF: Parity Flag
      AF: Auxiliary Carry Flag
      DF: Direction Flag
      IF: Interrupt-enable Flag
      TF: Trap Flag
     
      这些标志可分为两类,分别为:
     玩电脑 1、运算结果标志;
屋面防水施工规范
      2、状态控制标志;
      采用指令SAHF可把AH中的指定位送至标志寄存器低8SFZFAFPFCF
      采用CLC可清除CF,置CF0
      采用STC可置CF易经是什么1
      采用新年古诗大全CLD可置DF0
      采用sTD可置DF1
      采用CLI可置IF0
      采用STI可置IF1
      另外,在某些指令执行过程中会改变部分标志的状态;
2.5  请说说标志CF和标志OF的差异。
abab的四字词语
答:  如果把指令中处理的数据按照无符号数看待,则处理结果达到进位是,置CF1
    如果把该处理中的数据按照有符号数看待,则处理结果超过有符号数表达范围的,OF1;两个标志同步进行,CPU并不知道该数的类型;
2.6  8086/8088如何寻址1M字节的存储器物理地址空间?在划分段时必须满足的两个条件是什么?最多可把1M字节空间划分成几个段?最少可把1M字节地址空间划分成几个段?
答:  8086/8088通过对存储器分段和使用段寄存器的方式寻址1M字节的存储器物理地址空间;
      在划分段时必须满足的两个条件是:
      1、逻辑段的开始地址必须是16的倍数;
      2、逻辑段的嘴道长度是64K
      1M描写人物品质的四字词语的字节空间划分为64K个逻辑段;最少可把1M字节地址划分成16个逻辑段;
2.7  8086/8088上运行的程序某一时刻最多可访问几个段?程序最多可具有多少个段?程序至少几个段?
答:  8086/8088上运行的程序某一时刻最多可访问4个当前段:代码段,数据段,堆栈段和附加段;程序最多可具有4种类型的段,最少要有一个代码段;
2.8  存储单元的逻辑地址如何表示?存储单元的20位物理地址如何构成?
答:手动挡车驾驶技巧  存储单元的逻辑地址由段值和偏移两部分组成:段值:偏移;
      存储单元的20位物理地址可以表示为:
      物理地址=段值×16+偏移;

2.9  当段重叠时,一个存储单元的地址可表示成多个逻辑地址。请问物理地址12345H可表示多少个不同的逻辑地址?偏移最大的逻辑地址是什么?偏移最小的逻辑地址是什么?
答:  12345H可表示1000H4096)个不同的逻辑地址,偏移最大的逻辑地址是235:0FFF5H
      偏移最小的逻辑地址是1234:0005H
2.10 为什么称CS为代码段寄存器?为什么称SS为堆栈寄存器?
答:  因为在取指令的时候,规定的段寄存器就是CS,所以CS为代码段寄存器;
      而堆栈操作时规定的寄存器是SS,所以SS为堆栈寄存器;
2.11 请举例说明何为段前缀超越。什么场合下要使用段前缀超越?
答:  在存取一般存储器操作数时,段寄存器可以不是DS;当偏移设计BP寄存器时,段寄存器也可以不必是SS;如Mov AX,[si] 默认段地址在DS中,也可以改变:Mov AX, ES:[si]
      当数据并不在默认的DS指定段时,可以采用段前缀超越;
2.12 8086/8088的基本寻址方式可分为哪三类?他们说明了什么?
答:  8086/8088的基本寻址方式可分为以下三类:
      1、存储器寻址;
      2、立即寻址;
      3、寄存器寻址;
      他们说明了cpu有三类合计七种方式进行基本寻址;

本文发布于:2023-05-12 20:59:38,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/889599.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:寄存器   地址   逻辑   程序   标志   存储器   数据
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图