内容发布更新时间 : 2025/8/11 18:49:47星期一 下面是文章的全部内容请认真阅读。
SF OF TF IF 符号标志 溢出标志 陷阱标志 中断允许标志 SF=1,运算结果为负数;SF=0,则结果为正数 OF=1,带符号数在进行运算时产生了溢出;OF=0,则无溢出 TF=1,8086CPU处于单步工作方式;TF=0,8086CPU正常执行程序 IF=1,允许CPU接受外部从INTR引脚上发来的可屏蔽中断请求信号;IF=0,则禁止接受可屏蔽中断请求 DF=1,字符串操作指令按递减的顺序对字符串进行处理;DF=0,字符串操作指令按递增的顺序进行处理 DF 方向标志 2.6 已知堆栈段寄存器(SS)=2400H,堆栈指针(SP)=1200H,计算该堆栈栈顶的实际地址,并画出堆栈示意图。
【解答】(SS)=2400H,(SP)=1200H;PA=(SS)×10H+(SP)= 2400H×10H+1200H = 25200H。
SP 堆栈段 栈底 图2-1 堆栈示意图 2.7 8086的存储器采用 奇偶存储体 结构,数据在内存中的存放规定是 低字节存放在低地址中,高字节存放在高地址中,以低地址为字的地址,规则字是指 低字节地址为偶地址的字,非规则字是指 低字节的地址为奇地址的字。
2.8 解释逻辑地址、偏移地址、有效地址、物理地址的含义,8086存储器的物理地址是如何形成的?怎样进行计算?
【解答】逻辑地址:表示为段地址:偏移地址,书写程序时用到,一个存储单元可对应出多个逻辑地址;
偏移地址:是某一存储单元距离所在逻辑段的开始地址的字节个数。 有效地址:是指令中计算出的要访问的存储单元的偏移地址。
物理地址:是CPU访问存储器时用到的20位地址,是存储单元的唯一的编号。 物理地址计算公式:物理地址 = 段地址×10H+有效地址(或偏移地址)
2.9 8086系统中的存储器分为几个逻辑段?各段之间的关系如何?每个段寄存器的作用是什么? 【解答】8086CPU将1MB的存储空间分成逻辑段来进行管理:每个逻辑段最小为16B。所以最多可分成64K个段;每个逻辑段最大为64KB,最少可分成16个逻辑段。各段的起始位置由程序员指出,可以彼此分离,也可以首尾相连、重叠或部分重叠。
4个16位的段寄存器用来存放每一个逻辑段的段起始地址:CS中为代码段的起始地址;DS中为数据段的起始地址;SS中为堆栈段的起始地址;ES中为附加段的起始地址。
2.10 I/O端口有哪两种编址方式,各自的优缺点是什么? 【解答】I/O端口有两种编址方式:统一编址和独立编址。
统一编址方式是将I/O端口与内存单元统一起来进行编号,即包括在1MB的存储器空间中,看作存储器单元,每个端口占用一个存储单元地址。该方式主要优点是不需要专门的I/O指令,对I/O端口操作的指令类型多;缺点是端口要占用部分存储器的地址空间,不容易区分是访问存储器还是外部设备。
独立编址的端口单独构成I/O地址空间,不占用存储器地址。优点是地址空间独立,控制电路和地址译码电路简单,采用专用的I/O指令,使得端口操作的指令在形式上与存储器操作指令有明显区别,程序容易阅读;缺点是指令类别少,一般只能进行传送操作。
2.11 8086的最大工作模式和最小各种模式的主要区别是什么?如何进行控制? 【解答】两种模式的主要区别是:
8086工作在最小模式时,系统只有一个微处理器,且系统所有的控制信号全部由8086 CPU提供;在最大模式时,系统由多个微处理器/协处理器构成的多机系统,控制信号通过总线控制器产生,且系统资源由各处理器共享。
8086CPU工作在哪种模式下通过CPU的第33条引脚MN/MX来控制:MN/MX=1,系统就处于最小工作模式;MN/MX=0,系统处于最大工作模式。
2.12 在内存有一个由20个字节组成的数据区,其起始地址为1100H:0020H。计算出该数据区在内存的首末单元的实际地址。
【解答】逻辑地址1100H:0020H对应的物理