《第1章微型计算机系统概述.pdf》由会员分享,可在线阅读,更多相关《第1章微型计算机系统概述.pdf(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第 1 章章 微型计算机系统概述微型计算机系统概述 习习 题题 1-1微型计算机包括哪几个主要组成部分,各部分的基本功能是什么?答:微型计算机由 CPU、存储器、输入/输出接口及系统总线组成。CPU是微型计算机的核心部件,一般具有下列功能:进行算术和逻辑运算。暂存少量数据。对指令译码并执行指令所规定的操作。与存储器和外设进行数据交换的能力。提供整个系统所需要的定时和控制信号。响应其他部件发出的中断请求;总线总线是计算机系统各功能模块间传递信息的公共通道,一般由总线控制器、总线发送器、总线接收器以及一组导线组成;存储器存储器是用来存储数据、程序的部件;I/O接口是微型计算机的重要组成部件,在C
2、PU和外设之间起适配作用。1-2CPU 执行指令的工作过程。答:取指令、执行指令。指令执行的基本过程:(1)开始执行程序时,程序计数器中保存第一条指令的地址,指明当前将要执行的指令存放在存储器的哪个单元。(2)控制器:将程序计数器中的地址送至地址寄存器MAR,并发出读命令。存储器根据此地址取出一条指令,经过数据总线进入指令寄存器IR。(3)指令译码器译码,控制逻辑阵列发操作命令,执行指令操作码规定的操作。(4)修改程序计数器的内容。1-3果微处理器的地址总线为 20 位,它的最大寻址空间为多少?答:202=1048576=1MB 1-4处理器、微型计算机和微型计算机系统之间有什么关系?答:微处
3、理器是微型计算机的核心部件。微处理器配上存储器、输入/输出接口及相应的外设构成完整的微型计算机。以微型计算机为主体,配上系统软件和外部设备以后,就构成了完整的微型计算机系统。1-5下面十进制数分别转换为二进制、八进制和十六进制数:128,65535,1024 答:128,二进制:10000000B,八进制:200O,十六进制:80H 65535,二进制:1111111111111111B,八进制:177777O,十六进制:FFFFH 1024,二进制:10000000000B,八进制:2000O,十六进制:400H 1-6下面二进制数分别转换为十进制及十六进制数:1011.1010B,1111
4、101.11 B 答:1011.1010B,十进制:11.625,十六进制:B.AH 1111101.11B,十进制:125.75,十六进制:7D.CH 1-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,-
5、27/32反=1.0010011,-27/32补=1.0010100,-27/32移=0.0010100 第第 2 章章 微型计算机系统的微处理器微型计算机系统的微处理器 习习 题题 2-10868088 CPU 的功能结构由哪两部分组成?它们的主要功能是什么?答:8086/8088 CPU 的功能结构由以下两部分组成:总线接口单元BIU(Bus Interface Unit),执行部件EU(Execution Unit)。总线接口单元BIU的主要功能是:负责与存储器、I/O 端口进行数据传送。具体讲:取指令:总线接口部件从内存中取出指令后送到指令队列。预取指令。配合EU执行指令,存取操作数和
6、运算结果。执行部件 EU 主要功能是:负责指令执行。2-2086 CPU 指令部件(队列)的作用是什么?地址加法器的作用是什么?答:8086/8088的指令队列分别为6/4个字节,存储预取的指令。地址加法器用来产生20位物理地址。8086/8088可用20位地址寻址1M字节的内存空间,而CPU内部的寄存器都是16 位,因此需要由一个附加的机构来计算出20位的物理地址,这个机构就是20位的地址加法器。2-3据 8086 CPU 的结构,简述程序的执行过程。答:设程序的指令代码已存放在存贮器中。为执行程序,CPU按照时钟节拍,产生一系列控制信号,有规则地重复进行以下过程。(1)BIU从存贮器中取出
7、一条指令存入指令队列。(2)EU从指令队列取指令并执行指令。BIU利用总线空闲时间,从内存取第二条指令或取第三条指令存入指令队列。(3)EU执行下一条指令。如果前面一条指令有写存贮器的要求,则通知BIU把前条指令结果写到存贮器中,然后再取指令存入指令队列。(4)如指令执行要求读取操作数,由BIU完成。(5)EU执行再下一条指令,返回(1)处继续执行上述操作过程。所以,程序的执行过程就是CPU取指令、分析指令、执行指令,再取指令这样一个循环重复过程。在指令执行过程中,利用 EU 分析指令操作码和执行指令时不占用总线操作时间的特点,BIU 自动地通过总线读取存贮器中的指令码存入 BIU 指令队列,
8、从而使 BIU 与 EU 并行工作,提高 CPU 执行指令的速度。2-4 什么是总线周期?80868088 的基本总线周期由几个时钟周期组成?若 CPU 的主时钟频率为 10 MHz,则一个时钟周期为多少?一个基本总线周期为多少?答:总线周期:BIU通过系统总线对存储器或IO端口进行一次读写操作的过程称为一个总线周期。80868088CPU的一个基本总线周期由4个时钟周期(T1T4)组成,也称4个T状态。若 CPU 的主时钟频率为 10MHz,则一个时钟周期为-710s,一个基本总线周期为 4-710s。2-5复位信号 RESET 到来后,80868088 CPU 的内部状态有何特征?系统从何
9、处开始执行指令?答:80868088 系统中,复位信号 RESET 到来后,处理器内部的各寄存器和标志寄存器的内容自动设置为:CS FFFFH DS 0000H SS 0000H ES 0000H IP 0000H 指令队列空 FR 0000H(禁止中断)因 CSFFFFH,IP0000,所以 80868088 将从地址 FFFF0H 开始执行指令。2-6在总线周期的 T1T4状态,CPU 分别执行什么操作?在 CPU 的读写总线周期中,数据在哪个状态出现在数据总线上?答:CPU 在每个时钟周期内完成若干个基本操作,具体是:T1 状态:CPU 向多路复用总线上发送地址信息指出要寻址的存储单元或
10、外设端口地址。T2 状态:CPU 从总线上撤消地址,使总线的低 16 位置为高阻抗状态,为传输数据作准备。总线的高 4 位输出本总线周期状态信息。这些状态信息用来表示中断允许状态、当前正在使用的段寄存器等。T3 状态:CPU 在总线的高 4 位继续输出总线周期状态信号。在总线的低 16 位出现由CPU 写出的数据,或者从存储器或 IO 端口读入的数据。T4 状态:总线周期结束。在 CPU 的读写总线周期中,数据在 T3 状态出现在数据总线上。2-78086/8088 读/写总线周期,微处理器是在(B )时刻采样READY信号,以便决定是否插入Tw。AT2 B.T3 C.T3 下降沿 D.T2
11、上升沿 2-88086/8088 系统中为什么要有地址锁存器?需要锁存哪些信息?答:因 8086/8088 系统中地址线、数据线是复用的,所以要有地址锁存器锁存 T1 状态输出的地址。8086 系统锁存 20 位地址及 BHE 信号,8088 系统锁存 20 位地址。2-980868088 的最大模式系统配置与最小模式系统配置在结构上有何区别?总线控制器 8288 的作用是什么?答:最大模式系统配置在结构上与最小模式系统的主要区别是增加了一个总线控制器 8288和一个总线仲裁器 8289。总线控制器 8288 的作用是:对来自 80868088 CPU 的总线状态信号S2、S1、S0译码,与输
12、入控制信号AEN、CEN 和 IOB 相互配合,产生总线命令信号和总线控制信号。2-10关于8086 最大工作模式的特点描述正确的是(D )。A.不需要总线控制器8288 B.适用于单一处理机系统 C.由编程进行模式设定 D.M/IO 引脚不可以直接引用 2-1180868088有最小和最大模式两种工作模式,当(B )时为最小模式。A.MN/MX=O B.MN/MX=l B.INTR=l D.HOLD=1 2-128086 最小工作模式和最大工作模式的主要差别是(D ).A.地址总线的位数不同 B.I/O 端口数不同 C数据总线位数不同 D.单处理器与多处理器的不同 2-13PC 机中地址总线
13、的作用是(C )。A.用于选择存储器单元 B.用于选择进行信息传输的设备 C.用于给存储器单元和I/O 设备接口电路的选择地址 D.以上都不正确 2-14设当前 SSC000H,SP2000H,AX2355H,BX2122H,CX8788H,则当前栈顶的物理地址是多少?若连续执行 PUSH AX,PUSH BX,POP CX 3 条指令后,堆栈内容发生什么变化?AX、BX、CX 中的内容是什么?2-158086/8088的控制标志位有(C )个。A.l B.2 C.3 D.4 2-16编程人员不能直接读写的寄存器是(C )。A.DI B.CX C.IP D.SP 2-17设(AH)03H,(A
14、L)82H,试指出将 AL 和 AH 中的内容相加和相减后,标志位 CF、AF、OF、SF、IF 和 PF 的状态。答:(AH)00000011H (AL)10000010H 10000101 CF=0、AF=0、OF=0、SF=1、IF 不确定和 PF0 (AH)00000011H _(AL)10000010H 10000001 CF=1、AF=0、OF=0、SF=1、IF 不确定和 PF1 2-188086 CPU 中的标志寄存器 FR 中有哪些状态标志和控制标志?这些标志位各有什么含义?见教材。2-19BHE信号的作用是什么?简述 8086 系统中,访问存储器在读写一个字和字节的过程中,
15、BHE和 A0的状态。答:高 8 位数据总线允许状态复用信号。总线周期的 T1状态,8086 在BHE/S7输出低电平,表示高 8 位数据总线 AD15AD8上的数据有效。8086 系统中,BHE和 AD0结合起来,指出当前传送的数据在总线上将以何种格式出现。(见教材表 2-4-1)8088 系统中,由于数据总线只有 8 位,不存在高 8 位与低 8 位的问题。所以,该引脚(第 34 号)被定义为双功能引脚。在最大模式时,该引脚恒为高电平;在最小模式中,则定义为SS0。2-208086 向偶地址存储单元 0 送一个字节数据时,须执行一个总线周期,在第一个 T状态中,ALE 为 1 ,A0为 0
16、 ,WR 为 1 。2-218086 系统中,为什么要对存储器进行分段管理?其分段管理是如何实现的?答:8086/8088 地址总线是 20 位的,CPU 中的寄存器是 16 位的,20 位地址无法用 16 位寄存器表示,所以必须分段。通常有代码段、数据段、堆栈段、辅助段。段内地址 16 位,每个段的大小最大可达 64KB;实际使用时可以根据需要来确定段大小。2-22已知某存储单元的段地址为 4500H,偏移地址为 4500H,该单元的物理地址是多少?答:49500H 2-23某指令对应当前段寄存器CS=FFFFH,指令指针寄存器IP=FF00H,此时,该指令的物理地址为多少?指向这一物理地址
17、的CS值和IP值是唯一的吗?试举例说明 答:该指令的物理地址为:CSI P FFFF0H+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,
18、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)中源操作数为基址加
19、变址寻址,物理地址=SS*16+(BP)+(SI)+2=90402H。3-3在 8088/8086 微机的内存物理地址 34780H 处,存放有字节数据 58H,已知DS=3000H,试写指令序列将该字节数据送入 AL 寄存器。要求分别采用三种不同的寻址方式。答:(1)直接寻址:MOV AL,4780H(2)寄存器间接寻址:MOV BX,4780H MOV AL,BX(3)变址寻址:MOV SI,4782H MOV AL,SI-2 3-4判断下述 8086/8088 指令的写法是否正确:(1)MOV AX,BH (2)MOV BP,AX (3)MOV SP,AX (4)MOV DI,SI (5
20、)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=2000
21、H,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=88AA
22、H 3-6已知 SS=0FF00H,SP=0000H,试编写程序片段将两个 16 位数 1122H 和 3344H 先后压入堆栈,并画出堆栈区和 SP 内容变化的过程示意图(标出存储单元的地址)。答:MOV AX,1122H PUSH AX 11H22HSP0FF00:0FFFFH0FF00:0FFFEH MOV AX,3344H PUSH AX 0FF00:0FFFFH11H22H33H44HSP0FF00:0FFFCH0FF00:0FFFDH0FF00:0FFFEH 3-7设在数据段偏移地址为 2000H 单元开始的地方连续存放了 0 15 的平方值。试写出包含有 XLAT 指令的指令序列
23、,用来查找 015 范围内的某个数 N 的平方值(设 N 的值存放在 CL 寄存器中)。答:MOV BX,2000H MOV AL,CL XLAT 3-8试用简单的几条指令完成对 AL 寄存器中的无符号数乘以 12 的操作。要求只能用移位、加法及 MOV 指令。答:MOV AH,0 MOV CL,2 SHL AX,CL ;AL 左移两位,相当于乘 4 MOV BX,AX ;保存 SHL AX,1 ;AL 再左移一位,相当于原数乘 8 ADD AX,BX ;相当于原数乘 12 3-9已知程序段如下:MOV AX,1234H MOV CL,4 ROL AX,CL DEC AX MOV CX,4 M
24、UL CX 问:执行完每条指令后,AX=?CF=?SF=?ZF=?(设在执行第一条指令前CF=SF=ZF=0)。答:AX=8D00H CF=0,SF 及 ZF 不确定。3-10执行如下三条指令后:MOV AH,0 MOV AL,7 ADD AL,5 问:(1)若再执行一条非组合 BCD 码加法调整指令 AAA 后,AX 的内容为多少?(2)若题中的三条指令后紧跟的是一条组合 BCD 码加法调整指令 DAA,则执行完 DAA 后 AX 的内容为多少?答:(1)AX=0102H(2)AX=0012H 3-11已知 AX=14C6H,BX=80DCH,问执行下列程序段后,程序转向何处?ADD AX,
25、BX JNC L2 SUB AX,BX JNC L3 JMP L4 若初始 AX=B568H,BX=54B7H,情况又如何?答:程序转向地址标号 L2 处。若初始 AX=B568H,BX=54B7H,程序转向地址标号 L4 处。3-12如下程序完成什么功能?MOV AX,5000H MOV DS,AX MOV CX,100 MOV AX,0 MOV SI,AX START:ADD AX,SI+1000H ADD SI,2 LOOP START MOV 200H,AX 答:程序完成内存 5000H:1000H 开始的连续 100 个字数据的求和,并将和数存于5000H:200H 处。3-13、试
26、写一程序片段,将当前数据段偏移地址为 2000H 开始的 100 个字节单元内容与偏移地址为 3000H 开始的 100 个字节单元内容相交换,即:偏移地址 2000H 对应单元内容与偏移地址 3000H 对应单元内容交换,偏移地址 2001H 对应单元内容与偏移地址 3001H对应单元内容交换,依此类推。答:MOV SI,2000H MOV DI,3000H MOV CX,100 REPT0:MOV AL,SI MOV BL,DI MOV DI,AL MOV SI,BL INC SI INC DI LOOP REPT0 3-14 在数据段中偏移地址分别为 1000H 及 2000H 开始的存
27、储区内有两个 10 字节的字符串,试编写一段程序来比较这两个字符串。如果这两个字符串不同,则程序转至8000H:1000H 处,否则顺序执行。答:MOV SI,1000H ;装入源串偏移地址 MOV DI,2000H ;装入目的串偏移地址 MOV CX,10 ;装入字符串长度 CLD ;方向标志复位 REPE CMPSB JCXZ CONTI JMP 8000H:1000H CONTI:NOP 3-15利用串操作指令将数据段中偏移地址 1000H 开始处的 100 个字节移动到数据段偏移地址为 1050H 开始的地方。答:MOV CX,100 MOV SI,1000H+99 MOV DI,10
28、50H+99 STD ;地址减量方式传送 REP MOVSB ;数据块传送(串操作)第第 4 章章 汇编语言程序设计汇编语言程序设计 习题习题 4-1如下定义:VAR1 DB 4 VAR2 DB 10 CNST1 EQU 12 试指出下列指令的错误原因:(1)MOV CNST1,CX (2)MOV VAR1,AX(3)CMP VAR1,VAR2 (4)CNST1 EQU 24 答:(1)目的操作数不能是立即数;(2)VAR1 单元定义为字节类型,而 AX 为字;(3)8086/8088 中两个内存单元不能直接比较;(4)同一符号名不允许用 EQU 重复定义。4-2某人定义了如下数据段:DATA
29、 SEGMENT AT 1000H ORG 100H VAL1 DB 11H VAL2 DW 22H,33H VAL3 DB 5 DUP(44H)DATA ENDS 试指明该数据段中偏移地址从 100H 到 109H 的各存贮单元的内容。答:100H:11H 101H:22H 102H:00H 103H:33H 104H:00H 105H:44H 106H:44H 107H:44H 108H:44H 109H:44H 4-3对于下面的数据定义,写出各条指令执行后的结果:DATA SEGMENT ORG 0100H AAAA DW 0A244H BBBB DB 33H,66H,92H,29H C
30、CCC EQU WORD PTR BBBB DDDD DB ABCD EEEE EQU$DDDD DATA 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,并再逐个单元读
31、出比较,看写入的与读出的是否一致。若全对,则将 AL 置 0;只要有错,则将 AL 置 0FFH。答:START:MOV AX,5000H MOV DS,AX MOV SI,0 MOV CX,0FFFFH LOOP1:MOV BYTE PTR SI,55H MOV AL,SI CMP AL,55H JNZ LOOPERR LOOP2:INC SI LOOP LOOP1 MOV BYTE PTR SI,55H;最后一个单元 MOV AL,SI CMP AL,55H JNZ LOOPERR MOV AL,0 ;全对 JMP LOOPOUT LOOPERR:MOV AL,0FFH LOOPOUT:N
32、OP 4-5编写一个子程序,对 AL 中的 ASCII 字符添加偶校验位(bit7),即:使 AL 中的“1”的个数为偶数。答:ADDPARITY PROC NEAR AND AL,7FH JP ADDEXIT OR AL,80H ADDEXIT:RET ADDPARITY ENDP 4-6利用上题的子程序,编程对内存物理地址 10000H 开始的 1024 个单元的 ASCII 字符加上偶校验位。答:START:MOV AX,1000H MOV DS,AX MOV SI,0 MOV CX,1024 LOOP1:MOV AL,SI CALL ADDPARITY MOV SI,AL INC SI
33、 LOOP LOOP1 4-7、试写一子程序,完成对一个 8 位无符号数乘 6 的操作。要求:(1)只能用传送、加法及移位指令;(2)入口参数(即 8 位无符号数)放于 AL 中,出口参数(即乘 6 后的结果)放于 AX。答:MULTI6 PROC NEAR PUSH BX MOV AH,0 SHL AX,1 ;乘 2 MOV BX,AX SHL AX,1 ;乘 4 ADD AX,BX ;乘 6 POP BX RET MULTI6 ENDP 4-8给定如下程序片段:START:MOV AX,1000H,OV SS,AX OV SP,000FH OV AX,1000H USH AX OV BX,
34、5439H USH BX ALL NEAR PTR SUBRT OP AX STOP0:HLT SUBRT:PUSH BP OV BP,SP VAAX:MOV AX,BP+4 DD AX,456AH OV BP+4,AX OP BP ET 4 问:(1)程序执行到标号为 SUBRT 处的指令时,SP=?(2)执行完标号为 VAAX 的MOV 指令后,AX=?(3)执行到标号为 STOP0 处的指令时:SP=?AX=?BX=?CF=?SF=?OF=?答:()程序执行完标号为 SUBRT 处的“PUSH BP”指令后,SP0006H()执行完标号为 VAAX 的 MOV 指令后,AX=5439H(
35、)程序执行到标号为 STOP0 处的指令时(实际执行“HLT”指令之前):SP=000CH AX=99A3H BX=5439H 以及以下标志寄存器的内容:CF=0 SF=1 OF=1 4-9 自符号地址为 MARK 开始的内存缓冲区中,存有 100 个学生的某门课的考试成绩。试找出成绩不低于 80 分以及成绩低于 60 分的学生个数,同时求出最高的成绩分及最低的成绩分数,并将它们分别存于符号地址为 PST、FST、MAXMK 及 MINMK 的四个单元中。要求写出完整的数据段及代码段。答:DATA SEGMENT MARK DB 100 DUP(?)PST DW 0 FST DW 0 MAXM
36、K DB 0 MINMK DB 100 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX MOV CX,100 MOV BX,OFFSET MARK AGAIN:MOV AL,BX CMP AL,MAXMK JC HIGHL MOV MAXMK,AL ;update highest mark HIGHL:CMP AL,MINMK JNC MKCHK MOV MINMK,AL ;update lowest mark MKCHK:CMP AL,60 JNC HIGHMK INC FST ;increa
37、se the no.of students whose mark=80 CHKFH:INC BX LOOP AGAIN MOV AX,4C00H INT 21H CODE ENDS END START 4-10编写一段程序,接收从键盘输入的 10 个数(输入回车符后结束),然后将这些数按位取反后存于 BUFF 开始的缓冲区中。答:DATA SEGMENT ;数据段 BUFF DB 10 DUP(0);数据区 DATA ENDS STACK SEGMENT STACK STACK;堆栈段 DB 100 DUP(?)STACK ENDS CODE SEGMENT ;代码段 ASSUME CS:CO
38、DE,DS:DATA,SS:STACK START:MOV AX,DATA MOV DS,AX MOV CX,10 LEA SI,BUFF REPT1:MOV AH,1 ;键入数据 INT 21H CMP AL,0DH ;判断是否是回车键 JE NEXT1 ;是,转 NEXT1;否继续输入 NOT AL MOV BUFF,AL DEC CX NEXT1:OR CX,CX JNZ REPT1 MOV AX,4C00H INT 21H CODE ENDS END START 4-11 试编程序完成两个一位十进制数的加法功能。具体步骤与要求如下:(1)利用 DOS 1 号功能调用,顺序从键盘输入被加
39、数、“+”运算符及加数;(2)完成相加功能;(3)将相加的结果用 DOS 9 号功能调用在屏幕上显示出来。例如:输入 8+6 后,屏幕上应显示相加结果 14。如果在上述步骤(1)中有非法输入,应在屏幕上显示“Input error”,之后程序须重新从头开始(即从被加数的输入开始)。(略)(略)4-12试定义一条能对任意寄存器进行左移指定位的宏指令。答:SHIFT MACRO REG,COUNT LOCAL LEND PUSH CX MOV CL,COUNT CMP CL,1 JC LEND ;for COUNT 1,do not shift SHL REG,CL LEND:POP CX END
40、M 4-13某人写了如下宏定义,以将某寄存器中的一位 16 进制数转化为相应的 ASCII 码。试分析该宏定义是否有错,若有,试指出错误之处及原因。HEXASC MACRO HEXREG PUSHF CMP HEXREG,10 JL LS10 ADD HEXREG,a-0-10 LS10:ADD HEXREG,0 POPF RET HEXASC ENDP 答:错误之处:开始处缺:LOCAL LS10 应去除“RET”语句“HEXASC ENDP”应为“ENDM”4-14在数据段偏移地址 BUFFER 开始处顺序存放了 100 个无符号 16 位数,现要求编写程序将这 100 个数据从大到小排序
41、。(略)(略)第第 5 章章 微型计算机总线微型计算机总线 习题习题 5-1ISA 总线是属于_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-58088CPU 在形成对外
42、的数据总线和地址总线时要使用_B_。A.三态地址锁存器和三态双向数据缓冲器 B.非三态地址锁存器和三态双向数据缓冲器 C.三态地址锁存器和非三态双向数据缓冲器 D.非三态地址锁存器和非三态双向数据缓冲器 5-68088 在最大模式下使用 8288 总线控制器产生读写控制信号,8288 产生的读写信号有 6 条,在 PC 总线中使用的读写控制线是_C_。A.6 条 B.5 条 C.4 条 D.2 条 5-7PC 总线标准中不包括_C_。A.DMA 请求和应答线 B.硬中断请求线 C.和 CPU 连接的中断请求和应答线 D.复位线 5-8PCI 总线是一种_D_总线。A.8 位/16 位 B.8
43、位/16 位 C.16 位/32 位 D.32 位/64 位 5-9ISA 总线是一种_A_总线。A.8 位/16 位 B.8 位/16 位 C.16 位/32 位 D.32 位/64 位 5-10以下的说法中,不是同步总线特点的是_C_。A.不需要应答信号 B.总线周期的长度一般较短 C.总线周期的长短可以变化 D.总线上各部件的工作速度比较接近 5-11什么是总线,微型计算机为什么要采用总线结构?答:总线是在计算机系统中,CPU 和其他模块,模块和模块之间传输某种信息的公共通道。采用总线结构,便于微型计算机设计和生产的标准化和模块化,降低了生产和使用的成本,对于微型计算机的推广使用具有非常
44、重要的价值。5-12总线操作有什么限制?这些限制对于微型计算机的性能有什么影响?答:总线上同时只能传输一种信号。所以,不允许同时有几个部件互相传输信息。不同部件之间的传输只能分时进行。这种总线传输的分时性限制了微型计算机操作的并发性。5-13ISA 总线是一种同步总线还是半同步总线?答:是一种半同步总线。5-14ISA 总线通过什么信号可以调整总线周期的长短?答:I/O CH RDY。如果此信号线的输入是低电平,要求 CPU 延长总线周期。5-15PCI 总线是不是可以接入多个主设备?在接入多个主设备时,PCI 总线是什么类型的总线?答:PCI 总线可以接入多个主设备。PCI 总线本来是属于半
45、同步总线,可以通过 TRDY#和 IRDY#来控制插入等待周期。在引入多个主设备时,需要通过 REQ 和 GNT 信号来进行请求和应答的联络,但是,并不会因此而改变总线的类型位异步总线。总线的类型仍然是半同步总线。5-16 现在实际的微型计算机是多总线系统还是单总线系统?微型计算机采用多总线系统有什么优点?答:现在的微机系统都是多总线系统。多总线系统可以根据不同的速度需要,在系统的不同地方使用不同速度的总线。使得系统的配置具有更多的灵活性。由于不需要所有的总线都使用同样高速的性能,也可以降低系统的成本。5-17一个 USB 系统包括几种硬设备,分别在系统中起什么作用?答:一个 USB 系统包含
46、三类硬件设备: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 总线很快的得到了普及和应用?答:传输速度快,可以满足一般的需要;即插即用,使用方便
47、;成本较低,易于接受。第第 6 章章 半导体存储器半导体存储器 习题习题 6-1半导体存储器分为哪两大类?随机存取存储器由哪几个部分组成?答:由随机存取存储器()和只读存储器(ROM);由地址寄存器、译码驱动电路、存储体、读写驱动电路、数据寄存器和控制逻辑部分组成。6-2简述 ROM、PROM、EPROM、EEPROM 在功能上各有何特点。答:a)ROM 是只读存储器,使用时只能读出,不能写入,适用于保存不需要更改而经常读取的数据,通常使用的的光盘就是这类存储器;b)PROM 属于一次可编程的 ROM,通常使用时也只能读出,不能写入,通常使用的刻录光盘就属于此类存储器。最初从工厂中制作完成的
48、PROM 内部并没有资料,用户可以用专用的编程器将自己的资料写入,但是这种机会只有一次,一旦写入后也无法修改,若是出了错误,已写入的芯片只能报废;c)EPROM 属于可擦除,但是用户需要使用专用的紫外线擦除器对其进行数据擦除,并使用专用的编程器对其重新写入数据;d)EEPROM 是电可擦写 ROM,可以用专用的编程器对其进行擦写。6-3存储器的地址译码有几种方式?各自的特点是什么?答:地址译码有三种方式:线选法、全译码法和部分译码法。e)线选法:使用地址总线的高位地址作为片选信号,低位地址实现片内寻址;优点是结构简单,需要的硬件电路少,缺点是地址不连续,使用中不方便,而且同一存储区的地址不唯一
49、,造成地址空间浪费;f)全译码法:将地址总线中除片内地址以外的全部高位地址都接到译码器的输入端参与译码。特点是每个存储单元的地址是唯一的,地址利用充分,缺点是译码电路复杂;g)部分译码:将高位地址的部分地址线接到译码器参与译码,产生存储器的片选信号。特点是各芯片的地址是连续的,但是地址不唯一,仍然存在地址的堆叠区。6-4某 RAM 芯片的存储容量为 10248 位,该芯片的外部引脚最少应有几条?其中几条地址线?几条数据线?若已知某 RAM 芯片引脚中有 13 条地址线,8 条数据线,那么该芯片的存储容量是多少?答:至少 23 根,其中有 10 根地址线,8 条数据线;存储容量是 213*8bi
50、t=64Kbit=8KB。6-5用 Intel 2114 1K4 位的 RAM 芯片组成 32K8 位的存储器,需要多少块这样的芯片?答:需要 64 片。6-6设某微型机的内存 RAM 区的容量为 128KB,若用 2164 芯片构成这样的存储器,需多少片 2164?至少需多少根地址线?其中多少根用于片内寻址?多少根用于片选译码?答:需要 16 片;至少地址线需要 17 根,其中 1 条用于片选,16 条用于片内寻址。6-7 某 8088 系统用 2764 ROM 芯片和 6264 SRAM 芯片构成 16KB 的内存。其中,ROM的地址范围为 0FE000H0FFFFFH,RAM 的地址范围