微机原理答案1 优质课件
- 格式:ppt
- 大小:329.51 KB
- 文档页数:58
*教材:《微机原理与接口技术实用教程》,杨帮华等编,清华大学出版社,2008. 5习题一1、十进制一二进制:73.8125 =2、十进制一十六进制:299. 34375 =3、二进制一十进制:10010010. 001B =4^十六进制一十进制:8F. 7H =5、已知:a = 1011B, b = 11001B, c = 100110B,用二进制完成下列算术运算,并用十进制运算检查结果:(1)a+b; (2) c-a~b;(3) aXb; (4) c/a。
6、已知:a = 00111000B, b = 11000111B,试求以下逻辑运算结果:(1) a AND b ;(2) a OR b ;(3) a XOR b ; (4) NOT a。
7、写出下列各数的8位原码和补码:(1) +1010101B;(2) -1010101B;(3) +1111111B;(4) -1111111B;(5) +1000000B;(6) -1000000B;(7) +34 ;(8) -69。
8、对下列8位补码分别进行a+b和a-b运算,并判断结果是否溢出:(1) a = 37H, b = 57H; (2) a =0B7H, b =0D7H ;(3) a =0F7H, b =0D7H; (4) a = 37H, b =0C7H 。
9、将下列十进制数用BCD表示,并用加6修正法求运算结果:(1) 38+42;(2) 56+77;(3) 99+88;(4) 34+69 。
10、将下列字符串用偶校验ASCII表示(以十六进制形式):(1) SAM JONES; (2) -75. 61。
11、用规格化浮点数表示(设阶为4位原码,尾为8位补码):-3. 125 =*习题一参考答案1、01001001.1101B2、12B.58H3、146.1254、143.43755、100100B, 0010B, 100010011B, 0011B...0101B6、00000000B, 11111111B, 11111111B, 11000111B7、01010101B、01010101B, 11010101B、10101011B, 01111111B、01111111B,11111111B、10000001B, 01000000Bs 01000000B, 11000000> 11000000B,00100010B、00100010B, 11000101B、10111011B8、8EHx、E0H V , 8EH "、E0H V , CEH ”、20H V , FEH ”、70H V9、80, (1)33, (1)87, (1)0310、53、41、4D、20、4A、4F、4E、45、53, 2D、37、35、2E、36、31 (H)偶校验:0101001k 01000001、01001101, 10100000、11001010> 1100111k 01001110, 1100010k01010011, 00101101, 1011011K 0011010k 00101110> 00110110, 10110001 (B)11、一3.125 = —11.001B=—0.11001B X 2+2,即:0010 10011100B (阶为4位原码,尾为8位补码)习题二教材P24 (1.8习题):一、6教材 P115 (3. 5 习2, 习题三 二、1*习题三参考答案 教材P115 (3. 5习题):一、1、假定 DS=2000H, SS=1500H, SI=OOAOH, BX=0100H, BP=0010H,数据变量 VAL 的偏地址为0050H,请指出下列指令中源操作数采用什么寻址方式?若源操作数在存储器(1) MOV AX, OABH (2) MOV AX, [100H](3) MOV AX, VAL(4) MOV BX, [SI](5) MOV AL, VAL[BX](6) MOV CL, [BP][SI] ;立即寻址;直接寻址,EA=0100H, PA=DSX10H+EA=20100H ;直接寻址,EA=VAL=0050H, PA=DS X 10H+EA=20050H ;寄存器间接寻址,EA=SI=OOAOH, PA=DSX10H+EA=200A0H ;寄存器相对寻址,EA=BX+VAL=0150H, PA=DSX 10H+EA=20150H ;基址变址寻址,EA=BP+SI=OOBOH, PA=SS X(1) MOV AH, BX (2) MOV [SI], [BX] (3) MOV AX, [SI][DI]MOV AX, [BX][BP];X ,源、目的字长不一致(或类型不一致) ;X ,源、目的不可同为存储器操作数 ;X,基址变址寻址不可SI 与DI 组合 ;X,基址变址寻址不可BX与BP 组合教材 P77 (2. 5 习题):一、1, 2, 3, 5, 6, 7, 8; 二、2, 4 补充题: 1、 将62A0H 加下列各数,试求其和及标志位AF 、SF 、ZF 、OF 、CF 、PF 的值。
微机原理与接口技术--习题解答第一章微型计算机概述1.1微处理器、微型计算机和微型计算机系统三者之间有什么不同?答:①微处理器是微型计算机的核心,是微型计算机的一部分。
它是集成在一块芯片上的CPU,由运算器和控制器组成。
②微型计算机包括微处理器、存储器、I/O接口和系统总线,是微型计算机系统的主体。
③微型计算机系统包括微型计算机、外设及系统软件三部分。
1.2CPU在内部结构上由哪几部分组成?CPU应具备哪些主要功能?答:1.CPU在内部结构上由以下几部分组成:①算术逻辑部件(ALU);②累加器和通用寄存器组;③程序计数器(指令指针)、指令寄存器和译码器;④时序和控制部件。
2.CPU应具备以下主要功能:①可以进行算术和逻辑运算;②可保存少量数据;③能对指令进行译码并执行规定的动作;④能和存储器、外设交换数据;⑤提供整个系统所需要的定时和控制;⑥可以响应其他部件发来的中断请求。
1.3累加器和其他通用寄存器相比,有何不同?答:许多指令的执行过程以累加器为中心;输入/输出指令一般也以累加器来完成。
1.4微处理器的控制信号有哪两类?答:一类是通过对指令的译码,由CPU内部产生的。
这些信号由CPU送到存储器、I/O接口电路和其他部件。
另一类是微型机系统的其他部件送到CPU的。
通常用来向CPU发出请求。
如中断请求、总线请求等。
1.5微型计算机采用总线结构有什么优点?答:首先是系统中各功能部件之间的相互关系变为各个部件面向总线的单一关系。
其次是一个部件只要符合总线标准,就可以连接到采用这种总线标准的系统中,使系统功能得到扩充。
1.6数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么,要靠什么来区分地址或数据?答:1.数据总线是双向三态;地址总线是单向输出三态。
2.数据和地址复用时,必须有一个地址选通信号来区分该总线上输出的是地址还是数据。
1.7控制总线传输的信号大致有哪几种?答:包括CPU送往存储器和I/O接口的控制信号,如读信号、写信号、中断响应信号、存储器和I/O接口区分信号等。
微机原理课后习题参考答案(总25页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--上册第一章P9微处理器、微型计算机、微型计算机系统的区别是什么答:(1)微型计算机中的运算器和控制器合起来称为中央处理器,也就是微处理器,又称微处理机。
(2)微型计算机是由cpu、主存储器、输入/输出接口电路和系统总线构成。
(3)微型计算机系统由微型计算机、输入/输出设备、外存储器、系统软件、电源、面板和机架等组成。
微型计算机由哪些基本部分构成微型计算机是由cpu、主存储器、输入/输出接口电路和系统总线构成。
说明CISC、RISC及其主要区别。
CISC是指复杂指令系统计算机,RISC是指精简指令系统计算机。
他们的区别在于不同的CPU设计理念和方法。
RISC指令系统仅包含哪些必要的经常使用的指令,不经常使用的功能,往往通过基本指令组合来完成。
完成特殊功能时效率比较低。
CISC的指令系统比较丰富,一些特殊功能都有相应的指令。
处理特殊任务效率较高。
RISC对存储器操作相对简单,使对存储器访问的控制简化;而CISC机器的存储器操作指令较多,对存储器的访问有更多的指令直接操作,要求的控制逻辑比较复杂。
RISC在一条指令执行的适当地方可以响应中断;而CISC机器是在一条指令执行结束后响应中断。
RISC CPU的电路构成比CISC CPU简单,因此面积小、功耗也更低;CISC电路CPU电路复杂,同水平比RISC CPU面积大、功耗大。
RISC CPU结构比较简单,布局紧凑规整,设计周期较短,比较容易采用一些并行计算的最新技术;CISC CPU结构复杂,设计周期长,技术更新难度大。
从使用角度看,RISC 微处理器结构简单,指令规整,性能容易把握,易学易用;CISC微处理器结构复杂,功能强大,实现特殊功能容易。
第二章8086CPU 由哪两大部分组成简述它们的主要功能。
总线接口部件BIU跟执行部件EU。
微机原理课后详细答案徐惠民版第1章微型计算机系统概述习题1-1.微型计算机包括哪几个主要组成部分,各部分的基本功能是什么答:微型计算机由CPU,存储器,输入/输出接口及系统总线组成.CPU是微型计算机的核心部件,一般具有下列功能:进行算术和逻辑运算.暂存少量数据.对指令译码并执行指令所规定的操作.与存储器和外设进行数据交换的能力.提供整个系统所需要的定时和控制信号.响应其他部件发出的中断请求;总线是计算机系统各功能模块间传递信息的公共通道,一般由总线控制器,总线发送器,总线接收器以及一组导线组成;存储器是用来存储数据,程序的部件;I/O接口是微型计算机的重要组成部件,在CPU 和外设之间起适配作用.1-2.CPU执行指令的工作过程.答:取指令,执行指令.指令执行的基本过程:(1)开始执行程序时,程序计数器中保存第一条指令的地址,指明当前将要执行的指令存放在存储器的哪个单元.(2)控制器:将程序计数器中的地址送至地址寄存器MAR,并发出读命令.存储器根据此地址取出一条指令,经过数据总线进入指令寄存器IR.(3)指令译码器译码,控制逻辑阵列发操作命令,执行指令操作码规定的操作.(4)修改程序计数器的内容.1-3.果微处理器的地址总线为20位,它的最大寻址空间为多少答:202=1048576=1MB1-4.处理器,微型计算机和微型计算机系统之间有什么关系答:微处理器是微型计算机的核心部件.微处理器配上存储器,输入/输出接口及相应的外设构成完整的微型计算机.以微型计算机为主体,配上系统软件和外部设备以后,就构成了完整的微型计算机系统.1-5.下面十进制数分别转换为二进制,八进制和十六进制数:128,65535,1024答:128,二进制:10000000B,八进制:200O,十六进制:80H65535,二进制:1111111111111111B,八进制:177777O,十六进制:FFFFH1024, 二进制:10000000000B,八进制:2000O,十六进制:400H1-6.下面二进制数分别转换为十进制及十六进制数:1011.1010B,1111101.11 B答:1011.1010B,十进制:11.625,十六进制:B.AH1111101.11B,十进制:125.75,十六进制:7D.CH1-7.(5487)10=( 0101010010000111)BCD= 1010101101111 B 1-8.设字长为8位,请写出下列数的原码,反码,补码和移码:15,-20,-27/32答:[+15]原=00001111,[+15]反=00001111,[+15]补=00001111,[+15]移=10001111[-20]原=10010100,[-20]反=11101011,[-20]补=11101100,[-20]移=01101100[-27/32]原=1.1101100,[-27/32]反=1.0010011,[-27/32]补=1.0010100,[-27/32]移=0.0010100第2章微型计算机系统的微处理器习题2-1.086/8088 CPU的功能结构由哪两部分组成它们的主要功能是什么答:8086/8088 CPU 的功能结构由以下两部分组成:总线接口单元BIU(Bus Interface Unit),执行部件EU (Execution Unit).总线接口单元BIU的主要功能是:负责与存储器,I/O 端口进行数据传送.具体讲:取指令:总线接口部件从内存中取出指令后送到指令队列.预取指令.配合EU执行指令,存取操作数和运算结果.执行部件EU主要功能是:负责指令执行.2-2.086 CPU指令部件(队列)的作用是什么地址加法器的作用是什么答:8086/8088的指令队列分别为6/4个字节,存储预取的指令.地址加法器用来产生20位物理地址.8086/8088可用20位地址寻址1M字节的内存空间, 而CPU内部的寄存器都是16 位,因此需要由一个附加的机构来计算出20位的物理地址,这个机构就是20位的地址加法器.2-3.据8086 CPU的结构,简述程序的执行过程.答:设程序的指令代码已存放在存贮器中.为执行程序,CPU按照时钟节拍,产生一系列控制信号,有规则地重复进行以下过程.(1)BIU从存贮器中取出一条指令存入指令队列.(2)EU从指令队列取指令并执行指令.BIU利用总线空闲时间,从内存取第二条指令或取第三条指令存入指令队列.(3)EU执行下一条指令.如果前面一条指令有写存贮器的要求,则通知BIU把前条指令结果写到存贮器中,然后再取指令存入指令队列.(4)如指令执行要求读取操作数,由BIU完成.(5)EU执行再下一条指令,返回(1)处继续执行上述操作过程.所以,程序的执行过程就是CPU取指令,分析指令,执行指令,再取指令这样一个循环重复过程.在指令执行过程中,利用EU分析指令操作码和执行指令时不占用总线操作时间的特点,BIU自动地通过总线读取存贮器中的指令码存入BIU指令队列,从而使BIU与EU并行工作,提高CPU执行指令的速度.2-4.什么是总线周期8086/8088的基本总线周期由几个时钟周期组成若CPU的主时钟频率为10 MHz,则一个时钟周期为多少一个基本总线周期为多少答:总线周期:BIU通过系统总线对存储器或I/O端口进行一次读/写操作的过程称为一个总线周期.8086/8088CPU的一个基本总线周期由4个时钟周期(T1~T4)组成,也称4个T状态.若CPU的主时钟频率为10MHz,则一个时钟周期为-710s,一个基本总线周期为4×-710s.2-5.复位信号RESET到来后,8086/8088 CPU的内部状态有何特征系统从何处开始执行指令答:8086/8088系统中,复位信号RESET到来后,处理器内部的各寄存器和标志寄存器的内容自动设置为:CS FFFFH DS 0000HSS 0000H ES 0000HIP 0000H 指令队列空FR 0000H (禁止中断)因CS=FFFFH,IP=0000,所以8086/8088将从地址FFFF0H开始执行指令.2-6.在总线周期的T1~T4状态,CPU分别执行什么操作在CPU的读/写总线周期中,数据在哪个状态出现在数据总线上答:CPU在每个时钟周期内完成若干个基本操作,具体是:T1状态:CPU向多路复用总线上发送地址信息指出要寻址的存储单元或外设端口地址. T2状态:CPU从总线上撤消地址,使总线的低16位置为高阻抗状态,为传输数据作准备.总线的高4位输出本总线周期状态信息.这些状态信息用来表示中断允许状态,当前正在使用的段寄存器等.T3状态:CPU在总线的高4位继续输出总线周期状态信号.在总线的低16位出现由CPU写出的数据,或者从存储器或I/O端口读入的数据.T4状态:总线周期结束.在CPU的读/写总线周期中,数据在T3状态出现在数据总线上.2-7.8086/8088 读/写总线周期,微处理器是在( B )时刻采样READY信号,以便决定是否插入Tw .A.T2B.T3C.T3 下降沿D. T2 上升沿2-8.8086/8088系统中为什么要有地址锁存器需要锁存哪些信息答:因8086/8088系统中地址线,数据线是复用的,所以要有地址锁存器锁存T1状态输出的地址.8086系统锁存20位地址及BHE信号, 8088系统锁存20位地址.2-9.8086/8088的最大模式系统配置与最小模式系统配置在结构上有何区别总线控制器8288的作用是什么答:最大模式系统配置在结构上与最小模式系统的主要区别是增加了一个总线控制器8288 和一个总线仲裁器8289.总线控制器8288的作用是:对来自8086/8088 CPU的总线状态信号S2,S1,S0译码,与输入控制信号AEN,CEN和IOB相互配合,产生总线命令信号和总线控制信号.2-10.关于8086 最大工作模式的特点描述正确的是( D ).A.不需要总线控制器8288B.适用于单一处理机系统C.由编程进行模式设定D. M/IO 引脚不可以直接引用2-11.8086/8088有最小和最大模式两种工作模式,当( B )时为最小模式.A.MN/ MX=OB.MN/ MX=l B.INTR=l D.HOLD="1"2-12.8086 最小工作模式和最大工作模式的主要差别是( D ).A.地址总线的位数不同B.I/O 端口数不同C.数据总线位数不同D.单处理器与多处理器的不同2-13.PC 机中地址总线的作用是( C ).A.用于选择存储器单元B.用于选择进行信息传输的设备C.用于给存储器单元和I/O 设备接口电路的选择地址D.以上都不正确2-14.设当前SS=C000H,SP=2000H,AX=2355H,BX=2122H,CX=8788H,则当前栈顶的物理地址是多少若连续执行PUSH AX,PUSH BX,POP CX 3条指令后,堆栈内容发生什么变化AX,BX,CX中的内容是什么2-15.8086/8088的控制标志位有( C )个.A.lB.2C.3D.42-16.编程人员不能直接读写的寄存器是( C ).A.DIB.CXC.IPD.SP2-17.设(AH)=03H,(AL)=82H,试指出将AL和AH中的内容相加和相减后,标志位CF,AF,OF,SF,IF和PF的状态.答:(AH)=00000011H+(AL)=10000010H10000101CF=0,AF=0,OF=0,SF=1,IF不确定和PF=0(AH)=00000011H_ (AL)=10000010H10000001CF=1,AF=0,OF=0,SF=1,IF不确定和PF=12-18.8086 CPU中的标志寄存器FR中有哪些状态标志和控制标志这些标志位各有什么含义见教材.2-19.BHE信号的作用是什么简述8086系统中,访问存储器在读写一个字和字节的过程中,BHE和A0的状态.答:高8位数据总线允许/状态复用信号.总线周期的T1状态,8086在BHE/S7输出低电平, 表示高8位数据总线AD15~AD8上的数据有效.8086系统中,BHE和AD0结合起来,指出当前传送的数据在总线上将以何种格式出现. (见教材表2-4-1)8088系统中,由于数据总线只有8位,不存在高8位与低8位的问题.所以,该引脚(第34号)被定义为双功能引脚.在最大模式时,该引脚恒为高电平;在最小模式中,则定义为SS0.2-20.8086向偶地址存储单元0送一个字节数据时, 须执行一个总线周期, 在第一个T 状态中, ALE为1 , A0为0 ,WR为1 .2-21.8086系统中,为什么要对存储器进行分段管理其分段管理是如何实现的答:8086/ 8088地址总线是20位的,CPU中的寄存器是16位的,20位地址无法用16位寄存器表示,所以必须分段.通常有代码段,数据段,堆栈段,辅助段.段内地址16位,每个段的大小最大可达64KB; 实际使用时可以根据需要来确定段大小.2-22.已知某存储单元的段地址为4500H,偏移地址为4500H,该单元的物理地址是多少答:49500H2-23.某指令对应当前段寄存器CS=FFFFH,指令指针寄存器IP=FF00H,此时,该指令的物理地址为多少指向这一物理地址的CS值和IP值是唯一的吗试举例说明答:该指令的物理地址为:CS+I PFFFF0H+ FF00H=1 0FEF0H这一物理地址的CS值和IP值是唯一的吗:不唯一2-24.因为8086CPU 的字数据既可以存放在内存的偶地址单元,也可以安排在奇地址单元,所以其堆栈指针SP( A ).A.最好是指向偶地址单元B.可以指向任何地址单元C.只能指向偶地址单元D.只能指向奇地址单元第3章8086/8088的指令系统习题3-1.试举例说明8086/8088微处理器的各种寻址方式.(略)3-2.假定DS=1000H,SS=9000H,SI=100H,BX=20H,BP=300H,请指出下列指令的源操作数是什么寻址方式若源操作数位于存储器中,其物理地址是多少(1)MOV CX,[1000H] (2)MOV AX,100H(3)MOV AX,[BX] (4)MOV BL,CL(5)MOV AL,[BP+5] (6)MOV AL,[BP+SI+2]答:(1)中源操作数为直接寻址,其物理地址=DS*16+1000H=11000H;(2)中源操作数为立即寻址;(3)中源操作数为寄存器间接寻址,其物理地址=DS*16+(BX)=10020H;(4)中源操作数为寄存器寻址;(5)中源操作数为变址寻址,其物理地址=SS*16+(BP)+ 5=90305H;(6)中源操作数为基址加变址寻址,物理地址=SS*16+(BP)+(SI)+ 2=90402H.3-3.在8088/8086微机的内存物理地址34780H处,存放有字节数据58H,已知DS=3000H,试写指令序列将该字节数据送入AL寄存器.要求分别采用三种不同的寻址方式.答:(1) 直接寻址:MOV AL, [4780H](2) 寄存器间接寻址:MOV BX,4780HMOV AL, [BX](3) 变址寻址:MOV SI, 4782HMOV AL, [SI-2]3-4.判断下述8086/8088指令的写法是否正确:(1)MOV [AX], BH (2)MOV [BP], AX(3)MOV [SP], AX (4)MOV [DI], [SI](5)OUT 10H, CL (6)INC WORD PTR [SI](7)PUSH AL (8)CMP 36H, AL(9)MOV ES:[SI], DI (10)MOV BYTE PTR [BX], 800答:(1) MOV [AX], BH (X)(2) MOV [BP], AX (√)(3) MOV [SP], AX (X)(4) MOV [DI], [SI] (X)(5) OUT 10H, CL (X)(6) INC WORD PTR [SI] (√)(7) PUSH AL (X)(8) CMP 36H, AL (X)(9) MOV ES:[SI], DI (√)(10) MOV BYTE PTR [BX], 800 (X)3-5.设有关寄存器及存储单元的内容如下:DS=2000H,BX=0100H,AX=1200H,SI=0002H,[20102H]=33H, [20103]=44H,[21200]=9BH,[21201H]=99H,[21202H]=0AAH,[21203H]=88H.问:下列各条指令单独执行后相关寄存器或存储单元的内容为多少(1)MOV AX,1800H (2)MOV AX,BX(3)MOV BX,[1200H] (4)MOV DX,[BX+1100H](5)MOV [BX+SI],AL (6)MOV AX,[BX+SI+1100H]答:(1) AX=1800H(2) AX=BX=0100H(3) BX=999BH(4) DX=999BH(5) [20102H] = AL =00H(6) AX=88AAH3-6.已知SS=0FF00H,SP=0000H,试编写程序片段将两个16位数1122H和3344H先后压入堆栈,并画出堆栈区和SP内容变化的过程示意图(标出存储单元的地址). 答:MOV AX, 1122HPUSH AX11H22HSP0FF00:0FFFFH0FF00:0FFFEHMOV AX, 3344HPUSH AX0FF00:0FFFFH11H22H33H44HSP0FF00:0FFFCH0FF00:0FFFDH0FF00:0FFFEH3-7.设在数据段偏移地址为2000H单元开始的地方连续存放了0 ~ 15的平方值.试写出包含有XLAT指令的指令序列,用来查找0~15范围内的某个数N的平方值(设N的值存放在CL寄存器中).答:MOV BX, 2000HMOV AL, CLXLAT3-8.试用简单的几条指令完成对AL寄存器中的无符号数乘以12的操作.要求只能用移位,加法及MOV指令.答:MOV AH, 0MOV CL, 2SHL AX, CL ;AL左移两位,相当于乘4MOV BX, AX ;保存SHL AX, 1 ;AL再左移一位,相当于原数乘8ADD AX, BX ;相当于原数乘123-9.已知程序段如下:MOV AX,1234HMOV CL,4ROL AX,CLDEC AXMOV CX,4MUL CX问:执行完每条指令后,AX= CF= SF= ZF= (设在执行第一条指令前CF=SF=ZF=0).答:AX=8D00HCF=0,SF及ZF不确定.3-10.执行如下三条指令后:MOV AH,0MOV AL,7ADD AL,5问:(1) 若再执行一条非组合BCD码加法调整指令AAA 后,AX的内容为多少(2) 若题中的三条指令后紧跟的是一条组合BCD码加法调整指令DAA,则执行完DAA后AX的内容为多少答:(1) AX=0102H(2) AX=0012H3-11.已知AX=14C6H,BX=80DCH,问执行下列程序段后,程序转向何处ADD AX,BXJNC L2SUB AX,BXJNC L3JMP L4若初始AX=B568H,BX=54B7H,情况又如何答:程序转向地址标号L2处.若初始AX=B568H,BX=54B7H,程序转向地址标号L4处.3-12.如下程序完成什么功能MOV AX,5000HMOV DS,AXMOV CX,100MOV AX,0MOV SI,AXSTART:ADD AX,[SI+1000H]ADD SI,2LOOP STARTMOV [200H],AX答:程序完成内存5000H:1000H开始的连续100个字数据的求和,并将和数存于5000H:200H处.3-13,试写一程序片段,将当前数据段偏移地址为2000H开始的100个字节单元内容与偏移地址为3000H开始的100个字节单元内容相交换,即:偏移地址2000H对应单元内容与偏移地址3000H对应单元内容交换,偏移地址2001H对应单元内容与偏移地址3001H 对应单元内容交换,依此类推.答:MOV SI, 2000HMOV DI, 3000HMOV CX, 100REPT0: MOV AL, [SI]MOV BL, [DI]MOV [DI], ALMOV [SI], BLINC SIINC DILOOP REPT03-14.在数据段中偏移地址分别为1000H及2000H开始的存储区内有两个10字节的字符串,试编写一段程序来比较这两个字符串.如果这两个字符串不同,则程序转至8000H:1000H处,否则顺序执行.答:MOV SI,1000H ;装入源串偏移地址MOV DI,2000H ;装入目的串偏移地址MOV CX,10 ;装入字符串长度CLD ;方向标志复位REPE CMPSBJCXZ CONTIJMP 8000H:1000HCONTI: NOP3-15.利用串操作指令将数据段中偏移地址1000H开始处的100个字节移动到数据段偏移地址为1050H开始的地方.答:MOV CX,100MOV SI,1000H+99MOV DI,1050H+99STD ;地址减量方式传送REP MOVSB ;数据块传送(串操作)第4章汇编语言程序设计习题4-1.如下定义:V AR1 DB 4V AR2 DB 10CNST1 EQU 12试指出下列指令的错误原因:(1)MOV CNST1,CX (2)MOV V AR1,AX(3)CMP V AR1,V AR2 (4)CNST1 EQU 24答:(1) 目的操作数不能是立即数;(2) V AR1单元定义为字节类型,而AX为字;(3) 8086/8088中两个内存单元不能直接比较;(4) 同一符号名不允许用EQU重复定义.4-2.某人定义了如下数据段:DA TA SEGMENT A T 1000HORG 100HV AL1 DB 11HV AL2 DW 22H, 33HV AL3 DB 5 DUP (44H)DA TA ENDS试指明该数据段中偏移地址从100H到109H的各存贮单元的内容.答:100H: 11H101H: 22H102H: 00H103H: 33H104H: 00H105H: 44H106H: 44H107H: 44H108H: 44H109H: 44H4-3.对于下面的数据定义,写出各条指令执行后的结果:DA TA SEGMENTORG 0100HAAAA DW 0A244HBBBB DB 33H,66H,92H,29HCCCC EQU WORD PTR BBBBDDDD DB 'ABCD'EEEE EQU $-DDDDDA TA ENDS(1) MOV AX,AAAA AL=( )(2) MOV BX,CCCC BH=( )(3) MOV DX,OFFSET DDDD DL=( )(4) MOV CL,EEEE CL=( )答:(1) MOV AX,AAAA AL=( 44H )(2) MOV BX,CCCC BH=( 66H )(3) MOV DX,OFFSET DDDD DL=( 06H )(4) MOV CL,EEEE CL=( 04H )4-4.试编程序将内存从50000H到5FFFFH的每个单元均写入数55H,并再逐个单元读出比较,看写入的与读出的是否一致.若全对,则将AL置0;只要有错,则将AL置0FFH. 答:START: MOV AX,5000HMOV DS,AXMOV SI,0MOV CX, 0FFFFHLOOP1: MOV BYTE PTR [SI], 55HMOV AL, [SI]CMP AL, 55HJNZ LOOPERRLOOP2: INC SILOOP LOOP1MOV BYTE PTR [SI], 55H ;最后一个单元MOV AL, [SI]CMP AL, 55HJNZ LOOPERRMOV AL, 0 ;全对JMP LOOPOUTLOOPERR: MOV AL, 0FFHLOOPOUT: NOP4-5.编写一个子程序,对AL中的ASCII字符添加偶校验位(bit7),即:使AL中的"1"的个数为偶数.答:ADDPARITY PROC NEARAND AL, 7FHJP ADDEXITOR AL, 80HADDEXIT: RETADDPARITY ENDP4-6.利用上题的子程序,编程对内存物理地址10000H开始的1024个单元的ASCII字符加上偶校验位.答:START: MOV AX,1000HMOV DS,AXMOV SI,0MOV CX, 1024LOOP1: MOV AL, [SI]CALL ADDPARITYMOV [SI], ALINC SILOOP LOOP14-7,试写一子程序,完成对一个8位无符号数乘6的操作.要求:(1)只能用传送,加法及移位指令;(2)入口参数(即8位无符号数)放于AL中,出口参数(即乘6后的结果) 放于AX.答:MULTI6 PROC NEARPUSH BXMOV AH, 0SHL AX, 1 ;乘2MOV BX, AXSHL AX, 1 ;乘4ADD AX, BX ;乘6POP BXRETMULTI6 ENDP4-8.给定如下程序片段:START: MOV AX, 1000H,OV SS, AXOV SP, 000FHOV AX, 1000HUSH AXOV BX, 5439HUSH BXALL NEAR PTR SUBRTOP AXSTOP0: HLTSUBRT: PUSH BPOV BP, SPV A A X: MOV AX, [BP+4]DD AX, 456AHOV [BP+4], AXOP BPET 4问:(1)程序执行到标号为SUBRT处的指令时,SP = (2)执行完标号为V AAX的MOV指令后,AX = (3)执行到标号为STOP0处的指令时:SP = AX = BX = CF= SF=OF=答:(1) 程序执行完标号为SUBRT处的"PUSH BP"指令后,SP=0006H(2) 执行完标号为V AAX的MOV指令后,AX =5439H(3) 程序执行到标号为STOP0处的指令时(实际执行"HLT"指令之前):SP = 000CHAX = 99A3HBX = 5439H以及以下标志寄存器的内容:CF = 0SF = 1OF = 14-9.自符号地址为MARK开始的内存缓冲区中,存有100个学生的某门课的考试成绩.试找出成绩不低于80分以及成绩低于60分的学生个数,同时求出最高的成绩分及最低的成绩分数,并将它们分别存于符号地址为PST,FST,MAXMK及MINMK的四个单元中.要求写出完整的数据段及代码段.答:DA TA SEGMENTMARK DB 100 DUP( )PST DW 0FST DW 0MAXMK DB 0MINMK DB 100DA TA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, DATAMOV DS, AXMOV CX, 100MOV BX, OFFSET MARKAGAIN: MOV AL, [BX]CMP AL, MAXMKJC HIGHLMOV MAXMK, AL ; update highest markHIGHL: CMP AL, MINMKJNC MKCHKMOV MINMK, AL ; update lowest markMKCHK: CMP AL, 60JNC HIGHMKINC FST ; increase the no. of students whose mark = 80CHKFH: INC BXLOOP AGAINMOV AX, 4C00HINT 21HCODE ENDSEND START4-10.编写一段程序,接收从键盘输入的10个数(输入回车符后结束),然后将这些数按位取反后存于BUFF开始的缓冲区中.答:DA TA SEGMENT ;数据段BUFF DB 10 DUP (0) ;数据区DA TA ENDSSTACK SEGMENT STACK 'STACK';堆栈段DB 100 DUP( )STACK ENDSCODE SEGMENT ;代码段ASSUME CS:CODE,DS:DA TA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV CX, 10LEA SI, BUFFREPT1: MOV AH, 1 ;键入数据INT 21HCMP AL, 0DH ;判断是否是回车键JE NEXT1 ;是,转NEXT1;否继续输入NOT ALMOV BUFF, ALDEC CXNEXT1: OR CX, CXJNZ REPT1MOV AX,4C00HINT 21HCODE ENDSEND START4-11.试编程序完成两个一位十进制数的加法功能.具体步骤与要求如下:(1) 利用DOS 1号功能调用,顺序从键盘输入被加数,"+"运算符及加数;(2) 完成相加功能;(3) 将相加的结果用DOS 9号功能调用在屏幕上显示出来.例如:输入8+6后,屏幕上应显示相加结果14.如果在上述步骤(1)中有非法输入,应在屏幕上显示"Input error",之后程序须重新从头开始(即从被加数的输入开始).(略)4-12.试定义一条能对任意寄存器进行左移指定位的宏指令.答:SHIFT MACRO REG, COUNTLOCAL LENDPUSH CXMOV CL, COUNTCMP CL, 1JC LEND ; for COUNT < 1, do not shiftSHL REG, CLLEND: POP CXENDM4-13.某人写了如下宏定义,以将某寄存器中的一位16进制数转化为相应的ASCII码. 试分析该宏定义是否有错,若有,试指出错误之处及原因.HEXASC MACRO HEXREGPUSHFCMP HEXREG,10JL LS10ADD HEXREG,'a'-'0'- 10LS10: ADD HEXREG,'0'POPFRETHEXASC ENDP答:错误之处:开始处缺:LOCAL LS10应去除"RET" 语句"HEXASC ENDP"应为"ENDM"4-14.在数据段偏移地址BUFFER开始处顺序存放了100个无符号16位数,现要求编写程序将这100个数据从大到小排序.(略)第5章微型计算机总线习题5-1.ISA总线是属于____C______总线.A. 同步B. 异步C. 半同步D. 自适应5-2.以下的接口芯片中,可以用作总线主设备的是____A______.A. DMA控制器B. 中断控制器C. 计数器D. A/D变换器5-3.总线最大传输率等于_____D_______.A. 总线宽度乘以总线频率B. 总线宽度乘以总线频率的二分之一C. 总线宽度乘以总线频率的四分之一D. 总线宽度乘以总线频率的八分之一5-4.总线宽度的意思是_______B________.A. 总线插槽的尺寸B. 总线中数据线的数目C. 总线中所有信号线的数目D. 总线插槽所有引脚的数目5-5.8088CPU在形成对外的数据总线和地址总线时要使用____B_____.A. 三态地址锁存器和三态双向数据缓冲器B. 非三态地址锁存器和三态双向数据缓冲器C. 三态地址锁存器和非三态双向数据缓冲器D. 非三态地址锁存器和非三态双向数据缓冲器5-6.8088在最大模式下使用8288总线控制器产生读写控制信号,8288产生的读写信号有6条,在PC总线中使用的读写控制线是_____C______.A. 6条B. 5条C. 4条D. 2条5-7.PC总线标准中不包括_____C_________.A. DMA请求和应答线B. 硬中断请求线C. 和CPU连接的中断请求和应答线D. 复位线5-8.PCI总线是一种______D________总线.A. 8位/16位B. 8位/16位C. 16位/32位D. 32位/64位5-9.ISA总线是一种______A________总线.A. 8位/16位B. 8位/16位C. 16位/32位D. 32位/64位5-10.以下的说法中,不是同步总线特点的是______C________.A. 不需要应答信号B. 总线周期的长度一般较短C. 总线周期的长短可以变化D. 总线上各部件的工作速度比较接近5-11.什么是总线,微型计算机为什么要采用总线结构答:总线是在计算机系统中,CPU和其他模块,模块和模块之间传输某种信息的公共通道. 采用总线结构,便于微型计算机设计和生产的标准化和模块化,降低了生产和使用的成本,对于微型计算机的推广使用具有非常重要的价值.5-12.总线操作有什么限制这些限制对于微型计算机的性能有什么影响答:总线上同时只能传输一种信号.所以,不允许同时有几个部件互相传输信息.不同部件之间的传输只能分时进行.这种总线传输的分时性限制了微型计算机操作的并发性.5-13.ISA总线是一种同步总线还是半同步总线答:是一种半同步总线.5-14.ISA总线通过什么信号可以调整总线周期的长短答:I/O CH RDY.如果此信号线的输入是低电平,要求CPU延长总线周期.5-15.PCI总线是不是可以接入多个主设备在接入多个主设备时,PCI总线是什么类型的总线答:PCI总线可以接入多个主设备.PCI总线本来是属于半同步总线,可以通过TRDY#和IRDY#来控制插入等待周期.在引入多个主设备时,需要通过REQ和GNT信号来进行请求和应答的联络,但是,并不会因此而改变总线的类型位异步总线.总线的类型仍然是半同步总线.5-16.现在实际的微型计算机是多总线系统还是单总线系统微型计算机采用多总线系统有什么优点答:现在的微机系统都是多总线系统.多总线系统可以根据不同的速度需要,在系统的不同地方使用不同速度的总线.使得系统的配置具有更多的灵活性.由于不需要所有的总线都使用同样高速的性能,也可以降低系统的成本.5-17.一个USB系统包括几种硬设备,分别在系统中起什么作用答:一个USB系统包含三类硬件设备:USB主机(USB Host), USB设备(USB Device),USB集线器(USB Hub)USB主机有以下功能:检测USB设备的加入和退出;管理主机和USB设备间的通信;读取和分析设备的配置信息,对USB设备进行配置操作;对总线上的错误进行管理和恢复;为加入的USB设备提供电源.USB Hub就是USB集线器.USB集线器用于设备扩展连接,通过USB集线器可以连接更多的USB设备.USB设备就是使用USB总线标准的外部设备.5-18.为什么USB总线很快的得到了普及和应用答:传输速度快,可以满足一般的需要;即插即用,使用方便;成本较低,易于接受.第6章半导体存储器习题6-1.半导体存储器分为哪两大类随机存取存储器由哪几个部分组成答:由随机存取存储器(RAM)和只读存储器(ROM);RAM由地址寄存器,译码驱动电路,存储体,读写驱动电路,数据寄存器和控制逻辑6部分组成.6-2.简述ROM,PROM,EPROM,EEPROM在功能上各有何特点.答:a) ROM是只读存储器,使用时只能读出,不能写入,适用于保存不需要更改而经常读取的数据,通常使用的的光盘就是这类存储器;b) PROM属于一次可编程的ROM,通常使用时也只能读出,不能写入,通常使用的刻录光盘就属于此类存储器.最初从工厂中制作完成的PROM内部并没有资料,用户可以用专用的编程器将自己的资料写入,但是这种机会只有一次,一旦写入后也无法修改,若是出了错误,已写入的芯片只能报废;c) EPROM属于可擦除ROM,但是用户需要使用专用的紫外线擦除器对其进行数据擦除,并使用专用的编程器对其重新写入数据;d) EEPROM是电可擦写ROM,可以用专用的编程器对其进行擦写.6-3.存储器的地址译码有几种方式各自的特点是什么答:地址译码有三种方式:线选法,全译码法和部分译码法.e) 线选法:使用地址总线的高位地址作为片选信号,低位地址实现片内寻址;优点是结构简单,需要的硬件电路少,缺点是地址不连续,使用中不方便,而且同一存储区的地址不唯一,造成地址空间浪费;f) 全译码法:将地址总线中除片内地址以外的全部高位地址都接到译码器的输入端参与译码.特点是每个存储单元的地址是唯一的,地址利用充分,缺点是译码电路复杂;g) 部分译码:将高位地址的部分地址线接到译码器参与译码,产生存储器的片选信号.特点是各芯片的地址是连续的,但是地址不唯一,仍然存在地址的堆叠区.6-4.某RAM芯片的存储容量为1024×8位,该芯片的外部引脚最少应有几条其中几条地址线几条数据线若已知某RAM芯片引脚中有13条地址线,8条数据线,那么该芯片的存储容量是多少答:至少23根,其中有10根地址线,8条数据线;存储容量是213*8bit=64Kbit=8KB.6-5.用Intel 2114 1K×4位的RAM芯片组成32K×8位的存储器,需要多少块这样的芯片答:需要64片.6-6.设某微型机的内存RAM区的容量为128KB,若用2164芯片构成这样的存储器,需多少片2164 至少需多少根地址线其中多少根用于片内寻址多少根用于片选译码答:需要16片;至少地址线需要17根,其中1条用于片选,16条用于片内寻址.6-7.某8088系统用2764 ROM芯片和6264 SRAM芯片构成16KB的内存.其中,ROM的地址范围为0FE000H~0FFFFFH,RAM的地址范围为0F000H~0F1FFFH.试利用74LS138译码,画出存储器与CPU的连接图,并标出总线信号名称.答:6-8.什么是Cache 简述其工作原理若主存DRAM的的存取周期为70ns,Cache的。