微机原理第2章作业及答案
微机原理作业及参考答案

第二章计算机基础(P32)1-1电子管,晶体管,中小规模集成电路、大规模、超大规模集成电路。
1-2把CPU和一组称为寄存器(Registers)的特殊存储器集成在一片大规模集成电路或超大规模集成电路封装之中,这个器件才被称为微处理器。
以微处理器为核心,配上由大规模集成电路制作的只读存储器(ROM)、读写存储器(RAM)、输入/输出、接口电路及系统总线等所组成的计算机,称为微型计算机。
微型计算机系统是微型计算机配置相应的系统软件,应用软件及外部设备等.1-3写出下列机器数的真值:(1)01101110 (2)10001101(3)01011001 (4)11001110答案:(1)+110 (2)-13(原码) -114(反码)-115(补码)(3)+89 (4)-78(原码)-49(反码)-50(补码)1-4写出下列二进制数的原码、反码和补码(设字长为8位):(1)+010111 (2)+101011(3)-101000 (4)-111111答案:(1)[x]原=00010111 [x]反= 00010111 [x]补= 00010111(2)[x]原=00101011 [x]反= 00101011 [x]补= 00101011(3)[x]原=10101000 [x]反= 11010111 [x]补= 11011000(4)[x]原=10111111 [x]反= 11000000 [x]补=110000011-5 当下列各二进制数分别代表原码,反码,和补码时,其等效的十进制数值为多少?(1)00001110 表示原码14,反码14,表示补码为14(2)11111111 表示原码-127,反码-0,表示补码为-1(3)10000000 表示原码-0,反码-127,表示补码为-128(4)10000001 表示原码-1,反码-126,表示补码为-1271-6 已知x1=+0010100,y1=+0100001,x2=-0010100,y2=-0100001,试计算下列各式。
微机原理第2章课后答案

第2章8086微处理器及其系统教材习题解答1. 8086 CPU 由哪两部分构成,它们的主要功能是什么?在执行指令期间,EU 能直接访问存储器吗,为什么?【解】8086CPU由执行部件(EU)和总线接口部件(BIU)两部分组成。
执行部件由内部寄存器组、算术逻辑运算单元(ALU)与标志寄存器(FR)及内部控制逻辑等三部分组成。
寄存器用于存储操作数和中间结果;算术逻辑单元完成16位或8位算术逻辑运算,运算结果送上ALU内部数据总线,同时在标志寄存器中建立相应的标志;内部控制逻辑电路的主要功能是从指令队列缓冲器中取出指令,对指令进行译码,并产生各种控制信号,控制各部件的协同工作以完成指令的执行过程。
总线接口部件(BIU)负责CPU与存储器、I/O设备之间传送数据、地址、状态及控制信息。
每当EU部件要执行一条指令时,它就从指令队列头部取出指令,后续指令自动向前推进。
EU要花几个时钟周期执行指令,指令执行中若需要访问内存或I/O设备,EU就向BIU 申请总线周期,若BIU总线空闲,则立即响应,若BIU正在取一条指令,则待取指令操作完成后再响应EU的总线请求。
2. 8086CPU与传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点?【解】8086 CPU与传统的计算机相比增加了指令队列缓冲器,从而实现了执行部件(EU)与总线接口(BIU)部件的并行工作,因而提高了8086系统的效率。
3. 8086 CPU 中有哪些寄存器,各有什么用途?【解】8086共有8个16位的内部寄存器,分为两组:①通用数据寄存器。
四个通用数据寄存器AX、BX、CX、DX均可用作16位寄存器也可用作8位寄存器。
用作8位寄存器时分别记为AH、AL、BH、BL、CH、CL、DH、DL。
AX(AH、AL)累加器。
有些指令约定以AX(或AL)为源或目的寄存器。
实际上大多数情况下,8086的所有通用寄存器均可充当累加器。
BX(BH、BL)基址寄存器。
微机原理第二章习题参考答案

微机原理第二章习题参考答案微机原理第二章作业参考答案:1.(2字节)a.指由8个二进制位组成的通用基本单元(6时钟周期)b.是cpu指令执行时间的刻度(10软件配置管理空间)c.cpu所要出访的存储单元数,与cpu地址总线条数有关(11实际地址)d.唯一能代表存储空间每个字节单元的地址,用5位16进制数表示(7总线周期)e.cpu执行访问存储器或i/o操作所花时间(12逻辑地址)f.由段基址和段偏转地址共同组成,均用4十一位16十进制则表示(4基本指令继续执行时间)g.指寄存器乘法指令继续执行所花掉时间(3指令)h.顺利完成操作方式的命令(1字长)i.指cpu在交换、加工、存放信息时信息位的基本长度(5指令执行时间)j.各条指令执行所花时间,不同指令值不一(8cache)k.为减轻cpu与主存储器间互换数据的速度瓶颈而建立的高速缓冲存储器(9虚拟存储器)l.cpu执行程序时看见的一个速度吻合内存却具有外存容量的假想存储器2.(1)mhz频率单位,可以用来表示cpu的主频1mhz=1000000hz(2)ghz频率单位,可以用来表示cpu的主频1ghz=1000000000hz(3)μs时间单位,可以用来表示基本指令执行时间1μs=10s(4)mips每秒百万条指令,用来表示基本指令执行速度(5)kb用以则表示存储器容量、软件配置管理空间或者存储空间的一种单位1kb=2bytes(6)mb用以则表示存储器容量、软件配置管理空间或者存储空间的一种单位1mb=2bytes(7)gb用以则表示存储器容量、软件配置管理空间或者存储空间的一种单位1gb=2bytes(8)tb用以则表示存储器容量、软件配置管理空间或者存储空间的一种单位1tb=2bytes3.eu的共同组成部件:(3)alu(7)状态标志寄存器(9)掌控单元(12)通用寄存器组与biu的共同组成部件:(1)地址部件au(2)段界检查器(4)20十一位地址产生器(5)20十一位物理地址加法器(6)指令队列(8)总线掌控逻辑(10)段寄存器组(11)指令指针4.标志sf(b符号标志)cf(d位次标志)af(h辅助位次标志)df(i方向标志)tf(a陷阱标志)of(c外溢标志)pf(f奇偶标志)if(g中断容许标志)zf(e零标志)类型sssccsscs为0时则表示的状态两个带符号数运算结果就是正数两个并无符号数经alu运算后并无位次或者借位产生两个数运算时,两个高4十一位运算并无位次或者借位产生数据串成操作方式的增量地址为自动递减正常调试两个带符号数运算后没产生外溢运算结果数据高8位中二进制存有奇数个1中断屏蔽数据运算时结果不为零403020?6107.首地址pa=62d87h末地址pa=62d87h+28h(则表示40字节)-1h=62daeh8.实际地址:99a40h9.实际地址:3ba00h10填写下列个状态下的有效信号状态总线操作类型t1t2t3t4最小模式下总线存储器读操作最小模式下总线存储器写操作11.特点方式最小模式最大模式12.00130h:00131h:00135h:00136h:13.0dah31h7fh5ehmn/mx引脚高电平低电平处理器个数12个以上总线控制信号的产生8086828834h00230h:2dh00231h:0abh00232h:00233h:67h14.55h00330h:20h00331h:00332h:45h00333h:20h00334h:53h00335h:20h00336h:54h00337h:20h00338h:43h15.(1)ds:11a7es:11a7ss:21becs:31b8ds,es段顶:11a70hss段顶上:21be0hss段底:22ca8hcs段顶上:31b80hds,es段底:21a6fhcs段底:41b7fh(2)of=0df=0if=1sf=0zf=0zf=0pf=0cf=016.5ch20a28h:00h20a29h:7ah20a2ah:20a2bh:20a2ch:20a2dh:20a2eh:20a2fh:20a30h:20a31h:53h42h0ffh12h00h5bh0ah入栈完毕时,(ss)=20a0h(ip)=0028h17.8086系统中:(1)8284a时钟产生器的作用是:为8086cpu提供时钟,产生cpu所需的系统时钟信号(2)8282/8283地址锁存器的作用是:锁存8086地址总线中的信息(3)8286/8287总线收发器的作用是:传送8086数据总线中的信息(4)8288总线控制器的促进作用就是:在最小工作模式下产生8086系统所需的掌控信号18.8086寻址i/o端口时,使用16条地址线,可寻址32k个字端口,或64k个字节端口。
微机原理作业2--答案

作业二的答案1.8086存储器为什么要采用分段结构,每段的容量有什么要求,为什么?答:8086CPU拥有20位的地址总线,可访问的最大存储容量为1MB,其物理地址的范围为:00000H~FFFFFH;而8086CPU的内部的寄存器只有16位,能访问最大存储空间为64KB,物理地址范围为:0000H~FFFFH。
采用分段管理的办法可扩大对存储器的寻址范围,以适应超过16位的存储器物理结构。
于是将1MB存储器空间分成许多逻辑段,并规定逻辑段不超过64KB,只能从低4位为0000B的地址开始。
这样每个存储单元就可以用“段地址:偏移地址”的逻辑地址来表示其准确的物理位置,而且段地址和偏移地址就都可以用16位寄存器表达。
2.8086系统中,段寄存器CS=1200H,指令指针寄存器IP=FF00H,试写出指令的逻辑地址和物理地址,指向这物理地址的CS值和IP值是唯一的吗?答:逻辑地址1200H:FF00H物理地址1200H×16 + FF00H =12000H + FF00H =21F00H指向这个物理地址的CS值和IP值不是唯一的。
例如:CS=2100H,IP=0F00H。
3.8086的1MB分成两个512KB存储体的好处是什么?8088的1MB为什么不分?答:8086的1MB分成两个512KB存储体的好处就是CPU既可以单独对其中的一个存储体读/写8位数据,也可以对两个存储体中相邻的单元读/写16位数据。
也就是说8086CPU 既能进行字节操作也能进行字操作。
8088CPU的1MB存储器没有必要划分成两个512KB的存储体,是因为它的数据总线宽度为8位,在一个总线周期里不能进行16位的数据读写。
4.若当前SS=3500H,SP=0800H,请写出堆栈段在存储器中的物理地址范围。
若此时入栈10个字节,SP的内容是什么?若再出栈6个字节,SP为什么值?答:堆栈在存储器里的起始物理地址为3500H×10H+0000H=35000H,堆栈段的容量为64KB,所以栈底的物理地址为3500H×10H + FFFFH=35000H + FFFFH = 44FFFH,所以堆栈段在存储器里的物理地址范围为35000H~44FFFH。
微机原理第二章练习题及解

微机原理第二章练习题及解一:单项选择题●8086CPU复位后, 下列寄存器的值为( C )。
A:CS = 0000H、IP = 0000H B:CS = 0000H、IP = FFFFHC:CS = FFFFH、IP = 0000H D:CS = FFFFH、IP = FFFFH●8086CPU复位后, 下列寄存器的值为( C )。
A:CS:IP = 0000H:0000H B:CS:IP = 0000H:FFFFHC:CS:IP = FFFFH:0000H D:CS:IP = FFFFH:FFFFH●当RESET信号为高电平时,寄存器初值为FFFFH的是( A )。
A:CS B:ES C:IP D:BP●地址锁存发生在指令周期的( A )时刻。
A:T1 B:T2 C:T3 D:T4●8086CPU读数据操作在总线周期的( D )时刻。
A:T1 B:T1,T2 C:T2,T3 D:T3,T4●8086CPU写数据操作在总线周期的( D )时刻。
A:T1 B:T2 C:T2,T3 D:T2,T3,T4●8086与外设进行数据交换时,常会在( C )后进入等待周期。
A:T1 B:T2 C:T3 D:T4●计算机中数据总线驱动器采用的基本逻辑单元是( C )。
A:反相器B:触发器C:三态门D:译码器●计算机中地址锁存器采用的基本逻辑单元是( B )。
A:反相器B:触发器C:三态门D:译码器●计算机中地址锁存器的输出信号状态是( B )。
A:单向双态B:单向三态C:双向双态D:双向三态●8086CPU从功能结构上看,是由( D )组成A:控制器和运算器B:控制器,运算器和寄存器C:控制器和20位物理地址加法器D:执行单元和总线接口单元●执行指令IRET后弹出堆栈的寄存器先后顺序为( D )。
A:CS、IP、F B:IP、CS、F C:F、CS、IP D:F、IP、CS●下列逻辑地址中对应不同的物理地址的是( C )。
微机原理第2章答案

第2章习题参考解答1.8086处理器内部一般包括哪些主要部分?8086处理器与其他处理器一样,其内部有算术逻辑部件、控制与定时部件、总线与总线接口部件、寄存器阵列等。
按功能结构可分为两部分,即总线接口单元(BIU)与执行单元(EU)。
BIU主要包括段寄存器、内部通信寄存器、指令指针、6字节指令队列、20位地址加法器和总线控制逻辑电路。
EU主要包括通用寄存器阵列、算术逻辑单元、控制与定时部件等。
2.什么是总线? —般微机中有哪些总线?所谓总线是指电脑中传送信息的一组通信导线,它将各个部件连接成—个整体。
在微处理器内部各单元之间传送信息的总线称为片内总线;在微处理器多个外部部件之间传送信息的总线称为片外总线或外部总线。
外部总线又分为地址总线、数据总线和控制总线。
随着电脑技术的发展,总线的概念越来越重要。
微机中常用的系统总线有PC总线、ISA总线、PCI总线等。
3.什么是堆栈?它有什么用途?堆栈指针的作用是什么?堆栈是一个按照后进先出的原则存取数据的部件,它是由栈区和栈指针组成的。
堆栈的作用是:当主程序调用子程序、子程序调用子程序或中断时转入中断服务程序时,能把断点地址及有关的寄存器、标志位及时正确地保存下来,并能保证逐次正确地返回。
堆栈除了有保存数据的栈区外,还有一个堆栈指针SP,它用来指示栈顶的位置。
假设是“向下生成”的堆栈,随着压入堆栈数据的增加,栈指针SP的值减少。
但SP始终指向栈顶。
4.在8086 CPU中,FR寄存器有哪些标志位?分别说明各位的功能。
8086 CPU中设置了一个16位的标志寄存器FR,其中用了9位,还有7位保留。
9位中有3位作为控制标志,6位作为状态标志。
IF:中断控制标志。
当IF=1时,允许可屏蔽中断请求;当IF=0时,禁止可屏蔽中断请求。
TF:单步运行标志。
当TF=1,单步运行;TF=0,连续运行程序。
DF:方向标志。
当DF=0,串操作时地址按增量修改;DF=1,地址按减量修改。
第二章8086习题答案

第二章8086习题答案编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(第二章8086习题答案)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为第二章8086习题答案的全部内容。
微机原理第二章习题与分析解答1.单项选择题(1)8086工作最大方式时应将引脚MN/MX接()A.负电源 B。
正电源 C。
地D。
浮空分析:8086规定工作在最小方式下MN/MX接+5V,工作在最大方式下MN/MX接地。
答案:C(2)8086能寻址内存储器的最大地址范围为()A.64KB B.1MB C.16MB D。
16KB分析:8086有A0~A1920条地址总线,220=1MB。
答案:B(3)在总线周期,8086CPU与外设需交换()A.地址信息B。
数据信息 C。
控制信息D。
A、B、C分析在总线周期,CPU必须发出地址信息的控制信息以后,才能实现与外设进行交换数据。
答案:D(4)8086用哪种引脚信号来确定是访问内存还是访问外设()A.RD B。
WR C。
M/IO D。
INTA分析:引脚信号M/IO是Memory or Input Output的缩写,当M/IO=0时,用以访问外设;当M/IO=1,用以访问外设。
答案:C(5)在8086指令系统中,下列哪种寻址方式不能表示存储器操作数()A.基址变址寻址B。
寄存器寻址C。
直接寻址 D。
寄存器间接寻址分析:8086指令系统共有七种寻址方式,只有立即寻址方式和寄存器寻址方式不是表示存储器操作数的。
答案:B(6)当CPU时钟频率为5MHz,则其总线周期()A.0.8 s B.500ns C.200ns D。
200μs分析:时钟周期T=1/ƒ=200ns,而一个总路线周期通常由4个T状态组成,有4╳T=4╳200ns=0.8μs。
微机原理习题课

微机原理习题课第二章习题答案一、填空题1、MOV AX,7896HADD AL,AH上述指令执行后,标志位CF和OF的值是()。
2、MOV SP,3210HPUSH AX 执行上述指令序列后,SP寄存器的值是( )3、重复前缀指令REP的重复次数由()决定。
4、在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是()。
5、下面指令序列执行后完成的运算,正确的算术表达式应是()。
MOV AL,BYTE PTR XSHL AL,1DEC ALMOV BYTE PTR Y,AL6、下面程序段执行后,AL中的内容是()MOV AX,8833HADD AL,AHDAA7、如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是____ IP____,而后两个字节存放的是____ CS____。
8、执行下面的程序段后,AX=_________ 。
MOV CX,5;MOV AX,50;NEXT:SUB AX,CX;LOOP NEXT;HLT9、MUL WORD PTR [SI] ,原操作数__________;目标操作数__________;10、设AL=-18,CL=2,则执行SAR AL,CL 后,AL=__________ 。
11、设AH=0,AL=06H,BL=09H,执行指令ADD AL,BLAAA之后,其结果应是()。
12、指令LOOPNZ 退出循环的条件是()。
13、MOV AX, 65A3;AND AX, 0FA03AX=___5FA6_______,若作为无符号数,其十进制值为___24486_______,若作为带符号数,其十进制值为____+24486______.14、(西安交大)写出一条能完成下述操作的指令(1)将AH的最高3位清零,其他位不变()(2)AH的低半字节置1,其他位不变()(3)AH的最低位取反,其他位不变()15、(西南交大) 8086 CPU在基址-变址寻址方式中,基址寄存器可以是( )和( ),变址寄存器可以是( )和( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章8086微处理器及其系统习题解答1. 8086 CPU 由哪两部分构成,它们的主要功能是什么在执行指令期间,EU 能直接访问存储器吗,为什么【解】8086CPU由执行部件(EU)和总线接口部件(BIU)两部分组成。
执行部件由内部寄存器组、算术逻辑运算单元(ALU)与标志寄存器(FR)及内部控制逻辑等三部分组成。
寄存器用于存储操作数和中间结果;算术逻辑单元完成16位或8位算术逻辑运算,运算结果送上ALU内部数据总线,同时在标志寄存器中建立相应的标志;内部控制逻辑电路的主要功能是从指令队列缓冲器中取出指令,对指令进行译码,并产生各种控制信号,控制各部件的协同工作以完成指令的执行过程。
总线接口部件(BIU)负责CPU与存储器、I/O设备之间传送数据、地址、状态及控制信息。
每当EU部件要执行一条指令时,它就从指令队列头部取出指令,后续指令自动向前推进。
EU要花几个时钟周期执行指令,指令执行中若需要访问内存或I/O设备,EU就向BIU 申请总线周期,若BIU总线空闲,则立即响应,若BIU正在取一条指令,则待取指令操作完成后再响应EU的总线请求。
2. 8086CPU与传统的计算机相比在执行指令方面有什么不同这样的设计思想有什么优点【解】8086 CPU与传统的计算机相比增加了指令队列缓冲器,从而实现了执行部件(EU)与总线接口(BIU)部件的并行工作,因而提高了8086系统的效率。
3. 8086 CPU 中有哪些寄存器,各有什么用途【解】8086共有8个16位的内部寄存器,分为两组:①通用数据寄存器。
四个通用数据寄存器AX、BX、CX、DX均可用作16位寄存器也可用作8位寄存器。
用作8位寄存器时分别记为AH、AL、BH、BL、CH、CL、DH、DL。
AX(AH、AL)累加器。
有些指令约定以AX(或AL)为源或目的寄存器。
实际上大多数情况下,8086的所有通用寄存器均可充当累加器。
BX(BH、BL)基址寄存器。
BX可用作间接寻址的地址寄存器和基地址寄存器,BH、BL 可用作8位通用数据寄存器。
CX(CH、CL)计数寄存器。
CX在循环和串操作中充当计数器,指令执行后CX内容自动修改,因此称为计数寄存器。
DX(DH、DL)数据寄存器。
除用作通用寄存器外,在I/O指令中可用作端口地址寄存器,乘除指令中用作辅助累加器。
②指针和变址寄存器。
BP(Basic Pointer Register)基址指针寄存器。
SP(Stack Pointer Register)堆栈指针寄存器。
SI(Source Index Register)源变址寄存器。
DI(Destination Index Register)目的变址寄存器。
BP、SP称为指针寄存器,用来指示相对于段起始地址的偏移量。
BP和SP一般用于堆栈段。
SI、DI称为变址寄存器,可用作间接寻址、变址寻址和基址变址寻址的寄存器。
SI一般用于数据段,DI一般用于数据段或附加段。
标志寄存器(FR):是一个16位寄存器,算术逻辑单元进行算术逻辑运算后,在标志寄存器中建立相应的标志。
段地址寄存器(CS、DS、SS、ES)。
用于存放段地址,根据其主要用途,分为代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS、附加段寄存器ES。
代码段寄存器CS:代码段是存放程序代码的存储区域,代码段寄存器用来存放代码段存储区域的起始地址。
数据段寄存器DS:数据段是存放程序中所使用的数据的存储区域,数据段寄存器用来存放程序的数据存储区的起始地址。
堆栈段寄存器SS:堆栈段寄存器用来存放堆栈存储区的起始地址。
由堆栈段寄存器SS 与堆栈指针寄存器SP来确定当前堆栈指令的操作地址。
附加段寄存器ES:附加段是为某些字符串操作指令存放目的操作数而设置的一个附加的数据段,附加段寄存器用来存放该附加数据段存储区域的起始地址。
指令指针寄存器(IP)。
又称程序计数器,是16位寄存器。
IP中存放当前将要执行的指令的有效地址,每取出一条指令IP自动增量,即指向了下一条指令。
指令队列缓冲器:是一个与CPU速度相匹配的高速缓冲寄存器。
在EU执行指令的同时,BIU可以从内存中取出下一条或下几条指令放到指令缓冲器中,EU执行完一条指令后,可以立即从指令缓冲器中执行下一条指令。
4. 状态标志与控制标志有何不同,程序中是怎样利用这两类标志的标志寄存器有哪些标志位,各在什么情况下置位【解】状态标志根据算术逻辑运算结果由硬件自动设定,它们反映运算结果的某些特征或状态,可作为后继操作(如条件转移)的判断依据。
控制标志由用户通过指令来设定,它们可控制机器或程序的某些运行过程。
标志寄存器的内容如下:1514131211109876543210CF(Carry Flag)进位标志,反映在运算结果的最高位有无进位或借位。
如果运算结果的最高位产生了进位(加法)或借位(减法)则CF=1,否则CF=0。
PF(Parity Flag)奇偶标志,反映运算结果中“1”的个数的奇偶性,主要用于判断数据传送过程中是否出错。
若结果的低8位中有偶数个“1”则PF=1,否则PF=0。
AF(Auxiliary Carry Flag)辅助进位标志,又称半进位标志。
加减运算时,若D3向D4产生了进位或借位则AF=1,否则AF=0。
在BCD码运算时,该标志用于十进制调整。
ZF(Zero Flag)零标志,反映运算结果是否为0。
若结果为零则ZF=1,否则ZF=0。
SF(Sign Flag)符号标志,反映运算结果最高位即符号位的状态。
如果运算结果的最高位为1则SF=1(对带符号数即为负数),否则SF=0(对带符号数即为正数)。
OF(Overflow Flag)溢出标志,反映运算结果是否超出了带符号数的表数范围。
若超出了机器的表数的范围,即为产生溢出,则OF=1,否则OF=0。
DF(Direction Flag)方向标志,用于串处理指令中控制串处理的方向。
当DF=1时,每次操作后变址寄存器SI、DI自动减量,因此处理方向是由高地址向低地址方向进行。
当DF=0,则SI、DI自动增量,处理方向由低地址向高地址方向进行。
该标志由方向控制指令STD或CLD 设置或清除。
IF(Interrupt Flag)中断允许标志,用于控制CPU是否允许响应可屏蔽中断请求。
IF=1为允许响应可屏蔽中断请求,IF=0则禁止响应可屏蔽中断请求。
该标志可由中断控制指令STI 或CLI设置或清除。
TF(Trap Flag)陷阱标志,用于单步操作。
TF=1时,每执行一条用户程序指令后自动产生陷阱,进入系统的单步中断处理程序。
TF=0时,用户程序会连续不断地执行,不会产生单步中断。
5. 求出下列运算后各个标志的状态,并说明进位标志和溢出标志的区别。
(1) 1278H + 3469H (2) 54E3H - 27A0H(3) 3881H + 3597H (4) 01E3H - 01E3H【解】CF进位标志,反映在运算结果的最高位有无进位或借位。
OF溢出标志,反映运算结果是否超出了带符号数的表数范围。
机器实际处理时判断是否溢出的方法是根据最高位的进位(CF)与次高位的进位是否相同来确定,若两者不相同则OF=1(表示有溢出),否则OF=0(表示无溢出)。
(1)0001 0010 0111 1000+0011 0100 0110 10010100 0110 1110 0001运算后各个标志的状态:OF DF IF TF SF ZF--AF--PF--CF(2)0101 0100 1110 0011-0010 0111 1010 00000010 1100 0100 0011运算后各个标志的状态:OF DF IF TF SF ZF--AF--PF--CF(3)0011 1000 1000 0001+0011 0101 1001 01110110 1110 0001 1000运算后各个标志的状态:OF DF IF TF SF ZF--AF--PF--CF(4)0000 0001 1110 0011-0000 0001 1110 00110000 0000 0000 0000运算后各个标志的状态:OF DF IF TF SF ZF--AF--PF--CF6. 8086 CPU 中存储器的逻辑地址和物理地址之间有什么关系,各有多少值【解】物理地址为某一个存储单元的实际地址,对于8086它是一个20位的地址。
物理地址从00000H~FFFFFH变化,对应1MB的空间。
逻辑地址,又称偏移地址或有效地址,即对段首的偏移量。
偏移地址从0000H~FFFFH 变化,对应64KB的空间。
物理地址的获得方法是:将段寄存器的内容左移4位(即×16),与逻辑地址相加,得到20位物理地址。
根据寻址方式的不同,偏移地址可以来自程序计数器(IP)或其它寄存器。
7. 8086CPU使用的存储器为什么要分段,怎样分段为什么要设置段寄存器,有几个段寄存器各段寄存器有什么意义【解】8086 CPU内部数据结构是16位的,即所有的寄存器都是16位的,而外部寻址空间为1MB,即需要20位地址线。
为了能用内部寄存器中的16位地址来寻址1MB空间,8086将1MB空间以16字节为一个内存节,共分成64K个节。
节的起始地址分别为00000H、00010H、00020H、…、FFFF0H,称为段基址。
节的起始地址的后4位二进制数为全0,称为节的段地址。
用于存放段地址的寄存器称为段寄存器,根据其主要用途,分为代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS、附加段寄存器ES。
代码段寄存器CS:用来存放代码段存储区域的起始地址。
数据段寄存器DS:数存放程序的数据存储区的起始地址。
堆栈段寄存器SS:用来存放堆栈存储区的起始地址。
由堆栈段寄存器SS与堆栈指针寄存器SP来确定当前堆栈指令的操作地址。
附加段寄存器ES:附加段是为某些字符串操作指令存放目的操作数而设置的一个附加的数据段,附加段寄存器用来存放该附加数据段存储区域的起始地址。
8. 简述A0与BHE在8086系统中的应用。
【解】8086系统中将1MB存储空间分成两个512KB的物理存储体。
一个存储体由偶数地址组成,另一个存储体由奇数地址组成。
用A0位来区分两个存储体。
用BHE和A0的组合来选择存储体,其组合关系及操作情况如下:(1) 从偶地址读写一个字节(BHE A0=10)。
AD15~AD8上的数据被忽略,字节内容通过AD7~AD0传送。
(2) 从奇地址读写一个字节(BHE A0=01)。
在AD15~AD8上传送的数据有效,AD7~AD0上数据被忽略。
(3) 从偶地址开始读写一个字(BHE A 0=00)。
在AD 15~AD 0上传送的数据同时有效。
(4) 从奇地址开始读写一个字。