收藏 分享(赏)

微机原理第二版+田辉+课后答案(1).doc

上传人:tangtianxu1 文档编号:2998808 上传时间:2018-10-01 格式:DOC 页数:66 大小:514.50KB
下载 相关 举报
微机原理第二版+田辉+课后答案(1).doc_第1页
第1页 / 共66页
微机原理第二版+田辉+课后答案(1).doc_第2页
第2页 / 共66页
微机原理第二版+田辉+课后答案(1).doc_第3页
第3页 / 共66页
微机原理第二版+田辉+课后答案(1).doc_第4页
第4页 / 共66页
微机原理第二版+田辉+课后答案(1).doc_第5页
第5页 / 共66页
点击查看更多>>
资源描述

1、 课后答案网,用心为你服务!大学答案 - 中学答案 - 考研答案 - 考试答案最全最多的课后习题参考答案,尽在课后答案网()!Khdaw团队一直秉承用心为大家服务的宗旨,以关注学生的学习生活为出发点,旨在为广大学生朋友的自主学习提供一个分享和交流的平台。爱校园() 课后答案网( ) 淘答案()第 1 章 微型计算机系统概述习 题1-1微型计算机包括哪几个主要组成部分,各部分的基本功能是什么?答:微型计算机由 CPU、存储器、输入/输出接口及系统总线组成。CPU是微型计算机的核心部件,一般具有下列功能:进行算术和逻辑运算。暂存少量数据。对指令译码并执行指令所规定的操作。与存储器和外设进行数据交换

2、的能力。提供整个系统所需要的定时和控制信号。响应其他部件发出的中断请求;总线是计算机系统各功能模块间传递信息的公共通道,一般由总线控制器、总线发送器、总线接收器以及一组导线组成;存储器是用来存储数据、程序的部件;I/O接口是微型计算机的重要组成部件,在 CPU和外设之间起适配作用。1-2CPU 执行指令的工作过程。答:取指令、执行指令。指令执行的基本过程:(1)开始执行程序时,程序计数器中保存第一条指令的地址,指明当前将要执行的指令存放在存储器的哪个单元。(2)控制器:将程序计数器中的地址送至地址寄存器MAR,并发出读命令。存储器根据此地址取出一条指令,经过数据总线进入指令寄存器IR。(3)指

3、令译码器译码,控制逻辑阵列发操作命令,执行指令操作码规定的操作。(4)修改程序计数器的内容。1-3果微处理器的地址总线为 20 位,它的最大寻址空间为多少?201-4处理器、微型计算机和微型计算机系统之间有什么关系?答:微处理器是微型计算机的核心部件。微处理器配上存储器、输入/输出接口及相应的外设构成完整的微型计算机。以微型计算机为主体,配上系统软件和外部设备以后,就构成了完整的微型计算机系统。1-5下面十进制数分别转换为二进制、八进制和十六进制数:128,65535,1024答:128,二进制:10000000B,八进制:200O,十六进制: 80H65535,二进制:11111111111

4、11111B,八进制:177777O,十六进制:FFFFH1024, 二进制:10000000000B,八进制:2000O,十六进制:400H1-6下面二进制数分别转换为十进制及十六进制数:1011.1010B,1111101.11 B答:答: 2 =1048576=1MB1011.1010B,十进制:11.625,十六进制:B.AH1111101.11B,十进制:125.75,十六进制:7D.CH1-7(5487) 10( 0101010010000111)BCD 1010101101111 B1-8设字长为 8 位,请写出下列数的原码、反码、补码和移码:15,20,27/32答:+15原

5、=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若 CPU 的主时钟频率为 10MHz,则一个时钟周期为10 s,一个基本总线周期为 4第 2 章 微型计算机系统的微处理器习 题2-10868088 CPU 的功能结构由哪两部分组成?它们的主要功能是什么?

6、答:8086/8088 CPU 的功能结构由以下两部分组成:总线接口单元 BIU(Bus Interface Unit),执行部件EU (Execution Unit)。总线接口单元BIU的主要功能是:负责与存储器、I/O 端口进行数据传送。具体讲:取指令:总线接口部件从内存中取出指令后送到指令队列。预取指令。配合EU执行指令,存取操作数和运算结果。执行部件 EU 主要功能是:负责指令执行。2-2086 CPU 指令部件(队列) 的作用是什么?地址加法器的作用是什么?答:8086/8088的指令队列分别为6/4个字节,存储预取的指令。地址加法器用来产生20位物理地址。8086/8088可用20

7、位地址寻址1M字节的内存空间,而CPU内部的寄存器都是16 位,因此需要由一个附加的机构来计算出20位的物理地址,这个机构就是20位的地址加法器。2-3据 8086 CPU 的结构,简述程序的执行过程。答:设程序的指令代码已存放在存贮器中。为执行程序,CPU按照时钟节拍,产生一系列控制信号,有规则地重复进行以下过程。(1)BIU从存贮器中取出一条指令存入指令队列。(2)EU从指令队列取指令并执行指令。BIU利用总线空闲时间,从内存取第二条指令或取第三条指令存入指令队列。(3)EU执行下一条指令。如果前面一条指令有写存贮器的要求,则通知 BIU把前条指令结果写到存贮器中,然后再取指令存入指令队列

8、。(4)如指令执行要求读取操作数,由BIU完成。(5)EU执行再下一条指令,返回(1)处继续执行上述操作过程。所以,程序的执行过程就是CPU取指令、分析指令、执行指令,再取指令这样一个循环重复过程。在指令执行过程中,利用 EU 分析指令操作码和执行指令时不占用总线操作时间的特点,BIU 自动地通过总线读取存贮器中的指令码存入 BIU 指令队列,从而使 BIU 与 EU 并行工作,提高 CPU 执行指令的速度。2-4什么是总线周期?80868088 的基本总线周期由几个时钟周期组成?若 CPU 的主时钟频率为 10 MHz,则一个时钟周期为多少?一个基本总线周期为多少?答:总线周期:BIU通过系

9、统总线对存储器或IO端口进行一次读写操作的过程称为一个总线周期。80868088CPU的一个基本总线周期由4个时钟周期(T1T4 )组成,也称4个T状态。-710-7 s。2-5复位信号 RESET 到来后,80868088 CPU 的内部状态有何特征?系统从何处开始执行指令?答:80868088 系统中,复位信号 RESET 到来后,处理器内部的各寄存器和标志寄存器的内容自动设置为:CS FFFFH DS 0000HSS 0000H ES 0000HIP 0000H 指令队列空FR 0000H (禁止中断)因 CS FFFFH,IP 0000,所以 80868088 将从地址 FFFF0H

10、开始执行指令。2-6在总线周期的 T1T 4 状态, CPU 分别执行什么操作?在 CPU 的读写总线周期中,数据在哪个状态出现在数据总线上?答:CPU 在每个时钟周期内完成若干个基本操作,具体是:T1 状态:CPU 向多路复用总线上发送地址信息指出要寻址的存储单元或外设端口地址。T2 状态:CPU 从总线上撤消地址,使总线的低 16 位置为高阻抗状态,为传输数据作准备。总线的高 4 位输出本总线周期状态信息。这些状态信息用来表示中断允许状态、当前正在使用的段寄存器等。T3 状态:CPU 在总线的高 4 位继续输出总线周期状态信号。在总线的低 16 位出现由CPU 写出的数据,或者从存储器或

11、IO 端口读入的数据。T4 状态:总线周期结束。在 CPU 的读写总线周期中,数据在 T3 状态出现在数据总线上。2-78086/8088 读/写总线周期,微处理器是在( B )时刻采样READY信号,以便决定是否插入Tw 。AT2 B.T3 C.T3 下降沿 D. T2 上升沿2-88086/8088 系统中为什么要有地址锁存器?需要锁存哪些信息?答:因 8086/8088 系统中地址线、数据线是复用的,所以要有地址锁存器锁存 T1 状态输出的地址。8086 系统锁存 20 位地址及 BHE 信号, 8088 系统锁存 20 位地址。2-980868088 的最大模式系统配置与最小模式系统配

12、置在结构上有何区别?总线控制器 8288 的作用是什么?答:最大模式系统配置在结构上与最小模式系统的主要区别是增加了一个总线控制器 8288和一个总线仲裁器 8289。总线控制器 8288 的作用是:对来自 80868088 CPU 的总线状态信号 S2 、 S1 、 S0 译码,与输入控制信号 AEN 、CEN 和 IOB 相互配合,产生总线命令信号和总线控制信号。2-10关于8086 最大工作模式的特点描述正确的是( D )。A.不需要总线控制器8288 B.适用于单一处理机系统C.由编程进行模式设定 D. M/IO 引脚不可以直接引用2-1180868088有最小和最大模式两种工作模式,

13、当( B )时为最小模式。A.MN/ MX=O B.MN/ MX=l B.INTR=l D.HOLD=“1“2-128086 最小工作模式和最大工作模式的主要差别是( D ).A.地址总线的位数不同C数据总线位数不同B.I/O 端口数不同D.单处理器与多处理器的不同2-13PC 机中地址总线的作用是( C )。A.用于选择存储器单元 B.用于选择进行信息传输的设备C.用于给存储器单元和I/O 设备接口电路的选择地址D.以上都不正确2-14设当前 SSC000H,SP2000H,AX2355H,BX2122H,CX8788H,则当前栈顶的物理地址是多少?若连续执行 PUSH AX,PUSH BX

14、,POP CX 3 条指令后,堆栈内容发生什么变化?AX、BX、CX 中的内容是什么?2-158086/8088的控制标志位有( C )个。A.l B.2 C.3 D.42-16编程人员不能直接读写的寄存器是( C )。A.DI B.CX C.IP D.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 不确定和 PF0(AH)00000011H_ (AL)1000001

15、0H10000001CF=1、 AF=0、OF=0 、SF=1、 IF 不确定和 PF12-188086 CPU 中的标志寄存器 FR 中有哪些状态标志和控制标志?这些标志位各有什么含义?见教材。2-19 BHE 信号的作用是什么?简述 8086 系统中,访问存储器在读写一个字和字节的过程中, BHE 和 A0 的状态。答:高 8 位数据总线允许状态复用信号。总线周期的 T1 状态,8086 在 BHE /S7 输出低电平,表示高 8 位数据总线 AD15AD8 上的数据有效。8086 系统中,BHE 和 AD0 结合起来,指出当前传送的数据在总线上将以何种格式出现。(见教材表 2-4-1)8

16、088 系统中,由于数据总线只有 8 位,不存在高 8 位与低 8 位的问题。所以,该引脚(第 34 号)被定义为双功能引脚。在最大模式时,该引脚恒为高电平;在最小模式中,则定义为 SS0 。2-208086 向偶地址存储单元 0 送一个字节数据时, 须执行一个总线周期 , 在第一个 T状态中, ALE 为 1 , A0 为 0 ,WR 为 1 。2-218086 系统中,为什么要对存储器进行分段管理?其分段管理是如何实现的?答:8086/ 8088 地址总线是 20 位的,CPU 中的寄存器是 16 位的, 20 位地址无法用 16 位寄存器表示,所以必须分段。通常有代码段、数据段、堆栈段、

17、辅助段。段内地址 16 位,每个段的大小最大可达 64KB;实际使用时可以根据需要来确定段大小。2-22已知某存储单元的段地址为 4500H,偏移地址为 4500H,该单元的物理地址是多少?答:49500H2-23某指令对应当前段寄存器CS=FFFFH,指令指针寄存器IP=FF00H,此时,该指令的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗?试举例说明答:该指令的物理地址为:CSI PFFFF0H+ FF00H=1 0FEF0H这一物理地址的CS值和IP值是唯一的吗:不唯一2-24因为8086CPU 的字数据既可以存放在内存的偶地址单元,也可以安排在奇地址单元,所以其堆栈指针S

18、P( 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(3)MOV AX,BX(5)MOV AL,BP+5(2)MOV AX,100H(4)MOV BL,CL(6)MOV AL,BP+SI+2答:(1)中源操作数为直接寻址,其

19、物理地址=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, 4

20、780H(2) 寄存器间接寻址:MOV BX,4780HMOV AL, BX(3) 变址寻址:MOV SI, 4782HMOV AL, SI-23-4判断下述 8086/8088 指令的写法是否正确:(1)MOV AX, BH(3)MOV SP, AX(5)OUT 10H, CL(7)PUSH AL(9)MOV ES:SI, DI答:( 1) MOV AX, BH( 2) MOV BP, AX(3)MOVSP, AX(X)()(X)(2)MOV BP, AX(4)MOV DI, SI(6)INC WORD PTR SI(8)CMP 36H, AL(10)MOV BYTE PTR BX,800(

21、 4) MOV DI, SI(5) OUT 10H, CL(X)(X)(6) INC WORD PTR SI ()(7) PUSH AL(8) CMP 36H, AL( 9) MOV ES:SI, DI(X)(X)()(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。问:下列各条指令单独执行后相关寄存器或存储单元的内容为

22、多少?(1)MOV(3)MOV(5)MOVAX, 1800HBX, 1200HBX+SI, AL(2)MOV(4)MOV(6)MOVAX, BXDX, BX+1100HAX, BX+SI+1100H答:(1)(2)(3)(4)(5)(6)AX=1800HAX=BX=0100HBX=999BHDX=999BH20102H = AL =00HAX=88AAH3-6已知 SS=0FF00H,SP=0000H ,试编写程序片段将两个 16 位数 1122H 和 3344H 先后压入堆栈,并画出堆栈区和 SP 内容变化的过程示意图(标出存储单元的地址)。答:MOV AX, 1122HPUSH AX0FF

23、00:0FFFEH0FF00:0FFFFH22H11HSPMOV AX, 3344HPUSH AX0FF00:0FFFCH0FF00:0FFFDH0FF00:0FFFEH0FF00:0FFFFH44H33H22H11HSP3-7设在数据段偏移地址为 2000H 单元开始的地方连续存放了 0 15 的平方值。试写出包含有 XLAT 指令的指令序列,用来查找 015 范围内的某个数 N 的平方值(设 N 的值存放在 CL 寄存器中)。答:MOV BX, 2000HMOV AL, CLXLAT3-8试用简单的几条指令完成对 AL 寄存器中的无符号数乘以 12 的操作。要求只能用移位、加法及 MOV

24、指令。答:MOV AH, 0MOV CL, 2SHL AX, CLMOV BX, AXSHL AX, 1ADD AX, BX;AL 左移两位,相当于乘 4;保存;AL 再左移一位,相当于原数乘 8;相当于原数乘 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) 若再执行一条

25、非组合 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,50

26、00HMOV DS,AXMOV CX,100MOV AX,0MOV SI,AXSTART: ADD AX,SI+1000HADD SI,2LOOP STARTMOV 200H, AX答:程 序 完 成 内 存 5000H:1000H 开 始 的 连 续 100 个 字 数 据 的 求 和 , 并 将 和 数 存 于5000H:200H 处。3-13、试写一程序片段,将当前数据段偏移地址为 2000H 开始的 100 个字节单元内容与偏移地址为 3000H 开始的 100 个字节单元内容相交换,即:偏移地址 2000H 对应单元内容与偏移地址 3000H 对应单元内容交换,偏移地址 2001H

27、对应单元内容与偏移地址 3001H对应单元内容交换,依此类推。答:MOV SI, 2000HMOV DI, 3000HMOV CX, 100REPT0: MOV AL, SIMOV BL, DIMOV DI, ALMOV SI, BLINC SIINC DILOOP REPT03-14在数据段中偏移地址分别为 1000H 及 2000H 开始的存储区内有两个 10 字节的字符串,试编写一段程序来比较这两个字符串。如果这两个字符串不同,则程序转至8000H:1000H 处,否则顺序执行。答:MOV SI, 1000HMOV DI, 2000HMOV CX,10CLD;装入源串偏移地址;装入目的串

28、偏移地址;装入字符串长度;方向标志复位REPE CMPSBJCXZ CONTIJMP 8000H:1000HCONTI: NOP3-15利用串操作指令将数据段中偏移地址 1000H 开始处的 100 个字节移动到数据段偏移地址为 1050H 开始的地方。答:MOV CX,100MOV SI,1000H+99MOV DI,1050H+99STDREP MOVSB;地址减量方式传送;数据块传送(串操作)第 4 章 汇编语言程序设计习题4-1如下定义:VAR1 DB 4VAR2 DB 10CNST1 EQU 12试指出下列指令的错误原因:(1)MOV CNST1,CX(3)CMP VAR1,VAR2

29、(2)MOV VAR1,AX(4)CNST1 EQU 24答:(1) 目的操作数不能是立即数;(2) VAR1 单元定义为字节类型,而 AX 为字;(3) 8086/8088 中两个内存单元不能直接比较;(4) 同一符号名不允许用 EQU 重复定义。4-2某人定义了如下数据段:DATA SEGMENT AT 1000HORG 100HVAL1 DB 11HVAL2 DW 22H, 33HVAL3 DB 5 DUP (44H)DATA ENDS试指明该数据段中偏移地址从 100H 到 109H 的各存贮单元的内容。答:100H: 11H101H: 22H102H: 00H103H: 33H104

30、H: 00H105H: 44H106H: 44H107H: 44H108H: 44H109H: 44H4-3对于下面的数据定义,写出各条指令执行后的结果:DATA SEGMENTORG 0100HAAAA DW 0A244HBBBB DB 33H,66H,92H,29HCCCC EQU WORD PTR BBBBDDDD DB ABCDEEEE EQU $DDDDDATA ENDS答:(1) MOV AX,AAAA(2) MOV BX,CCCC(3) MOV DX,OFFSET DDDD(4) MOV CL,EEEEAL=(BH=(DL=(CL=()(1) MOV AX,AAAA AL=( 4

31、4H(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:LOOP1:MOV AX,5000HMOV DS,AXMOV SI,0MOV CX, 0FFFFHMOV BYTE PTR SI, 55HMOV AL, SICMP AL, 55HJNZ LOOPERRLOOP2: I

32、NC SILOOP LOOP1MOV BYTE PTR SI, 55H ;最后一个单元MOV AL, SICMP 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 开

33、始的 1024 个单元的 ASCII 字符加上偶校验位。答:START: MOV AX,1000HMOV DS,AXMOV SI,0MOV CX, 1024LOOP1: MOV AL, SICALL ADDPARITYMOV SI, ALINC SILOOP LOOP14-7、试写一子程序,完成对一个 8 位无符号数乘 6 的操作。要求: (1)只能用传送、加法及移位指令;(2)入口参数(即 8 位无符号数)放于 AL 中,出口参数(即乘 6 后的结果)放于 AX。答:MULTI6 PROC NEARPUSH BXMOV AH, 0SHL AX, 1MOV BX, AXSHL AX, 1ADD

34、 AX, BX;乘 2;乘 4;乘 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, SPVAAX: MOV AX, BP+4DD AX, 456AHOV BP+4, AXOP BPET 4问:(1)程序执行到标号为 SUBRT 处的指令时,SP = ?(2)执行完标号为 VAAX 的MOV 指令后,AX =?(3)执

35、行到标号为 STOP0 处的指令时: SP = ? AX = ? BX = ? CF=? SF=?OF=?答:() 程序执行完标号为 SUBRT 处的“PUSH BP”指令后,SP 0006H() 执行完标号为 VAAX 的 MOV 指令后,AX =5439H() 程序执行到标号为 STOP0 处的指令时(实际执行“HLT ”指令之前):SP = 000CHAX = 99A3HBX = 5439H以及以下标志寄存器的内容:CF = 0SF = 1OF = 14-9自符号地址为 MARK 开始的内存缓冲区中,存有 100 个学生的某门课的考试成绩。试找出成绩不低于 80 分以及成绩低于 60 分

36、的学生个数,同时求出最高的成绩分及最低的成绩分数,并将它们分别存于符号地址为 PST、FST、MAXMK 及 MINMK 的四个单元中。要求写出完整的数据段及代码段。答:DATA SEGMENTMARK DB 100 DUP(?)PST DW 0FST DW 0MAXMK DB 0MINMK DB 100DATA ENDSCODESTART:AGAIN:HIGHL:MKCHK:HIGHMK:SEGMENTASSUME CS:CODE, DS:DATAMOV AX, DATAMOV DS, AXMOV CX, 100MOV BX, OFFSET MARKMOV AL, BXCMP AL, MAX

37、MKJC HIGHLMOV MAXMK, AL ; update highest markCMP AL, MINMKJNC MKCHKMOV MINMK, AL ; update lowest markCMP AL, 60JNC HIGHMKINC FST ; increase the no. of students whose mark = 80CHKFH: INC BXLOOP AGAINMOV AX, 4C00HINT 21HCODE ENDSEND START4-10编写一段程序,接收从键盘输入的 10 个数(输入回车符后结束),然后将这些数按位取反后存于 BUFF 开始的缓冲区中。答

38、:DATA SEGMENTBUFF DB 10 DUP (0);数据段;数据区DATA ENDSSTACK SEGMENT STACK STACK;堆栈段DB 100 DUP(?)STACK ENDSCODE SEGMENT ;代码段ASSUME CS:CODE,DS :DATA,SS:STACKSTART: MOV AX,DATAMOV DS,AXMOV CX, 10LEA SI, BUFFREPT1: MOV AH, 1INT 21H;键入数据CMP AL, 0DH ;判断是否是回车键JE NEXT1 ;是,转 NEXT1;否继续输入NOT ALMOV BUFF, ALDEC CXNEXT

39、1: OR CX, CXJNZ REPT1MOV AX,4C00HINT 21HCODE ENDSEND START4-11试编程序完成两个一位十进制数的加法功能。具体步骤与要求如下:(1) 利用 DOS1 号功能调用,顺序从键盘输入被加数、“+”运算符及加数;(2) 完成相加功能;(3) 将相加的结果用 DOS 9 号功能调用在屏幕上显示出来。例如:输入 8+6 后,屏幕上应显示相加结果 14。如果在上述步骤(1)中有非法输入,应在屏幕上显示“Input error ”,之后程序须重新从头开始(即从被加数的输入开始)。(略)4-12试定义一条能对任意寄存器进行左移指定位的宏指令。答:SHIF

40、T 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, 0POPFRETHEXASC ENDP答:错误之处:开始

41、处缺:LOCAL LS10应去除 “RET” 语句“HEXASC ENDP”应为 “ENDM”4-14在数据段偏移地址 BUFFER 开始处顺序存放了 100 个无符号 16 位数,现要求编写程序将这 100 个数据从大到小排序。(略)第 5 章 微型计算机总线习题5-1ISA 总线是属于_C_总线。A. 同步 B. 异步 C. 半同步 D. 自适应5-2以下的接口芯片中,可以用作总线主设备的是_A_。A. DMA 控制器 B. 中断控制器 C. 计数器 D. A/D 变换器5-3总线最大传输率等于_D_。A. 总线宽度乘以总线频率B. 总线宽度乘以总线频率的二分之一C. 总线宽度乘以总线频率

42、的四分之一D. 总线宽度乘以总线频率的八分之一5-4总线宽度的意思是_B_。A. 总线插槽的尺寸B. 总线中数据线的数目C. 总线中所有信号线的数目D. 总线插槽所有引脚的数目5-58088CPU 在形成对外的数据总线和地址总线时要使用_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 位C. 16 位/32 位5-9ISA 总线是一种_A_ 总线。A. 8 位/16 位C. 16 位/32 位B. 8 位/16 位D. 32 位/64 位B. 8 位/16 位D. 32 位/64 位5-10以下的说法中,不是同步总线特点的是_C_。A. 不需要应答信号B. 总线周期的长度一般较短C. 总线周期的长短可以变化

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 实用文档 > 往来文书

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报