汇编语言与接口技术课后答案(1-8章完整版)-王让定-朱莹编(-下载后可查看剩余几章内容)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第一章(下载后可查看)第二章1.8086/8088CPU的地址总线有多少位?其寻址范围是多少?答:8086/8088CPU的地址总线共20位,最大可寻址1MB空间。2.8086/8088CPU分为哪两个部分?各部分主要由什么组成?答:8086/8088CPU分为总线接口部件(BIU)和执行部件(EU)两个部分。其中:BIU包括:4个16位的段地址寄存器(CS、DS、SS、ES);1个16位的指令指针寄存器IP;1个20位的地址加法器;指令队列寄存器;内部寄存器;输入输出总线控制逻辑;EU包括:4个16位的通用数据寄存器(AX、BX、CX、DX);4个16位的专用寄存器(BP、SP、SI、DI);1个16位的标志寄存器FR;4.8086/8088CPU中有几个通用寄存器?有几个变址寄存器?有几个指针寄存器?通常哪几个寄存器亦可作为地址寄存器使用?答:8086/8088CPU中共有:8个16位的通用寄存器AX、BX、CX、DX、BP、SP、SI、DI;2个变址寄存器SI、DI;2个指针寄存器BP、SP;其中BX、BP、SI、DI亦可作地址寄存器。5.8086/8088CPU中有哪些标志位?它们的含义和作用如何?答:8086/8088CPU中共有9个标志位,其中DF、IF和TF为控制标志位,其余6个为状态标志位。它们的含义和作用如下所示:CF(CarryFlag)进位标志:若算术运算的结果产生了进位或借位(对字节操作最高位是D7位;对字操作最高位是D15位),则CF=1,否则CF=0。PF(Parity/EvenFlag)奇偶标志:如果运算结果中含有偶数个1,则PF=1,否则PF=0。此标志位主要用于数据通信中,检测数据传送有无出错。AF(AuxiliaryCarryFlag)辅助进位标志:用于反映一个字节(字的低字节)的低4位向高4位有无进位(借位)的情况,有进(借)位时,AF=1,否则AF=0。这个标志位主要用于实现BCD码算术运算所需的二-十进制调整之用。ZF(ZeroFlag)零标志:若运算结果为0,此标志为1;否则ZF=0。SF(SignFlag)符号标志:因为补码运算的最高位是符号位,所以它和运算结果的最高位(字节操作是D7位,字操作是D15位)状态相同。当运算结果为负时,SF=1;否则SF=0。OF(OverflowFlag)溢出标志:在带符号数的加或减运算中结果超出8位或16位符号数所能表示的数值范围(-128~127或-32768~+32767)时,产生溢出使OF=1,否则OF=0。DF(DirectionFlag)方向标志位:此标志位用以控制串操作指令地址指针的步进方向。每执行一条串操作指令,对地址要进行一次调整(对字节操作为加1或减1,对字操作为加2或减2)。方向标志DF决定地址是增量还是减量。若DF=1,串地址为减量;DF=0,则为增量。IF(InterruptEnableFlag)中断允许标志位:也称为开中断标志位。若使IF=1,则CPU允许接受外部来的可屏蔽中断源发出的中断请求;若使IF=0,则表示CPU不响应此中所请求。IF对非屏蔽中断及CPU内部中断请求均不起作用。TF(TrapFlag)陷阱标志位:也称为跟踪标志位。若TF=1,则CPU处于单步执行指令的工作方式。在这种工作方式下,CPU每执行完一条指令就自动地产生一次类型为1的内部中断,可以借此检查这条指令的执行情况。8.什么是逻辑地址?什么是物理地址?它们之间有什么联系?各用在何处?答:逻辑地址由两个16位的部分即段基址和偏移量组成,一般在程序中出现的地址都表示为逻辑地址形式;物理地址是一个20位的地址,它是唯一能代表存储空间每个字节单元的地址,一般只出现在地址总线上。由于8086/8088CPU中的寄存器只有16位长,所以程序不能直接存放20位的物理地址,而必须借助逻辑地址,即用两个16位的寄存器来表示物理地址。他们之间的关系是:物理地址=段基址*16+偏移量;另外,一个物理地址可对应多个逻辑地址。9.设现行数据段位于存储器0B0000H~0BFFFFH单元,DS段寄存器内容为多少?答:DS段寄存器内容为0B000H。15.8086CPU读/写总线周期包含多少个时钟周期?什么情况下需要插入TW等待周期?TW的多少取决于什么因素?什么情况下会出现空闲状态T1?答:8086CPU的基本读/写总线周期包括4个时钟周期。在某些情况下,被写入数据或被读取数据的存储器或外设在速度上跟不上CPU时,就会由存储器或外设在T3状态启动前向CPU发无效的READY信号,于是CPU将在T3之后插入1个或多个附加的等待周期Tw。如果在1个总线周期之后不立即执行下一个总线周期,那么总线就处于空闲状态,即执行空闲周期T1。第3章8086的指令系统〔习题3.1〕已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12345678H,[21200H]~[21203H]依次存放2A4CB765H,说明下列每条指令执行完后AX寄存器的内容。(1)movax,1200h(2)movax,bx(3)movax,[1200h](4)movax,[bx](5)movax,[bx+1100h](6)movax,[bx+si](7)movax,[bx][si+1100h]〔解答〕(1)AX=1200H(2)AX=0100H(3)AX=4C2AH;偏移地址=bx=0100h(4)AX=3412H;偏移地址=bx=0100h(5)AX=4C2AH;偏移地址=bx+1100h=1200h(6)AX=7856H;偏移地址=bx+si=0100h+0002h=0102h(7)AX=65B7H;偏移地址=bx+si+1100h=0100h+0002h+1100h=1202h〔习题3.2〕指出下列指令的错误(1)movcx,dl(2)movip,ax(3)moves,1234h(4)moves,ds(5)moval,300(6)mov[sp],ax(7)movax,bx+di(8)mov20h,ah〔解答〕(1)两操作数类型不匹配(2)IP指令指针禁止用户访问(3)立即数不允许传给段寄存器(4)段寄存器之间不允许传送(5)两操作数类型不匹配(6)目的操作数应为[SI](7)源操作数应为[BX+DI](8)立即数不能作目的操作数〔习题2.4〕什么是堆栈,它的工作原则是什么,它的基本操作有哪两个,对应哪两种指令?〔解答〕堆栈是一种按“先进后出”原则存取数据的存储区域,位于堆栈段中,使用SS段寄存器记录其段地址;它的工作原则是先进后出;堆栈的两种基本操作是压栈和出栈,对应的指令是PUSH和POP。〔习题2.10〕指出下列指令的错误:(1)xchg[si],30h(2)popcs(3)sub[si],[di](4)pushah(5)adcax,ds(6)add[si],80h(7)inal,3fch〔解答〕(1)xchg的操作数不能是立即数(2)不应对CS直接赋值(3)两个操作数不能都是存储单元(4)堆栈的操作数不能是字节量(5)adc的操作数不能是段寄存器(6)没有确定是字节还是字操作(7)in不支持超过FFH的直接寻址〔习题2.19〕8086的条件转移指令的转移范围有多大?实际编程时,你如何处理超出范围的条件转移?〔解答〕8086的条件转移的转移范围:在当前指令地址的+127~-128之内。如条件转移的转移范围超出此范围,可在此范围内安排一条无条件转移,再转移到范围外的目标地址。第四章(下载后可查看)第五章(下载后可查看)第六章6.1存储元、存储单元、存储体、存储单元地址有何区别和联系?存储体由许多存储单元组成,每个存储单元又包含若干个存储元,每个存储元能寄存一位二进制代码“0”或“1”。一个存储单元存储一串二进制代码(存储字),这串二进制代码的位数称为存储字长,存储字长可以是8位、16位、32位等,如果把一个存储体看做是一幢大楼,存储单元看做是大楼里的每个房间,那么每个存储元就可以看做是每间房间里的一张床位,床位有人相当于“1”,无人相当于“0”,每间房间里的床的位数就相当于存储字长,而房间的编号可看做是存储单元的地址号,即存储单元地址。6.2半导体存储器有哪些主要特点?有那几项主要性能指标?半导体存储器具有体积小、速度快、耗电少、价格低的优点。半导体存储器主要有以下几个主要性能指标:(1)存储容量:存储器所能存储二进制数码的数量,即所含存储元的总数(2)存取时间(读写周期):从启动一次存储器操作到完成该操作所经历的时间(3)功耗:每个存储元消耗功率的大小(4)可靠性:对电磁场及温度变化等的抗干扰能力。6.3一个微机系统中通常有哪几级存储器?它们各起什么作用?性能上有什么特点?答:一个微机系统中通常有3级存储器结构:高速缓冲存储器、内存储器和辅助存储器。高速缓冲存储器简称快存,是一种高速、小容量存储器,临时存放指令和数据,以提高处理速度。内存存取速度快,CPU可直接对它进行访问,用来存放计算机运行期间的大量程序和数据。辅存存储容量大,价格低,CPU不能直接进行访问,通常用来存放系统程序、大型文件及数据库等。6.10假设有一个具有20位地址和16位字长的存储器,请问:(1)该存储器能够存储多少字节的信息?(2)如果该存储器由16K×8位的SRAM芯片组成,需要多少片?(3)需要多少位地址线进行芯片选择?1)2^20*16/8=2M字节2)(2^20/32K)*(16/8)=64片3)Log264=6第七章(下载后可查看)第八章8.18259A全嵌套方式和特殊嵌套方式有什么区别?各自应用在什么场合?答:1.全嵌套工作方式,只有更高级的中断请求来到时,才会进行嵌套。而特殊全嵌套方式则能被同级和高级的中断请求所嵌套。2.全嵌套方式用于单片8259A的场合。特殊全嵌套方式用于多片8259A系统。8259A引入中断请求的方式有哪几种?各自有什么特点?8259A引入中断请求的方式有哪几种?各自有什么特点?答:1.引入中断请求的方式有:边沿触发方式、电平触发方式、中断查询方式三种。2.边沿触发方式特点:边沿触发方式利用上升沿作为中断触发信号,出发后,电平即使一直维持高,也不会引起再次中断请求。电平触发方式:在电平触发方式下,中断请求端出现的高电平是有效的中断请求信号。在这种方式下,应注意及时撤出高电平,否则,可能引起不应该有的第二次中断。中断查询方式的特点:①设备仍然通过往8259A发中断请求信号要求CPU服务,但8259A不使用INT信号向CPU发中断请求信号。②CPU内部的中断允许触发器复位,所以禁止了外部对CPU的中断请求。③CPU要使用软件查询来确认中断源,从而实现对设备的中断服务。8.38259A的初始化命令字有哪些?各自如何定义?如何解决地址问题?答:1.8259A的初始化命令字有ICW1、ICW2、ICW3、ICW4共四个。2.ICW1——芯片控制初始化命令字。ICW2——设置中断类型码的初始化命令字。ICW3——标志主片/从片的初始化命令字。ICW4——方式控制初始化命令字。3.ICW2、ICW3、ICW4必须写入奇地址端口中。4.ICW1必须写入偶地址端口中。

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功