(整理)微型计算机原理与接口技术(第三版)课后练习答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 思考与练习题
一、选择题
1.计算机硬件中最核心的部件是( )。

C
A.运算器
B.主存储器
C.CPU
D.输入/输出设备
2.微机的性能主要取决于( )。

A
(B——计算机数据处理能力的一个重要指标)
A.CPU
B.主存储器
C.硬盘
D.显示器
3.计算机中带符号数的表示通常采用( )。

C
A.原码
B.反码
C.补码
D.BCD码
4.采用补码表示的8位二进制数真值范围是( )。

C
A.-127~+127
B.-1 27~+128
C.-128~+127
D.-128~+128
5.大写字母“B”的ASCII码是( )。

B
A.41H
B.42H
C.61H
D.62H
6.某数在计算机中用压缩BCD码表示为10010011,其真值为( )。

C
A.10010011B
B.93H
C.93
D.147
二、填空题
1.微处理器是指_CPU_;微型计算机以_CPU_为核心,配置_内存和I/O接口_构成;其特点是_(1)功能强 (2)可靠性高 (3)价格低 (4)适应性强 (5)体积小 (6)维护方便_。

P8 P5
2.主存容量是指_RAM和ROM总和_;它是衡量微型计算机_计算机数据处理_能力的一个重要指标;构成主存的器件通常采用_DRAM和PROM半导体器件_。

P5 P9
3.系统总线是_CPU与其他部件之间传送数据、地址和控制信息_的公共通道;根据传送内容的不同可分成_数据、地址、控制_3种总线。

P9
4.计算机中的数据可分为_数值型和非数值型_两类,前者的作用是_表示数值大小,进行算术运算等处理操作_;后者的作用是_表示字符编码,在计算机中描述某种特定的信息_。

P12
5.机器数是指_数及其符号在机器中加以表示的数值化_;机器数的表示应考虑_机器数的范围、机器数的符号、机器数中小数点位置_3个因素。

P15 P16
6.ASCII码可以表示_128_种字符,其中起控制作用的称为_功能码_;供书写程序和描述命令使用的称为_信息码_。

P18 P19
三、判断题
1.计算机中带符号数采用补码表示的目的是为了简化机器数的运算。

( )√
2.计算机中数据的表示范围不受计算机字长的限制。

( )×
3.计算机地址总线的宽度决定了内存容量的大小。

( )√
4.计算机键盘输入的各类符号在计算机内部均表示为ASCII码。

( )×
(键盘与计算机通信采用ASCII码)
四、简答题
1.微处理器和微型计算机的发展经历了哪些阶段?各典型芯片具备哪些特点?P2~3
2.微型计算机硬件结构由哪些部分组成?各部分的主要功能和特点是什么?P8~11
3.微型计算机系统软件的主要特点是什么?包括哪些内容?P11~12
4.计算机中常用的数制有哪些?如何进行数制之间的转换?P13~15
5.ASCII码和BCD码有哪些特点?其应用场合是什么?P19~20
五、数制转换题
1.将下列十进制数分别转换为二进制数、十六进制数和压缩BCD码。

(1)25.82 1 1001.1101B ; 19.DH ; 0010 0101.1000 0010 BCD
(2)412.15 1 1001 1100.0010B ; 19C.2H ; 0400 0001 0010.0001 0101 BCD
(3)513.46 10 0000 0001.0111 ; 201.7H ; 0101 0001 0011.0100 0110 BCD
(4)69.136 **** ****.0010 ; 45.2H ; 0101 1001.0001 0011 0110 BCD
2.将下列二进制数分别转换为十进制数和十六进制数。

(1)11 1001.101 57.625D ; 39.AH
(2)11 0010.1101 50.8125D ; 32.DH
(3)1011.1101 1 11.84375D ; B.D8H
(4)10 1101.0111 45.4375D ; 2D.7H
3.将下列十六进制数分别转换为二进制数、十进制数和BCD码。

(1)7B.21 111 1011.0010 0001B ; 123.12890625D ; 123.12890625 BCD
(2)127.1C 1 0010 0111.0001 11B ; 295.06640625D ; 295.06640625 BCD
(3)6A1.41 101 1010 0001.0100 0001B ; 1697.25390625D ; 1697.25390625 BCD
(4)2DF3.4 10 1101 1111 0011.01B ; 11763.25D ; 11763.25 BCD
4.写出下列十进制数的原码、反码、补码表示(采用8位二进制数)。

(1)96 [96]原=0110 0000 ; [96]反=0110 0000 ; [96]补=0110 0000
(2)31 [31]原=0001 1111 ; [31]反=0001 1111 ; [31]补=0001 1111
(3)-42 [-42]原=1010 1010 ; [-42]反=1101 0101 ; [-42]补=1101 0110
(4)-115 [-115]原=1111 0011 ; [-115]反=1000 1100 ; [-115]补=1000 1101
5.已知下列补码,求其原值的十进制表示。

(1)92H -110D
(2)8DH -115D
(3)B2H -78D
(4)4C26H +19494D
6.按照字符所对应的ASCII码表示,查表写出如下字符的ASCII码:
a、 K、 G、 +、 DEL、SP、 CR、 $ 。

61H 4BH 47H 2BH 7FH 20H 0DH 24H
2 思考与练习题
一、选择题
1.在EU中起数据加工与处理作用的功能部件是( )。

A
A.ALU
B.数据暂存器
C.数据寄存器
D.EU控制电路
2.以下不属于BIU中的功能部件是( )。

B
A.地址加法器
B.地址寄存器
C.段寄存器
D.指令队列缓冲器
3.堆栈操作中用于指示栈顶地址的寄存器是( )。

B
A.SS
B.SP
C.BP
D.CS
4.指令指针寄存器(IP)中存放的内容是( )。

B
A.指令
B.指令地址
C.操作数
D.操作数地址
5.8086系统可访问的内存空间范围是( )。

B
A.0000H~FFFFH
B.00000H~FFFFFH
C.0~216
D.0~220
6.8086的I/O地址空间采用16位数寻址时,可访问的端门数容量为( )。

C
A.16KB
B.32KB
C.64KB
D.1MB
7.8086最大和最小工作方式的主要差别是( )。

D
A.数据总线的位数不同
B.地址总线的位数不同
C.I/O端口数的不同
D.单处理器与多处理器的不同
二、填空题
1.8086的内部结构由_EU_和_BIU_组成,前者功能是_执行指令_,后者功能是_总线操作_。

P24 P26
2.8086取指令时,会选取_CS_作为段基值,再加上由_IP_提供的偏移地址形成20位物理地址。

3.8086有两种外部中断请求线,它们分别是_INTR_和_NMI_。

P32
4.8086的标志寄存器共有_9_个标志位,分为_6_个_状态_标志位和_3_个_控制_标志位。

P28
5.8086为访问1MB内存空间,将存储器进行_分段_管理;其_物理_地址是唯一的;偏移地址是指_相对段基地址的偏移量_;逻辑地址常用于_程序中_。

P29 P20 P34 P35
6.逻辑地址为1000H:0230H时,其物理地址是_10230H_,段地址是_1000H_,偏移量是_0230H_。

7.时钟周期是指_CPU基本时间计量单位_,总线周期是指_一次总线操作时间_,总线操作是指_CPU经外部总线对存储器或I/O端口进行一次信息输入和输出的过程_。

P37
8.8086工作在最大方式时CPU引脚MN/-MX应接_地_;最大和最小工作方式的应用场合分别是_多处理器和单处理器系统_。

P38 P39
三、判断题
1.IP中存放的是正在执行的指令偏移地址。

( )×
2.从内存单元偶地址开始存放的数据称为规则字。

( )√
3.EU执行算术和逻辑运算后的结果特征可由控制标志位反映出来。

( )×
4.指令执行中插入T I,和T W是为了解决CPU与外设之间的速度差异。

( )×
5.总线操作中第1个时钟周期通常是取指周期。

( )×
6.8086系统复位后重新启动时从内存地址FFFF0H处开始执行。

( )√
四、简答题
1.8086微处理器中的指令队列起什么作用(EU从指令队列取指令的缓冲作用),其长度是多少字节(6个字节)?P26
2.什么是逻辑地址(无符号32位二进制数),它由哪两部分组成(段地址和偏移地址)? 8086的物理地址是如何形成的(物理地址=段地址*10H+偏移地址)?P35
3.8086微机系统中存储器为什么要分段(8086系统内的地址寄存器均是16位,只能寻址64KB;将1MB存储器分成逻辑段,每段不超过64KB空间,以便CPU操作。

),各逻辑段之间的关系如何(可重叠、交叉、紧密连接和分离)?P34
4.I/O端口有哪两种编址方式(统一编址和独立编址),8086的最大I/O寻址空间是多少(64KB)?P36
5.8086的最大工作模式(8086、8087和8089通过总线控制器8288产生对总线的控制信号)和最小工作方式(8086直接产生总线控制信号)的主要区别是什么?他们分别应用在何种场合(多处理器和单处理器系统)?P39
6.简述实地址方式(由段地址和偏移地址计算产生物理地址,其物理地址可以超过20位)和虚拟8086方式(由段地址和偏移地址计算产生的有效物理地址为20位)的区别。

P41
7.简述Pentium微处理器的主要特性。

P44
五、分析题
1.有一个由10个字组成的数据区,其起始地址为1200H:0120H。

试写出该数据区的首末存储单元的实际地址(12120H~12120H+10*2-1=12133H)。

2.若一个程序段开始执行之前,(CS)=33AOH,(IP)=0130H,试问该程序段启动执行指令的实际地址是什么(33A00H+0130H=33B30H)?
3.有两个16位的字31DAH和5E7FH,它们在8086系统存储器中的地址分别为00130H和00134H,试画出它们的存储示意图。

地址
00130H
00131H
00134H
00135H
4.将字符串“Good!”的ASCII码依次存人从01250H开始的字节单元中,画出它们存放的内存单元示意图。

地址存储空间
01250H
01251H
01252H
01253H
01254H
5.8086微处理器读/写总线周期各包含多少个时钟周期(4个时钟周期)?什么情况下需要插入T W等待周期(当T3上升沿检测到READY=0时,在T3与T4之间插入T W)?应插入多少个T W,取决于什么因素(READY=0持续的时间长短)?什么情况下会出现空闲状态T I(BIU不执行总线操作的时钟周期。

例如:8086执行MUL、DIV指令长指令时,BIU有段时间不执行总线操作;因此,插入T I)?P38
3 思考与练习题
一、选择题
1.寄存器间接寻址方式中,要寻找的操作数位于( )中。

B
A.通用寄存器
B.内存单元
C.段寄存器
D.堆栈
2.下列指令中正确的是( )。

C
A.MOV AL,BX
B.MOV CS,AX
C.MOV AL,CL
D.MOV [BX],[SI]
3.下列指令中错误的是( )。

C
A.MOV AX,1234H
B.INC BX
C.SRL AX,2
D.PUSH DX
4.设(SP)=1010H,执行POP AX后,SP中的内容为( )。

B
A.1011H
B.1012H
C.1OOEH
D.100FH
5.给定(AL)=80H,(CL)=02H,指令SHR AL,CL执行后的结果是( )。

B
A.(AL)=40H
B.(AL)=20H
C.(AL)=C0H
D.(AL)=E0H
6.将AX清零并使CF位清零,下面指令错误的是( )。

A
A.SUB AX,BX
B.XOR AX,AX
C.MOV AX,0(不影响FR)
D.AND AX,0OOOH
二、填空题
1.计算机指令通常由_操作码字段_和_操作数字段_两部分组成;指令对数据操作时.按照数据的存放位置可分为_立即数、寄存器操作数、存储器操作数_。

2.寻址的含义是指_寻找操作数的过程_;8086指令系统的寻址方式按照大类可分为_与操作数有关的寻址方式、与I/O端口有关的寻址方式_;其中寻址速度最快的是_立即数寻址_。

P54~P57
3.指令MOV AX,ES:[BX+O1OOH]中,源操作数位于_物理地址为ES*10H+BX+0100H的存储单元
_;读取的是_附加数据ES_段的存储单元内容。

4.堆栈是一个特殊的_存储器区域_,其操作是以_2字节单元_为单位按照__先进后出_原则来处理;采用_SP_指向栈顶地址,入栈时地址变化为_SP<=(SP)-2_。

P57
5.I/O端口的寻址有_直接端口寻址和间接端口寻址_两种方式;采用8位数端口地址(直接端口寻址)时,可访问的端口地址为_0~255_;采用16位数端口地址(间接端口寻址)时,可访问的端口地址为_0~65535_。

P57~ P58
三、分析计算题
1.指出如下指令中源操作数和目的操作数的寻址方式:
(1)MOV AX,100H (2)MOV CX,AX
(3)ADD [SI],1000 (4)SUB BX,[SI+100]
(5)MOV [BX+300],AX (6)AND BP,[DI]
源操作数目的操作数
(1)MOV AX,100H 立即数寄存器
(2)MOV CX,AX 寄存器寄存器
(3)ADD [SI],1000 立即数寄存器间接
(4)SUB BX,[SI+100] 变址寄存器
(5)MOV [BX+300],AX 寄存器变址
(6)AND BP,[DI] 寄存器间接寄存器
2.分析如下指令的正误,对错误指令说明出错误原因并加以收正:
(1)MOV [1200],23H (2)MOV 1020H,CX
(3)MOV [1000H],[2000H] (4)MOV IP,O00H
(5)PUSH AL (6)OUT CX,AL
(7)IN AL,[80H] (8)MOV CL,3300H
(1)MOV [1200],23H ;未指明数据类型 MOV BYTE PTR[1200],23H
(2)MOV 1020H,CX ;立即数不能作为目标操作数 MOV [1020H],CX
(3)MOV [1000H],[2000H];两操作数不能均是内存单元 MOV BYTE PTR [1000H],2000H
(4)MOV IP,000H ;IP不能在MOV指令中出现 JMP 000H
(5)PUSH AL ;操作数必须是16位 PUSH AX
(6)OUT CX,AL ;CX不能作为端口地址的间接访问寄存器 OUT DX,AL
(7)IN AL,[80H] ;直接端口地址写法错误 IN AL,80H
(8)MOV CL,3300H ;两操作数的数据类型不一致 MOV CX,3300H
3.给定(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(2010lH)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=B7H,(21203H)=65H。

试分析如下指令执行后,AX寄存器中的内容:
(1)MOV AX,12O0H (2)MOV AX,BX
(3)MOV AX,[1200H] (4)MOV AX,[BX]
(5)MOV AX,1100H[BX] (6)MOV AX,[BX+SI]
(7)MOV AX,[11OOH+BX+SI]
(1)MOV AX,1200H ;(AX)=1200H
(2)MOV AX,BX ;(AX)=0100H
(3)MOV AX,[1200H] ;(AX)=4C2AH
(4)MOV AX,[BX] ;(AX)=3412H
(5)MOV AX,1100H[BX] ;(AX)=4C2AH
(6)MOV AX,[BX+SI] ;(AX)=7856H
(7)MOV AX,[1100H+BX+SI] ;(AX)=65B7H
4.已知(AX)=75A4H,CF=1,分别写出如下指令执行后的结果:
(1)ADD AX,08FFH (2)INC AX
(3)SUB AX,4455H (4)AND AX,OFFFH
(5)OR AX,0101H (6)SAR AX,1
(7)ROR AX,1 (8)ADC AX,5
(1)ADD AX,08FFH ;(AX)= 7EA3H CF=0
(2)INC AX ;(AX)=75A5H CF=1
(3)SUB AX,4455H ;(AX)= 314FH CF=0
(4)AND AX,0FFFH ;(AX)= 05A4H CF=0
(5)OR AX,0101H ;(AX)= 75A5H CF=0
(6)SAR AX,1 ;(AX)= 3AD2H CF=0
(7)ROR AX,1 ;(AX)= 3AD2H CF=0
(8)ADC AX,5 ;(AX)= 75AAH CF=0
5.给定(SS)=8000H,(SP)=2000H,(AX)=7A6CH,(DX)=3158H。

执行如下程序段,画出每条指令执行后寄存器的内容和堆栈存储内容的变化情况:
PUSH AX
PUSH DX
POP BX
POP CX
PUSH AX ;(AX)=7A6CH,(SP)=1FFEH,(81FFEH)=7A6CH
PUSH DX ;(DX)=3158H,(SP)=1FFCH,(81FFCH)=3158H
POP BX ;(BX)=3158H,(SP)=1FFEH
POP CX ;(CX)=7A6CH,(SP)=2000H
6.试分析如下程序段执行完后,BX的内容:817FH
MOV BX,1030H ;(BX)=1030H
MOV CL,3 ;(CL)=3
SHL BX,CL ;(BX)=8180H
DEC BX ;(BX)=817FH
四、设计题
1.现有两个双倍精度字数据1234FEDCH和11238765H,分别存放在数据段中从1000H和2000H 开始的存储单元中,低位在前,高位在后。

要求两数相加之后所得的和放在从1000H开始的内存单元中,设计该程序段。

;3_4_1.ASM
MOV SI,2000H ;SI指向2000H
MOV DI,1000H ;DI指向1000H
CLC ;CF=0
MOV CX,4 ;CX=4,循环相加4次
LL: MOV AL,[SI] ;取数
ADC AL,[DI] ;相加
MOV [DI],AL ;保存
INC SI ;SI增1
INC DI ;DI增1
LOOP LL ;CX减1,不为0,转LL
MOV AX,0
ADC AX,0
MOV [DI],AX
2.设AX、BX中保存有带符号数,CX、DX中保仔无符号数,请写出实现以下功能的指令或程序段。

(1)若(CX)<(DX),则转移到NEXT1。

CMP CX,DX
JB NEXT1
(2)若(AX)>(BX),则转移到NEXT2。

CMP AX,BX
JG NEXT2
(3)若(CX)=0,则转移到NEXT3。

CMP CX,0 或JCXZ NEXT3
JE NEXT3
(4)若AX中内容为负,则转移到NEXT4。

TEST AX,8000H 或ADD AX,0
JNZ NEXT4 或JS NEXT4
3.设堆栈寄存器(SS)=2250H。

堆栈指示器(SP)=0140H,若在堆栈中存入5个字数据,则SS、SP的内容各是多少?[(SS)=2250H、(SP)=0136H] 如果又取出2个字数据,SS、SP的内容各是多少?[(SS)=2250H、(SP)=013AH]
4 思考与练习题
一、选择题
1.汇编语言程序中可执行的指令位于( )中。

C
A.数据段
B.堆栈段
C.代码段
D.附加数据段
2.以下内容不是标号和变量属性的是( )。

B
A.段属性
B.地址属性
C.偏移属性
D.类型属性
3.DOS功能调用中采用屏幕显示单个字符,其值保存在( )寄存器。

C
A.AL
B.AH
C.DL
D.DH
4.DOS功能调用中,从键盘读取一个字符并回显的是( )。

A
A.01H
B.02H
C.09H
D.0AH
5.循环程序设计中,要考虑的核心问题是( )。

D
A.循环的控制
B.选择循环结构
C.设置循环参数初始值
D.修改循环控制参数
6.对于宏指令和子程序,下列说法不正确的是( )。

D
A.宏指令不能简化目标程序
B.子程序可以简化目标程序,但执行时间长
C.子程序在执行过程中由CPU 处理
D.宏指令在执行时要保护和恢复现场
二、填空题
1.汇编语言是一种面向_CPU 指令系统_的程序设计语言,采用_指令助记符_表示操作码和操作数,用_符号地址_表示操作数地址。

P82
2.汇编语言的语句可由_名字、操作符、操作数、注释_四部分组成;其中_操作符_是必须具备的。

P83
3.机器指令是指_发送给CPU 的命令_,在运行时由_CPU _执行;伪指令是_发送给汇编程序的命令_,在汇编过程中由_汇编程序_进行处理;宏指令是指_代表一段源程序_,通常用于_经常用到的一个程序段_场合。

P87、P107
4.子程序的基本结构包括_子程序说明、现场保护及恢复、子程序体、子程序返回_等几个部分;子程序的参数传递有_寄存器、堆栈、存储器_等方法。

P104、P105
5.DOS 功能调用可完成对_完成对文件、设备、内存_的管理;BIOS 的主要功能是_外设的控制;如系统加电自检、引导装入及对键盘、磁盘、显示器、打印机、异步串行通信口等的控制_。

6.给定如下程序段,在每条指令的右边写出指令的含义和操作功能,指出该程序段完成的功能及运行结果:
MOV AX,0 ;AX<=0
MOV BX,1 ;BX<=1
MOV CX,5 ;CX<=5
LP: ADD AX,BX ;AX<=AX+BX
ADD BX,2 ;BX<=BX+2
LOOP LP ;CX<=CX-1;若CX ≠0,转LP
HLT ;停机
(1)该程序段完成的功能是_∑+5
012n _。

(2)程序运行后:(AX)=_36_;(BX)= _11_;(CX)= _0_。

三、判断题
1.伪指令是在汇编中用于管理和控制计算机相关功能的指令。

( )×
2.程序中的“$”可指向下一个所能分配存储单元的偏移地址。

( )√
3.宏指令的引入是为了增加汇编程序的功能。

( )√
4.多重循环的内循环要完整地包含在外循环中,可嵌套和并列。

( )√
5.子程序结构缩短了程序的长度,节省了程序的存储空间。

( )√
四、简答题
1.完整的汇编源程序应该由哪些逻辑段组成(数据段、堆栈段、代码段)?各逻辑段的主要作用是什么(存放数据变量及其预置初值、保存中断和子程序的断点和参数传递、存放程序执行的代码)?P87
2.简述在机器上建立(为源程序起一个有意义的文件名字,并创建成文本文件)、编辑(在文本编辑软件EDIT.EXE 环境下,输入和编辑源程序)、汇编(通过汇编程序ASM.EXE 或MASN.EXE ,将源程序会变成机器语言目标程序.OBJ)、连接(运用连接程序LINK.EXE ,将目标程序.OBJ 连接生成执行程序.EXE)、运行(在DOS 状态下,直接运行执行程序)、调试(运用调试程序DEBUG.EXE 将执行程序跳入调试界面状态,并进行断点设置调试运行或单步调试运行操作)汇编语言源程序的过程和步骤。

P94
3.什么是伪指令(发送给汇编程序的命令)?程序中经常使用的伪指令有哪些(数据定义、符号定义、段定义、过程定义、结构定义、模块定义与连接、程序计数器$和起点定义ORG)?简述其主要功能(数据定义为变量及其类型分配存储单元,并赋予初值;符合定义给一个符号重新命名;段定义指定逻辑段的名称、范围、断的定位类型、组合类型和类别;过程定义为程序段定义成过程,并赋予过程名字,以便用CALL指令调用;结构定义用于相互关联的数据定义;模块定义与连接用NAME为源程序汇编后的目标程序指定模块名,以便连接该目标模块,并生成执行程序文件;$在汇编过程中,用于存储单元分配计数器,该计数器可在指令操作数表达式中引用;ORG为数据变量和程序段指定起始位置。

)?P87~P93
4.什么是宏指令(代表某功能的一段源程序)?宏指令在程序中如何被调用(在源程序中,通过宏名字(即宏指令名)进行调用)?P107
5.子程序与宏指令在程序的使用中有何共性(宏和子程序都可用来简化程序,并可使程序多次对它们调用。

)及不同特点(宏操作可直接传递和接收参数,不通过堆栈或其他媒介;子程序不能直接带参数,需有传递参数时,必须通过堆栈寄存器和存储器进行。

宏调用只能简化源程序的书写,并没有缩短目标代码长度;子程序调用能缩短目标程序长度。

应用好操作并不会在执行目标代码时增加额外的时间开销;子程序调用由于需要保护和恢复现场和断点,因而延长目标程序的执行时间)?P109
五、设计题
1.编程实现求S=(X2+Y2)/Z的值,并将结果放人RESULT单元。

;XT4_5_1.ASM
DATA SEGMENT ;定义数据段
X DW 15
Y DW -32
Z DW 280
RESULT DW 2 DUP(?) ;定义结果保存单元
DATA ENDS ;数据段结束
CODE SEGMENT ;定义代码段
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA ;初始化DS
MOV DS,AX
MOV AX,X ;取出被乘数X存入AX中
IMUL X ;执行X2操作
MOV CX,AX ;乘积的低位字转存至CX
MOV BX,DX ;乘积的高位字转存至BX
MOV AX,Y ;取出被乘数X存入AX中
IMUL Y ;执行Y2操作
ADD AX, CX ;X2+Y2的低位字与Z的低位字相加
ADC DX, BX ;X2+Y2的高位字相加
IDIV Z ;(X2+Y2)/Z
MOV RESULT,AX ;商存入RESULT单元
MOV RESULT+2,DX ;余数存入RESULT+2单元
MOV AH,4CH
INT 21H ;返回DOS
CODE ENDS ;代码段结束
END START ;汇编结束
2.编程序完成计算S=(A+B)/2-2(A AND B)。

;XT4_5_2.ASM
DATA SEGMENT ;定义数据段
A DW 15
B DW -32
S DW ?
RESULT DW 2 DUP(?) ;定义结果保存单元
DATA ENDS ;数据段结束
CODE SEGMENT ;定义代码段
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA ;初始化DS
MOV DS,AX
MOV AX,A ;取出被乘数A存入AX中
ADD AX, B ;A+B
SAR AX,1 ;(A+B)/2
MOV BX,AX ;存入BX中
MOV AX,A ;取出被乘数A存入AX中
AND AX, B ;A AND B
SAL AX,1 ;(A AND B)*2
SUB BX,AX ; (A+B)/2-2(A AND B)
MOV S,BX ;存入S单元
MOV AH,4CH
INT 21H ;返回DOS
CODE ENDS ;代码段结束
END START ;汇编结束
3.试编程实现将内存中的若干个无符号字数据中的最大值和最小值找出来,并开辟独立的存储区域保存结果。

;XT4_5_3.ASM
DATA SEGMENT
ARR DW 123,456,67,0,34,90,89,67,0,256
CN EQU ($-ARR)/2
ZD DW 0 ;最大(数组中任何数均大于AX内容)
ZX DW 0FFFFH ;最小(数组中任何数均小于BX内容)
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START: MOV AX,DATA
MOV DS,AX ;初始化DS
MOV SI,OFFSET ARR ;数组首地址送SI
MOV CX,CN ;数组元素个数送CX
CALL QZDZXS ;调用近过程QZDZXS(求最大最小数)
MOV AH,4CH
INT 21H ;返回DOS
;求最大最小数子程序名:QZDZXS
;子程序功能:求一组字数据中的最大最小数
;入口参数:数组首地址在SI中,数组个数在CX中
;出口参数:最大数在ZD中,最小数在ZX中
;使用寄存器:CX、DX、SI及PSW
QZDZXS PROC NEAR
PUSH SI
PUSH DX
PUSH CX ;保护现场
ZDZX0: MOV DX,[SI] ;取一个数组元素送DX
CMP ZD,DX ;AX中内容和DX中内容比较 JNB ZDZX1 ;(ZD)>(DX),转ZDZX1
MOV ZD,DX ;较大数存入ZD
ZDZX1: CMP ZX,DX ;AX中内容和DX中内容比较 JNA ZDZX2 ;(ZX)<(DX),转ZDZX1
MOV ZX,DX ;较小数存入ZX
ZDZX2: ADD SI,2 ;数组指针加2调整
LOOP ZDZX0 ;循环控制
POP CX
POP DX
POP SI ;恢复现场
RET ;返回主程序
QZDZXS ENDP ;子程序定义结束
CODE ENDS ;代码段结束
END START ;汇编结束
4.编写程序,计算如下函数的值:
;XT4_5_4.ASM
DATA SEGMENT
X DB 15
S DB ?
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA, CS:CODE
START: MOV AX,DATA
MOV DS,AX
MOV AL,X
TEST AL,80H
JZ LL0
SAL AL,1 ;2X
JMP LL10
LL0: CMP AL,10
JG LL1
MOV BL,AL
SAL AL,1 ;3X
ADD AL,BL
JMP LL10
LL1: SAL AL,1 ;4X
SAL AL,1
LL10: MOV S,AL
MOV AH,4CH
INT 21H ;返回DOS
CODE ENDS
END START ;汇编结束
5.从键盘输入一系列字符,以回车符结束,编写程序统计其中非数字字符的个数?;XT4_5_5.ASM
DATA SEGMENT
NUM DB 0 ;统计变量
DATA ENDS
STACK SEGMENT STACK ;定义堆栈段
DB 100 DUP(?) ;开辟100个存储单元
STACK ENDS ;堆栈段结束
CODE SEGMENT ;定义代码段
ASSUME CS:CODE,SS:STACK,DS:DATA
START: MOV AX,DATA
MOV DS,AX
LLL: MOV AH,01H ;1号调用,从键盘输入一字符存入AL INT 21H
CMP AL,13 ;与“回车符”的ASCII码比较
JZ L2 ;是“回车符”,转L2(退出)
CMP AL,30H ;与“0”的ASCII码比较
JB L1;低于“0”的非数字字符ASCII码,转L1(统计)。

CMP AL,39H ;与“9”的ASCII码比较
JA L1 ;高于“9”的非数字字符ASCII码,转L1(统计)。

JMP LLL
L1: INC NUM ;非数字字符,统计;计数增1。

JMP LLL ;转LLL(继续)
L2: MOV DL,0AH ;设置换行符
MOV AH,02H ;设置显示功能号
INT 21H ;换行
MOV DL,NUM ;设置显示统计数字(8位二进制数)
MOV CL,4
SHR DL,CL ;保留高4位二进制数
OR DL,30H ;转换成ASCII码(高1位十六制数的ASCII)
MOV AH,02H ;设置显示功能号
INT 21H ;显示高1位十六制数的ASCII
MOV DL,NUM ;设置显示统计数字(8位二进制数)
AND DL,0FH ; 保留低4位二进制数
OR DL,30H ;转换成ASCII码(低1位十六制数得ASCII)
MOV AH,02H ; 设置显示功能号
INT 21H ; 显示低1位十六制数的ASCII
MOV DL,’H’; 设置显示’H’
MOV AH,02H ; 设置显示功能号
INT 21H ; 显示’H’
MOV AH,4CH ;设置返回DOS功能码。

INT 21H ;返回DOS
CODE ENDS ;代码段结束
END START ;程序汇编结束
6.编程实现将键盘连续输入的小写字母用大写字母显示出来,小写字母与大写字母之间采用“-”号分隔,当输入非小写字母时程序停止处理。

;XT4_5_6.ASM
STACK SEGMENT STACK ;定义堆栈段
DB 100 DUP(?) ;开辟100个存储单元
STACK ENDS ;堆栈段结束
CODE SEGMENT ;定义代码段
ASSUME CS:CODE,SS:STACK
START: MOV AH,01H ;1号调用,从键盘输入一字符存入AL
INT 21H ;输入并回显
MOV BL,AL ;保存从键盘输入字符
CMP AL,’a’ ;与“a”的ASCII码比较
JB L3 ;低于“a”的ASCII码,转L3(退出)。

CMP AL,’z’ ;与“z”的ASCII码比较
JA L3 ;高于“a”的ASCII码,转L3(退出)。

SUB AL,20H ;将AL中字符的ASCII码减去20H变成大写字母。

MOV BL,AL ;保存结果
MOV DL,‘-’ ;显示字符‘-’送DL
MOV AH,02H ;2号调用,在显示器上显示字符‘-’。

INT 21H ;显示‘-’
MOV DL,BL ;结果(大写字母)送DL。

MOV AH,02H ;2号调用,在显示器上显示DL中的内容(大写字母)。

INT 21H ;显示大写字母
MOV DL,20H ;空格送DL。

()
MOV AH,02H ;2号调用,在显示器上显示DL中的内容(大写字母)。

INT 21H ;显示空格(使两结果用空格隔开)
JMP START ;不是“回车符”,转START(继续)
L3: MOV AH,4CH ;是“回车符”,设置返回DOS功能码。

INT 21H ;返回DOS
CODE ENDS ;代码段结束
END START ;程序汇编结柬
7.在数据段中有一个字节数组,编程统计其中正数的个数放入、单元保存,统计负数的个数放入B单元保存。

;XT4_7.ASM
DATA SEGMENT
ARR DB -13,46,67,0,-34,-90,89,67,0,26
CN EQU $-ARR ;数组长度
A DW ? ;正数个数统计结果变量
B DW ? ;负数个数统计结果变量
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
START: MOV AX,DATA
MOV DS,AX ;初始化
MOV SI,OFFSET ARR ;数组首地址送SI
MOV CX,CN ;数组元素个数送CX
L0: MOV DL,[SI] ;取一个数组元素送DX
TEST DL,80H ;DX中内容和0比较
JNZ NE0 ;小于0转NE0
INC A ;否则为正数,A内容加1
JMP L1 ;转L1
NE0: INC B ;为负数,B内容加1
L1: ADD SI,1 ;数组指针加1调整
LOOP L0 ;循环控制
MOV AH,4CH
INT 21H ;返回DOS
CODE ENDS ;代码段结束
END START ;汇编结束
8.编程实现定义一条宏指令,完成将一位十六进制数转换为ASCII码的操作。

;XT4_5_8.ASM
; 分析:将AL的低4位(一位十六进制数)转换成ASCII码,并通过AL返回。

H_ASCII MACRO
AND AL,0FH
CMP AL,9
JG
OR AL,30H
JMP L2
L1: OR AL,40H
L2: ENDM
5 思考与练习题
一、选择题
1.微机中地址总线的作用是( )。

C
A.选择存储单元
B.选择信息传输的设备
C.指定存储单元和I/O接口电路地址
D.确定操作对象
2.微机中使用总线结构便于增减外设,同时可以( )。

C
A.减少信息传输量
B.提高信息传输量
C.减少信息传输线条数
D.增加信息传输线条数
3.可将微处理器、内存储器及I/O接口连接起来的总线是( )。

C
A.芯片总线
B.外设总线
C.系统总线
D.局部总线
4.CPU与计算机的高速外设进行信息传输采用的总线是( )。

D
A.芯片总线
B.系统总线
C.局部总线
D.外部设备总线
5.要求传送64位数据信息,应选用的总线是( )。

C
A.ISA
B.I2C
C.PCI
D.AGP
6.以下不属于USB主要特点的是( )。

D
A.可以热插拔
B.数据传输快速
C.携带方便
D.可并行处理
二、填空题
1.总线是微机系统中_多个部件之间公用的_一组连线,是系统中各个部件_信息交换的_公共通道,由它构成_芯片、插件或系统之间的_标准信息通路。

P116
2.微机总线一般分为_内部总线、系统总线和外部总线_三类。

用于插件板一级互连的是_系统总线_;用于设备一级互连的是_外部总线_。

P116~117
3.总线宽度是指_可同时传送的二进制数据的位数_;数据传输率是指_在单位时间内总线上可传送的数据总量_。

P120
4.AGP总线是一种_高速图形接口局部总线标准_;主要用于_高速视频或高品质画面的显示_场合。

P132
B总线是一种_支持即插即用的新型串行_接口;其主要特点是_使用方便、速度加快、
连接灵活、独立供电、支持多媒体_。

P133~134
6.IEEE1394是一种_新型的高速串行_总线。

主要应用于_超过100Kbit/s的硬盘和视频设备_。

P134
三、简答题
1.在微型机系统中采用标准总线的好处有哪些(系统结构简单清晰,便于系统扩充与更新)?P116
2.PCI总线有哪些主要特点[P129(1)~(6)],PCI总线结构与ISA总线结构有什么地方不同(ISA总线属于低端总线[P121];PCI属于高端总线[P121])?
3.什么是AGP总线(高速图形接口局部总线标准)?它有哪些主要特点[P132(1)~(4)],应用在什么场合(高速视频或高品质画面的显示)?P132
B接口有什么特点(使用方便、速度加快、连接灵活、独立供电、支持多媒体)P133~134?USB的数据传送有哪几种方式(控制传输方式、同步传输方式、中断传输方式、批量传输方式)P134?
5.IEEE1394与USB两种串行总线各有什么区别(IEEE1394的设备采用内存编址方法;USB 设备采用I/O通道编址方法)P138?
6.简述I2C总线的特点和工作原理(P139~141)。

7.讨论在开发和使用微机应用系统时应怎样合理地选择总线,需要注意哪些问题(P141本章小结)。

6 思考与练习题
一、选择题
1.存储器的主要作用是( )。

D
A.存放数据
B.存放程序
C.存放指令
D.存放数据和程序
2.以下存储器中,CPU不能直接访问的是( )。

D
A.Cache
B.RAM
C.主存
D.辅存
3.以下属于DRAM特点的是( )。

C
A.只能读出
B.只能写入
C.信息需定时刷新
D.不断电信息能长久保存
4.某存储器容量为64K x 16,该存储器的地址线和数据线条数分别为( )。

C
A.16,32
B.32,16
C.16,16
D.32,32
5.采用虚拟存储器的目的是( )。

C
A.提高主存的存取速度
B.提高辅存的存取速度
C.扩大主存的存储空间
D.扩大辅存的存储空间
二、填空题
1.存储容量是指_二进制信息总量_;容量越大,能存储的_二进制信息_越多,系统的处理能力就_越强_。

P144
2.RAM的特点是_通过指令可随机地对存储单元进行访问_;根据存储原理可分为_静态RAM_和_动态RAM_,其中要求定时对其进行刷新的是_动态RAM_。

P148
3.Cache是一种_高速小容量_的存储器,位于_CPU_和_主存_之间,用来存放_CPU正在使用的指令和数据_;使用Cache的目的是_提高CPU访问存储器的存取速度,减少处理器的等待时间_。

P144 P165
4.虚拟存储器是以_存储器访问局限性_为基础,建立在_主存-辅存_物理体系结构上的_主存与辅存之间的数据交换_技术。

P167
5.计算机中采用_主存-辅存和Cache-主存_两个存储层次,来解决_存储器的速度、容量和价格_之间的矛盾。

P146
三、判断题。

相关文档
最新文档