0代微型计算机原理与接口技术习题解答2.docx

上传人:无*** 文档编号:64499519 上传时间:2022-11-29 格式:DOCX 页数:101 大小:347.74KB
返回 下载 相关 举报
0代微型计算机原理与接口技术习题解答2.docx_第1页
第1页 / 共101页
0代微型计算机原理与接口技术习题解答2.docx_第2页
第2页 / 共101页
点击查看更多>>
资源描述

《0代微型计算机原理与接口技术习题解答2.docx》由会员分享,可在线阅读,更多相关《0代微型计算机原理与接口技术习题解答2.docx(101页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、习题1. 8086CPU由哪几个部件构成?它们的主要功能各是什么?8086 CPU由指令执行部件EU和总线接口部件BIU两个部份组成。指令执行部件主要 功能是执行指令。总线接口部件的主要功能是完成访问存储器或1/O端口的操作:形成访问存储器的物理地址;访问存储器取得指令并暂存到指令队列中等待执行;访问存储器或1/O端口以读取操作数参与EU运算,或存放运算结果。2. 什么是逻辑地址?什么是物理地址?它们各自如何表示?如何转换?程序中使用的存储器地址称为逻辑地址,由16位“段基址”和16位“偏移地址”(段内 地址)组成。段基址表示个段的起始地址的高16位。偏移地址表示段内的个单元距离段 开始位置的

2、距离。访问存储器的实际地址称为物理地址,用20位二进制表示。将两个16位 二进制表示的逻辑地址错位相加,可以得到20位的物理地址:物理地址=段基址X 16 +偏移地址在32位CPU的保护模式下,“逻辑地址”的表示产生了一些变化,请参考第8章的相关 内容。3. 什么是“堆桟”?它有什么用处?在使用上有什么特点?堆栈是内存中的一块存储区,用来存放专用数据。例如,调用子程序时的入口参数、返 回地址等,这些数据都按照“先进后出”的规则进行存取。SS存放堆栈段的段基址,SP存 放当前堆栈栈顶的偏移地址。数据进出堆栈要使用专门的堆栈操作指令,SP的值在执行堆栈 操作指令时根据规则自动地进行修改。4. 设X

3、=36H, Y=78H,进行X+Y和XY运算后FLAGS寄存器各状态标志位各是 什么?X=36H=OO1IO11OBY=78H=01111000B(+X=36H=OOIIO11OBY=78H=01111000B (一2=10101110BCF=0, SF=1, OF=1, PF=O, ZF=0, =10111110BCF=1, SF=1, OF=0, PF=1, ZF=0,5. 按照传输方向和电气特性划分,CPU引脚信号有几种类型?各适用于什么场合?CPU引脚传输的信号按照传输方向划分,有以下几种类型:输出;信号从CPU向外部传送;输入:信号从外部送入CPU:双向:信号有时从外部送入CPU,有

4、时从CPU向外部传送。双向信号主要用于数据信号的传输;输出信号用于传输地址信号和一些控制信号:输入信号主要用于传输外部的状态信号(例如READY)和请求(中断、DMA) 信号。按照信号的电器特性划分,有以下几种类型:一般信号:用来传输数据/地址信号时,高电平表示“,低电平表示“”:用来 表示正逻辑的控制/状态信号时,“表示有效,“ 表示信号无效: 用来表示负逻辑的控制/状态信号时,“ 0”表示有效,“表示信号无 效。三态信号:除了高电平、低电平两种状态之外,CPU内部还可以通过个大的电 阻阻断内外信号的传送,CPU内部的状态与外部相互隔离,也称为“悬 浮态”。CPU放弃总线控制权,允许其他设备

5、使用总线时,将相关信 号置为“悬浮态”。6. 8086CPU以最小模式工作,现需要读取内存中首地址为20031H的个字,如何执行总线读周期?请具体分析。为了读取内存中首地址为20031H的个字,需要执行二个总线读周期。第一个总线周期读取20031H字节内容,进行的操作如下。状态: M/10= 1,指出CPU是从内存读取数据。随后CPU从地址/状态复用线 (A|9/S6-Alf/S3)和地址/数据复用线(AD15AD。)上发出读取存储器的20位地址20031 Ho 为了锁存地址,CPU在T!状态从ALE引脚输出个正脉冲作为地址锁存信号。由于需要读取高8位数据线上的数据(奇地址),BHE = Oo

6、为了控制总线收发器8286接受数据,DT/R =0,T2状态:地址信息撤消,地址/数据线AD15ADo进入高阻态,读信号RD开始变为低 电平(有效),DEN=O,用来开放总线收发器8286。T3状态:CPU检测READY引脚信号。若READY为高电平(有效)时,表示存储器 或1/O端口已经准备好数据,CPU在状态结束时读取该数据。若READY为低电平,则表 示系统中挂接的存储器或外设不能如期送出数据,要求CPU在T,和T4状态之间插入1个或 几个等待状态Tw,Tw状态:进入Tw状态后,CPU在每个Tw状态的前沿(下降沿)采样READY信号, 若为低电平,则继续插入等待状态Tw。若READY信号

7、变为高电平,表示数据已出现在数 据总线上,CPU从ADI5-ADo读取数据。T4状态:在T3 (Tw)和T4状态交界的下降沿处,CPU对数据总线上的数据进行采样, 完成读取数据的操作。第二个总线周期读取地址为20032H字节的内容。CPU发出的信号与第一个周期类似, 区别在于T|状态CPU发出存储器地址为20032H,由于只需要读取低8位数据线上的数据(偶 地址),BHE=1。在CPU内部,从20031H读入的低位字节和从20032H读入的高位字节被拼装成一个字。7. 8086CPU有几种工作方式?各有什么特点?8086/8088 CPU有两种工作模式:最大工作模式和最小工作模式。所谓最小工作

8、模式,是指系统中只有一个8086/8088处理器,所有的总线控制信号都由 8086/8088 CPU直接产生,构成系统所需的总线控制逻辑部件最少,最小工作模式因此得名。 最小模式也称单处理器模式。最大模式下,系统内可以有一个以上的处理器,除了 8086/8088作为“中央处理器”之 外,还可以配置用于数值计算的8087“数值协处理器、用于I/O管理的“I/O协处理器”8089。 各个处理器发往总线的命令统送往“总线控制器”,由它“仲裁”后发出。CPU两种工作模式由MN/加引脚决定,MN/加接高电平,CPU工作在最小模式: 将MN/加接地,CPU工作在最大模式。8. 分析8086CPU两个中断输

9、入引脚的区别,以及各自的使用场合。INTR用于输入可屏蔽中断请求信号,电平触发,高电平有效。中断允许标志!F=1时 能响应INTR上的中断请求。NMI用于输入不可屏蔽中断请求信号,上升沿触发,不受中断允许标志的限制。CPU- 旦测试到NMI请求有效,当前指令执行完后自动转去执行类型2的中断服务程序。NMI引脚用于连接CPU外部的紧急中断请求,例如内存校验错,电源掉电报警等。NTR 引脚用于连接一般外部设备的中断请求。9. 什么是时钟周期、总线周期、指令周期?它们的时间长短取决于哪些因素?时钟周期:CPU连接的系统主时钟CLK 一个周期的时间。CLK信号频率越高,时钟周 期越短。总线周期:CPU

10、通过外部总线对存储器或I/O端口进行次读/写操作的过程称为总线 周期。8086CPU总线周期一般由四个时钟周期组成,存储器/10设备(接口)速度不能满足 CPU要求时,可以增加一个或多个时钟周期。指令周期:CPU执行一条指令的时间(包括取指令和执行该指令所需的全部时间)称 为指令周期。指令周期的时间主要取决于主时钟的频率和指令的复杂程度,它也受到存储器 或10设备接口工作速度的影响。10. 在一次最小模式总线读周期中,8086CPU先后发出了哪些信号?各有什么用处?状态: M/历指出CPU是从内存(I)还是从IO端口(0)读取数据。随后CPU从 地址/状态复用线(A|S6A/S3)和地址/数据

11、复用线(AD15-ADo)上发出读取存储器的 20位地址,对IO端口访问时从ADhAD()上发出16位地址。为了锁存地址,CPU在T1状态从ALE引脚输出一个正脉冲作为地址锁存信号。如果需要读取高8位数据线上的数据(奇地址/读取个字),BHE = O为了控制总线收发器8286数据传输方向,DT/R = 。状态: 读信号无开始变为低电平(有效),DEN=O,用来开放总线收发器8286。T3状态:CPU检测READY引脚信号。若READY为高电平(有效),表示存储器或I/O 端口已经准备好数据,进入T4状态:若READY为低电平(无效),表示存储器或1/O端口 尚未准备好数据,插入个或多个Tw状态

12、,直到READY变为高电平。丁4状态:在T3 (Tw)和T4状态交界的下降沿处,CPU对数据总线上的数据进行采样, 完成读取数据的操作。11. 结合指令“OUT21H,AL”,具体叙述最大模式“总线写周期”总线上的相关信号。状态:地址/数据复用线(ADi5-AD0)上出现访问10端口的16位地址21H。由于地 址为奇数,需要通过高8位数据线访问端口,BHE = 0oT2状态:iow =0,表示本周期对10端口进行写操作。地址/数据复用线(ADisADQ 上出现来自AL的8位数据。丁3状态:若READY为高电平(有效),表示I/O端口已经准备好接收数据。反之,表示 I/O端口尚未准备好接收数据,

13、需要CPU插入Tw周期进行等待,直到READY出现高电平 (有效)。T4状态:CPU结束本周期。习题1 .内存储器主要分为哪两类?它们的主要区别是什么?内存储器分为随机存取存储器RAM (Radom Access Memory)和只读存储器ROM (Read Only Memory)两类。RAM中信息可以按地址读出,也可以按地址写入。RAM具有易失性,掉电后原来存储 的信息全部丢失,不能恢复。ROM中的信息可以按地址读出,但是在普通状态下不能写入,它的内容一般不能被改 变。ROM具有“非易失性”,电源关闭后,其中的信息仍然保持。2 .说明SRAM、DRAM、MROM、PROM和EPROM的特点

14、和用途。SRAM:静态RAM,读写速度快,但是集成度低,容量小,主要用作Cache或小系统的 内存储器。DRAM:动态RAM,读写速度慢于静态RAM,但是它的集成度髙,单片容量大,现代 微型计算机的“主存”均由DRAM构成。MROM:掩膜ROM,由芯片制作商在生产、制作时写入其中数据,成本低,适合于批 量较大、程序和数据已经成熟、不需要修改的场合。PROM:可编程ROM,允许用户自行写入芯片内容。芯片出厂时,所有位均处于全“ 0” 或全“1”状态,数据写入后不能恢复。因此,PROM只能写入一次。EPROM:可擦除可编程只读存储器,可根据用户的需求,多次写入和擦除,重复使用。 用于系统开发,需要

15、反复修改的场合。3 .已知一个SRAM芯片的容量为8KX8b,该芯片有一个片选信号引脚和一个读/写控制 引脚,问该芯片至少有多少个引脚?地址线多少条?数据线多少条?根据存储芯片地址线数量计算公式,k=log2 (1024*8) = log2 (213) =13,即总计有13 根地址线。另有8根数据线、2根电源线。所以该芯片至少有25 (=13+8+1+1+2)根引脚。4 .巳知一个DRAM芯片外部引脚信号中有4根数据线,7根地址线,计算它的容量。根据存储容量计算公式S=2kX,可得该芯片的存储容量为:2*4=16KX4bit (位),也 可表示为64Kb=8KB (字节)。5 . 32Mx 8

16、b的DRAM芯片,其外部数据线和地址线为多少条7根据存储芯片地址线数量计算公式,k=log2 (1024*1024*32) = log2 (2芬)=25,即需 要25根地址线。但是,由于DRAM芯片的地址采用分时输入的方法,所以实际需要的地址 线只有理论值的一半,此处为13根。数据线8根。6 . DRAM为什么需要定时刷新7DRAM靠MOS管极间电容存储电荷的有无决定所存信息是还是1,由于漏电流的存 在,它存储的信息不能长时间保存,需要定时重新写入,称为“刷新”。7 . 74LS138译码器的接线如图2.28所示,写出%、丫4、五所决定的内存地址范 围。从图看出,该存储系统的片内地址线有!3根

17、(A12-A0),是个由8KB存储芯片组成的存储系统,A17地址线不确定。它的地址分布为:0070, CBA7,7?, 7?, 777?其中,CBA作为译码输入,与输出选择有关:“7” 表示可以为“0”,也可以为“1”。于是:Y0AY1BY2CY3Y4Y5E?Y6E2Y7E374S13813M ”A A AMEMR玲对应的内存地址范围是:MEMW十图2-28译码00000HO1FFFH;或 2000OH21FFFH。对应的内存地址范围是:04000H05FFFH:或 24000H25FFFH。匕对应的内存地址范围是:08000H09FFFH;或 28000H29FFFH。、对应的内存地址范围是

18、:0C000HODFFFH:或 2C000H2DFFFH。8,叙述EPROM的编程过程,并说明EPROM和EEPROM的不同点。EPROM的编程过程 标准编程方式:Vpp上加编程电压,地址线、数据线上给出要编程单元的地址及其数据,并使CE=0、OE=h上述信号稳定后,在PRG端加上宽度为5O5ms的负脉冲,就可将一个字节的数 据写入相应的地址单元中。不断重复这个过程,将数据逐一写入。快速编程方式:使用100州的编程脉冲依次写完所有要编程的单元,然后从头开始校验每个写入的字节。 若写得不正确,则重写这个单元。写完后再校验,不正确还可再写,直到全部正确。EPROM和EEPROM的不同点:EPROM

19、芯片用紫外线光照射擦除芯片的内容,擦除时需要把芯片从电路板上拔下,擦 除操作对整个芯片进行。EPROM芯片编程需要外加“高电压”,所以需要专用的“编程器” 才能实现。EPROM的编程一般情况下对整个芯片进行。EEPROM芯片的擦除用电信号实现,无需把芯片从电路板上拔下,可以进行“在系统编 程”。EEPROM以字节为单位重写,EEPROM没有单独的擦除操作,写入就意味着擦除了原 来的内容,所以使用比EPROM快速方便。相比较而言,EEPROM芯片的编程比较接近RAM 的写入,它们之间的区别主要体现在速度上:RAM写入与读出的速度相近,不需要其他的 联络信号;EEPROM的写入比起读出明显要慢,为

20、了掌握写入时间,EEPROM通常设置了 根“状态”引脚,供联络使用。9 .下列容量的ROM芯片除电源和地线,还有多少个输入引脚和输出引脚?写出信号名 称。(1) 64X4(2) 512X8(3) 128KX8(4) 16KX8(5) 1MX16根据存储容量计算公式可得以上各芯片的地址、数据引脚分别为: 64X4: 地址线 k= Iog2 (64) = log2 (26) =6 根,数据线=4 根;512X8:地址线 k=log2 (512) =log2 (29) =9根,数据线=8 根;128kX8:地址线 k=log2 (128*1024) =log2 (217) = 17 根,数据线=8

21、根;16kX8:地址线 k=log2 (16*1024) = log2 (214) =14 根,数据线=8 根;1MX16;地址线 k=log2 (1024*1024) = log2 (220) =20根,数据线=16 根。此外,所有ROM芯片都需要一根片选信号引脚;对于PROM, EPROM通常还需要“输出允许”和“编程脉冲”输入引脚。EEPROM芯片除了有“片选”、“输出允许”和“写允许”,通常还有表示“写入完成” 的状态信号引脚。10 .已知RAM芯片的容量为(1) 16KX8(2) 32KX8 (3) 64KX8(4) 2KX8如果RAM的起始地址为3400H、则各RAM对应的末地址为

22、多少?存储器的末地址=首地址+芯片内字节数(容量)一 1上述各芯片对应RAM的末地址为:16KX8Z末地址是 3400H+4000H-1=73FFH32KX8;末地址是 34OOH+8OOOH- 1= B3FFH64KX8;末地址是 3400H+10000H1= 133FFH2KX8:末地址是 3400H+8OOH-1=3BFFH11 .如果存储器起始地址为1800H,末地址为1FFFH,求该存储器的容量。该存储器的容量为:(1FFFH-1800H+1) X8 = 800HX8,该存储器有2048 X 8个位,也可以写作2KB。12 .有一个存储体,其地址线15条,数据线8条,则1)该存储体能

23、够存储多少个汉字?2)如果该存储体由2KX4位的芯片组成,需要多少片?3)采用什么方法扩展?分析各位地址线的使用。该存储体容量为2i5X8=32KB,存储个汉字需要二个字节,因此,它能够存储16384 (16K)个汉字。需要 2KX4 位的芯片 32 片,(32KX8) / (2KX4) =32可采用字位全扩展方法,由2片4位的芯片组成1组8位的存储单元,16组扩展成32K 的8位存储体。芯片直接使用的地址线(片内地址)11根(A0-A10),另外需要4根高位地 址,连接到事16译码器输入端,产生16个译码信号用作16个芯片组的片选信号。剩余的地 址线用来确定该存储体的首地址。13 .试说明H

24、ash Memory芯片的特点及28F040的编程过程。Hash Memory也称为“闪速存储器”,有时直接称之为“Hash。Hash既有ROM非易 失性的特点,又能够在线擦除和重写,既可读又可写,同时有很高的存取速度,具有集成度 高,价格低,耗电少等优点。目前存取速度已突破了 30ns,掉电后信息可以保持10年。Hash的编程方法与E?PROM相同,28F040的编程写入过程采用字节编程方式。首先, 向28F040状态寄存器写入命令10H,再在指定的地址单元写入相应数据。接着查询状态, 判断这个字节是否写好,若写好则重复上面过程写入下一个字节,直到全部字节写入。28F040 的编程速度很快,

25、个字节的写入时间仅为8.62。14.利用全地址译码将6264芯片接到8088系统总线 上,地址范围为30000H31FFFH,画岀逻辑图。全地址译码可以保证存储器芯片上的每个单元在整 个内存空间中具有唯一的、独占的个地址。参考教材相 关内容,6264芯片有13根地址线,剩余的高位7根地址 线通过译码组合确定该芯片的起始地址(30000H)由30000H地址得出对应的地址线状态为:0011 000 0 0000 0000 0000B088 系统 BUSDo D7AoA12MEMWMWMRAj6A7A19A8A jA:4Al 36264全地址译码连接图可以看出A|3AI9地址线为0011 000.

26、所以译码组合应逻辑为:=(A13 Al4 . A15 . A18 - A19 ) . (A16 A17)=A13+A|4+A15+A|8+A|9+A|6 * Ap具体逻辑如右图所示。15 .若用2164芯片构成容量为128KB的存储器,需多少片2164?至少需多少根地址线? 其中多少根用于片内寻址?多少根用于片选译码?2164A是容量为64Kxi位的动态随机存储器芯片,构成128KB的存储器需要2164A芯 片 16 片128KX8/ (64KX1) =16。由于地址空间为128K,需要的地址线总数为17根(2=128K)。其中,片内地址线!6 根(2I6=64K).片选地址线1根(17-16

27、=1,)。每8个2164芯片构成一组,进行位扩展, 得到64KB存储器。两个这样的“组”进行地址扩展,构成128KB的存储器。16 .某8088系统用2764 ROM芯片和6264 SRAM芯片构成16KB的内存。其中,RAM 的地址范围为FCOOOH-FDFFFH, ROM的地址范围为FE000H-FFFFFH试利用 74LS138译码,画出存储器与CPU的连接图,并标出总线信号名称。2764和6264均为8KB的存储芯片,需要13根地址线(Ao-A用于片内寻址。8088 系统的其他地址线(AA”)用于产生片选信号。FC000H 的地址线状态为:1111 110 0 0000 0000 00

28、00FE000H 的地址线状态为:1111 111 0 0000 0000 0000将A”A用作译码输入,其他地址(A%A|9=U11)用作译码控制,可以得到如下译码 控制电路,连接如下图所示。MaaiayX2X3X1X43 .用8位补码完成下列运算,用二进制“真值”的格式给出运算结果,并指出运算后 CF、OF、ZF、SF、PF标志位的状态。(1) 127+126(2) 126-127(3) -100-120(4) -100-(-120)解:(1) 127+126127产0111 1111, 126if0111 1110,127+126补=1111 1101, 127+126=-0000001

29、1 (溢出)COZSP=01010(2) 126-127126=0111 1110, -127卄=1000 0001, 126*127抉=1111 1111, 12& 127=-000 0001 COZSP=10011(3) -100-120-100补=1001 1100, -120th=1000 1000,-100420补=00100100, -100-120=+0010 0100 (溢出)COZSP=01001(4) -100-(-120)-100产1001 1100, -120ib=1000 1000, -120补求补=0111 1000, -100- (-120)=0001 0100,

30、 -100- (-120)+0001 0100 COZSP=OOOOl4,把二进制代码1001011101011000分别“看作”是:(1)二进制无符号数 (2)二进制补码 (3)压缩BCD码(4)非压缩BCD码 哪一种情况下它代表的“值”最大?答:看作二进制无符号数时,它代表的“值”最大。分析:看作二进制补码时,它代表个负数,而其它的情况下,它均为正数。因此,看作二 进制补码时,它代表的值最小。把这组代码用十六进制数字形式写出:9758对于无符号数,它的值等于十六进制的9758H:对于压缩BCD码,它的值等于十进制的9758,显然小于9758H:对于非压缩BCD码,它的值等于十进制的78,显

31、然更小于9758H;因此,看作二进制无符号数时,它代表的“值”最大。(5) 数据段内有如下数据定义:db dw dd dbdw30, 30H, ABC ,2-3, ?, 11001010B0FFH, -2, CD20 dup (15,3dup (?) ,0)3dup (?)Z-X假设变量X的偏移地址为20Ho0020H1EH30H41H42H43H0FFH00H0CAHX0FFH00H0FEH0FFH44H43H002EHY(1) 写岀变量X各数据在内存中的具体位置和相关内存 单元的值。(2) 写出变量Y, Z的偏移地址。(3) 写出变量W的值答:(1)变量X各数据在内存中的具体位置和相关内存

32、单元的 值如右图。变量Y的偏移地址为002EH;变量Z的偏移地址为002EH+4X5X20=01BEH 变量W的值等于变量Z和X偏移地址之差0IBEH-0020H=019EH它等于变量X、丫所占用内存单元的字节数。(6) 列指令的源操作数段基址在哪个段寄存器中?(1) MOV AX, BP SI(2) MOV AX, CS:8DI(3) MOV AX, 2EBP*1(4) MOV AX, FS:4ESP(5) MOV AX, 2 EBP EAX (6) MOV AX, ECX EBP*4(7) MOC AX, EDX EBP (8) MOV AX, ES:1OEBP EAX*2 答:各指令源操

33、作数段基址使用的段寄存器如下:(1)SS (2)CS(3)SS(4) FS(5)SS (6)DS(7)DS (8)ES7,判断下列指令是否正确。若不正确,指出错误原因(1) MOVAX, EBX(2)MOVSI, DL(3) MOV EBP, ESP EAX*3 (4) LEA AX, 3006H(5) MOV BP DI,0(6)MOVSI, DI(7) MOV ES, 1000H(8)MOVAX, X+2(2)(3)(4)(5)(6)(7)指令MOV 指令MOV 指令LEA 指令MOV 指令MOV 指令MOV(9) MOV AX, CX+2 (10) MOV EAX EAX*2, AL 答

34、:(1)指令MOV AX, EBX!是正确的。SI, DL是错误的,两个操作数类型不匹配。EBP, ESPEAX*3J是错误的,比例因子不能为3。AX, 3006H是错误的,LEA指令的源操作数必须为内存操作数。BPDI,0是错误的,操作数类型无法确定。SI, DI是错误的,不能同时出现两个内存操作数。ES, 1OOOH是错误的,装载段寄存器时,源操作数不能为立即数。(8)如果“X”是用常数表达式定义的符号(例如:X EQU 5+6),或者是用“ DW” 定义的内存变量,指令MOVAX, X+2是正确的。否则这条指令是错误的。(9)指令MOV AX, CX+2是错误的,源操作数表达式CX+2不

35、是个可以直接计算 的“常数表达式”。(10)指令 MOV EAXEAX*2,AL 是正确的。8.现有(DS)=2000H,(BX)=0100H, (SI)=0002H, (20100H) =12H, (20101H) =34H, (20102H) =56H, (20103H) =78H, (21200H) =2AH, (21201H) =4CH, (21202H) =0B7H, (21203H) =65H.说明下列指令执行后AX寄存器的内容。(1) MOV AX, 1200H(2) MOVAX, BX(3) MOV AX, 1200H(4) MOVAX, BX(5) MOV AX, 11OOH

36、BX(6) MOVAX, BX SI(7) MOVAX, 11OOHBX SI答:(1)指令MOV AX, 1200H执行后,(AX)=1200H (立即数操作数)。(2)指令MOV AX, BX执行后,(AX)=0100H (寄存器操作数)。(3)指令 MOV AX, 1200H!执行后,(AX)C2AH (直接地址,EA=1200H)(4)指令MOV AX, BX执行后,(AX)=3412H (寄存器间接寻址,EA=0100H)(5)指令 MOV AX, 1100HBX执行后,(AX)=4C2AH (相对地址,EA=1200H)(6)指令 MOV AX, BXSIJ 执行后,(AX)=78

37、56H (基址变址寻址,EA=0102H)(7)指令 MOV AX, 1100HBXSI执行后,(AX)=65B7H(相对基址变址寻址,EA=1202H)9 .下面两条指令的功能有什么区别?MOV AX, BXMOV AX, BX答:指令 MOV AX, BX ”把BX寄存器的内容装入到AX中。指令MOV AX, BX”把内存储器个字的内容装入AX寄存器。该字的段基址在 DS中,偏移地址在BX中。10 .写出执行以下计算的指令序列,其中各变量均为16位有符号数。 (1) Z*-W+(Z-X) (2) ZW-(X+6)-(R+9) (3) Z(W*X)/(Y+6), R余数 (4) Z(W-X)

38、/(5*Y)*2解:(1) MOV AX, W MOV BX,Z SUBBX, XADDAX, BXMOV Z,AX (2) MOVAX, WMOVBX, XADDBX, 6SUBAX, BXMOV BX,R ADDBX, 9SUBAX, BXMOV Z,AX (3) MOV AX,WIMULXMOVBX,YADDBX, 9IDIVBXMOVZ, AXMOVR, DXMOVAX,YMOVBX,5IMULBXMOVBX,AXMOVAX,WSUBAX,XMOVCX, 2IMULexIDIVBXMOVZ,AX(4)11 . 个双字长有符号数存放在DX (高位)AX (低位)中,写出求该数相反数的指令

39、序列。结果仍存入DX, AX寄存器解:NOTDX;首先将(DX,AX)取反NOTAXADDAX, 1;最低位加1,注意:不能用1NC指令ADCDX,0,把进位(如果有)传递到髙位12 .内存缓冲区BUFFER定义如下,按照要求,写出指令序列BUFFER DB 20 DUP(?)(1) 将缓冲区全部置为,并使执行时间最短(2) 将缓冲区全部置为空格字符(ASCII代码20H),使用的指令条数最少(3) 将缓冲区各字节依次设置为0, 1, 2, 3, 4,19(4) 将缓冲区各字节依次设置为0, 7, -2, -3, -4,-19(5) 将缓冲区各字节依次设置为30, 29, 28, 27,11(

40、6) 将缓冲区各字节依次设置为0, 2, 4, 6, 8,38(7) 将缓冲区各字节依次设置为0, 1, 2, 3, 0, 1, 2, 3, ”,3解:(1) XOR EAX, EAXMOVDWORD PTR BUFFER, EAXMOVDWORD PTR BUFFER+4, EAXMOVDWORD PTR BUFFER+8, EAXMOVDWORD PTR BUFFER+12, EAXMOVDWORD PTR BUFFER+16, EAX(2) MOV MOVLEAONE:MOV INC LOOP (3) XORMOVONE:MOV INC LOOP (4) XORXOR MOVONE:MO

41、V INC DECAL LOOP(5) XOR MOVMOVONE:MOV INC DECAL LOOP(6) XOR XOR MOVONE:MOV INC ADD LOOP(7) XOR MOVONE:MOV MOV MOVAL, 20HCX, 20BX, BUFFERBXJ,ALBXONEBX, BXCX, 20BUFFERBX, BLBXONEBX, BXAL, ALCX, 20BUFFERBX,ALBXONEBX, BXAL, 30CX, 20BUFFERBX,ALBXONEBX, BXAL, ALCX, 20BUFFERBX,ALBXAL, 2ONEBX, BXCX, 5BUFFERBX, 0BUFFERBX+1, 1BUFFERBX+2, 2MOV BUFFERBX+3, 3

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁