软件部分总复习Word文件下载.docx
《软件部分总复习Word文件下载.docx》由会员分享,可在线阅读,更多相关《软件部分总复习Word文件下载.docx(27页珍藏版)》请在冰豆网上搜索。
软件部分作业
(2)
一,单项选择题
1计算机中,关于字长的概念与()有关。
A.微处理器的数据总线宽度
B.微处理器的地址总线宽度
C.微处理器的控制总线数
D.微处理器的寄存器数
【解】A
2.称8086为16位的CPU,说明()
A.8086CPU有16条数据线
B.8086CPU有16条地址线
C.8086CPU有16条控制线
D.8086CPU有16个寄存器
3.计算机中,微处理器的寻址范围与()有关。
A.微处理器的数据总线宽度B.微处理器的地址总线宽度
C.微处理器的控制总线数D.微处理器的寄存器数
【解】B
4.↑用MB表示存储器容量时,1MB等于()。
A.2↑l0个字节B.2↑16个字节C.2↑20个字节D.2↑32个字节
【解】C
5.某微处理器的寻址范围为64K,则该微处理器的地址线为(
A.8条B.16条C.20条D.64K条
6.8088CPU的地址总线宽度为20,它的寻址范围为()。
A.64KB.100KC.1000KD.1024K
【解】D
7.完整的计算机系统应该包括()。
A.运算器、存储器和控制器B.主机和外设.
C.主机和应用程序D.硬件系统和软件系统
8.8086CPU从功能结构上看,是由()组成的。
A.控制器和运算器B.控制器、运算器和寄存器
C.控制器和20位物理地址加法器D.执行单元和总线接口单元
9.8086CPU的控制标志位有()位。
A.1B.3C.6D.9
10.8086CPU复位后,下列寄存器的值正确答案为()。
A.CS=0000H,IP=0000HB.CS=0000H,IP=FFFFH
C.CS=FFFFH,IP=0000HD.CS=FFFFH,IP=FFFFH
11.下列逻辑地址中对应不同的物理地址的是()。
A.0400H:
0340HB.0420H:
0140H
C.03EOH:
0740HD.03COH:
0740H
12.8086CPU当前被执行的指令存放在逻辑地址()中。
A.DS:
BX3.SS:
SPC.CS:
PCD.CS:
IP
13.堆栈存储器存取数据的方式是()。
A.先进先出B.随机存取C.先进后出D.都可以
*14.当8086CPU从存储器单元读数据时,有()。
A./RD=0、/WR=0B./RD=0、/WR=1
C./RD=l、/WR=0D./RD=1、/WR=1
14.Pentium微处理器的内部数据宽度是()位。
A.16B.32C.36D.64
15.Pentium微处理器中共有段寄存器()个。
A•4B.5C.6D.7
16.80386CPU保护模式下程序的最大地址空间是()。
A.4KBB.1MKBC.2GBD.4GB
17.在计等机中,节的英文名字是()。
A.bitB.byteC.boutD.bps
18.决定计算机主要性能的是()。
A.中央处理器B.整机功耗C.存储容量
【解】A
软件部分作业(3)
1.8086CPU中包含了寄存器和存储器。
(×
)
2.存储器是计算机系统中不可缺少的器件。
(√)
3.8086CPU和8088CPU的字长均为16位。
4.8086CPU和8088CPU的片内数据线宽度均为16位。
5.8086CPU和8088CPU的地址线均为20位。
6.因8086的段首地址和段内偏移地址均为16位,则8086的地址线为32位。
8.8086CPU执行转移指令时,指令队列中的原内容不变。
10.8086CPU的EU单元中,ALU为16位加法器。
13.8086CPU,允许在一个存储单元中存入8位数据或者16位数据。
16.8086系统中,物理地址和逻辑地址都是惟一的。
17.8086CPU不允许多个逻辑段重叠或交叉。
23.8086CPU将lMB的存储空问分为两个512KB的存储库。
39.8086CPU指令队列满足先进后出的原则。
40.堆栈指针SP总是指向堆栈的栈底。
3-3已知8086中一些寄存器的内容和一些存储单元的内容如图所示,试指出下列条
指令执行后,AX中的内容。
(1)
MOVAX,2010H
(2)
MOVAX,BX
(3)MOVAX,[1200H]
(4)MOVAX,[BX]
(5)(5)MOVAX,1100H[BX]
(6)(5)MOVAX,[BX][SI]
(7)MOVAX,1100H[BX+SI]
(8)MOVLEAAX,[SI]
【解】
(1)MoVAX,2010H(AX)=2010H
(2)MOVAX,BX(AX)=0100H
(3)MOVAX,[1200H](AX)=4C2AH
(4)MOVAX,[BX](AX)=3412H
(5)MOVAX,[1100H[13X](AX)=4C2AH
图
(6)MOVAX,[BX][SI](AX)=7856H
(7)MOVAX,1100H[BX+SI](AX)=6587H
(8)MOVLEAAx,[SI](AX)=0002H
3-4已知(AX)=2040H,(DX)=380H,端口(PORT)=(80H)=1FH,(PORT+1)=45H,执行下列指令后,指出结果等于多少?
(1)OUTDX,AL(0380H)=40H
(2)OUTDX,AX(380H)=40H(381H)=20H
(3)INAL,PORT(AL)=1FH
(4)INAX,80H(AX)=451FH
(5)OUTPORT1,AL(PORT1)=40H
(6)OUTPORT1,AX(PORT1)=2040H
3-5已知:
(SS)=0A2FOH,(5P)=00C0H,(AX)=8B31H,(CX)=0F213H,试画出下列指令执行到位置1和位置2时堆栈区和SP指针内容的变化示意图。
图中应标出存储单元的实际地址PA。
PUSHAX
PUSHCX:
位置1
POPF:
位置2
【解】已知(SS)=0A2F0H,指令顺序依次编号为①、②、③,示意图见图3-2。
13H
F2H
8BH
(SS)=0A2F0H
←②(SP)-4=00BCH(位置1)
0A2FBCH
←①(SP)-2=00BEH③(SP)+2=00BCH+0002H=00BEH(位置2)
0A2FBFH
图3-2
←(SP)=00COH
0A2FCOH
3-6识别下列指令的正确性,对错误的指令,说明出错的原因
(1)MOVDS,100
(2)MOV[1000H],23H
(3)MOV[1000H],[2000H]
(4)MOVDATA,1133H
(5)MOV1020H,DX
(6)MOVAX,[0100H+BX+BP]
(7)MOVCS,AX
(8)PUSHAL
(9)PUSHWORDPTR[SI]
(10)INAL,[80H]
(11)OUTCX,AL
(12)AX,380H
(13)MOVCL,3300H
(14)MOVAX,2100H[BP]
(15)MOVDS,ES
(16)MOVIP,2000H
(17)PUSHCS
(18)POPCS
(19)LDSCS,[BX]
(20)MOVGAMMA,CS
(1)×
不能对段寄存器送立即数
(2)×
存储单元类型不确定
(3)×
MOV不能实现两个存储单元间直接传送
(4)×
段名不能作目的操作数
(5)×
立即数不能作目的操作数
(6)×
基址寄存器BX和BP只能使用其中一个
(7)×
CS不能用作目的操作数
(8)×
堆栈操作作为字操作AL应改为AX
(9)√
(10)×
80H为输入端口号不加方括号
(11)×
应输出到端口而不是通用寄存器
(12)×
用DX作间址寄存器380H应存DX
(13)×
类型不匹配
(14)√,
(15)×
两个段寄存器间不能直接传送
(16)×
IP不能直接用作目的操作数
(17)√,
(18)×
CS不能做目的操作数
(19)×
目的操作数应是通用寄存器而不能是段寄存器CS
(20)×
符号名不能作为目的操作数
3-8已知数据如图3.3所示,数据是低位在前,按下列要求编写程序段:
1.完成NUM1和MM2两个字数据相加,和存放在NUM1中。
2.完成NUM1单元开始的连续4个字节数据相加,和不超过一字节,放在SUM单元。
3.完成NUM1单元开始的连续8个字节数据相加,和为16位数,放在SUM和
SUM+1两个单元(用循环)。
4.完成NUM1和NUM2的双倍精度字数据相加,和放在NUM2开始的字单元中。
1.CLC2.LEASI,NUM1
LEASI,NUMlMoVAL,【SI】
MOVAX,WORDPTR[SI]ADDAL,l[SI】
ADDAX,WoRDPTRNUM2ADDAL,2[SI]
MOVWORDPTR[SI],AXADDAL,3[SI]
MOVAX,WORDPTR[SI+2]MOVSUM,AL
ADCAX,WORDPTRNUM2+2HLT
MOVWORDPTR[SI+2],AX
HLT
3.CLC4.LEASI,NUMl
CLDLEADI,NUM1
LEASI,NUM1MOVAX,[S11
MOVAL,[SI]ADDAX,[SI]
MOVAH,0MOV[DI],AX
MOVCX,7MOVAX,2[SI]
XORBH,BHADCAX,2[DI]
AGA:
MOVBL,1[SI]MOV2[DI],AX
ADCAX,BX
INCSI
DECCX
JNZAGA
MOVSUM,AX
HLT
3-10写出下列程序段完成的数学计算公式,并画出数据存放的
X
X+2
Y
Y+2
Z
Z+2
W
W+2
示意图。
MOVAX,X
MOVDX,X+2
ADDAX,Y
ADCDX,Y+2
SUBAX,Z
SBBDX,Z+2
MOVW,AX
MOVW+2,DX
【解】W:
X+Y-Z,数据存放示意图如图文尊所示。
图3-4数据存放示意图
3-17写出下列程序段执行后的结果:
(AL)=?
(DL)=?
完成的是什么功能?
MOVCL,4
MOVAL,87
MOVDL,AL
ANDAL,0FH
ORAL,30H
SHRDL,CL
0RDL,30H
【解】完成与、或、移位等逻辑运算,运算结果:
(AL)=37H;
(DL)=35H
(2)MOVAL,X
SALAL,1(AL)=2*X
MOVBL,AL(BL)=X*2
SALAL,1(AL)=4*X
SALAL,l(AL)=8*X
ADDAL,BL(AL)=8*X+2*X=10*X
3-18用乘法指令和用传送、移位、相加指令分别实现Y=10X的运算,设X=12H,分别编写这两个程序段。
(1)MOVAL,X
MOVCL,10
MULCL
3-19写出下面指令序列完成的数学计算是什么?
MOVCL,3
SHLAX,CL
SHLBL,CL
SHLCX,CL
SHLDH,CL
【解】将一多精度数(6字节)乘以8
3-20写出下列能代替重复串操作指令完成同样功能的指令序列。
(1)REPMOVSW
(2)REPCMPSB
(3)REPSCASB
(4)PEPLODSW
(5)REPSTOSB
(3)MOVDI,OFFSETCOMMAND
MOVAL,”
MOVCX,N
CLD
NEXT:
SCASB
JZFOUND
LOOPNEXT
RET
(4)MOVSI,OFFSETBUF
NEXT:
LODSW
MOVRES,AX
(1)LEASI,AREAl
LEADI,AREA2
AGA:
MOVAX,DS:
[SI]
MOVES:
[DI],AX
INCSI
INCDI
DECCX
JNZAGA
(2)LEASI,VAR1
(5)MOVDI,OFFSETBUF
STOSB
JNZNEXT
LEADI,VAR2
CMPSB
JNZFlN
L00PNEXT
3-30用DOS系统功能调用编写一个程序,能将3-17题中的结果在屏幕上显示出来。
【解】已知3-17题的结果是:
(AL)=37H,(DL)=35H。
程序如下:
MOVBL,ALINT21H
MOVDH,DLMOVDL,DH
MOVCL,4MOVCL,4
SHRAL,CLSHRDL,CL
ORAL,30HORDL,30H
MOVDL,ALMOVAH,02H
MOVAH,02HINT21H
软件部分作业(4)
一、单项选择
3-1常用来设置一个16位寄存器作地址指针的指令是()。
A.LAI-IFB.LEAC.LESD.LDS
3-2乘法指令中的两个操作数,其中有一个是固定隐含在()中。
A.AL,AXB.BL,BXC.CL,CXD.DL,DX
3-3对于SALAL,1指令,若AL中,带符号在指令执行后符号有变,则可以通过()来确认。
A.OF=IB.OF--0C.CF=ID.CF=0
3-4在移位类指令中,不仅仅是在空缺位补零的指令是()。
A.SALB.SARC.SHLD.SHR
3-5移位类指令使用时,若需移动多位,则应该先将该位数置于()。
A.ALB.AHC.CLD.CH
3-6如果要实现正确返回,则CALL指令和()指令两者必须成对出现,且属性相同。
A.MACROB.JCCC.RETD.END
3-7条件转移指令JNO的转移条件是()。
A.CF=0B.ZF=0C.OF=0D.PF=0
3-8在程序运行过程中,下一条指令的物理地址的计算表达式是()。
A.CS*16+IPB.DS*16+DIC.SS*16+SPD.DS*16+SI
3-9指令REPESCASB执行以后,如果ZF=1,则表示()。
A.在此字符串中,没有找到指定字符B.已经找到要查找的字符
C.两个字符串相等D.此字符串是由同一字符组成
3-10指令LOOPNE/LOOPNZ结束循环的条件是()。
A.ZF=1或(CX)=0B.ZF=0或(CX)≠0
C.ZF=0或(CX)=0D.ZF=l或(CX)≠0
3-11AX,BX中都是带符号数,如(AX)<
(BX)时,转移到NEXT处,在CMPAX,BX指令后选用的指令是()。
A.JBB.JNLC.JLD.JLE
3-12AX-(BX)-(CX)功能的错误指令序列是()。
A.SUBBX,CXB.SUBAX,BXC.XCHGAX,BXD.MOVAX,BX
MOVAX,BXSUBAX,CXSUBAX,CXSUBAX,CX
3-13执行功能1号DOS系统功能调用后,从键盘输入的字符应存放在()
A.ALB.BLC.CLD.DL
【解】A
3-14当十进制一79与一102相加以后,设置的进位CF和溢出位OF的值是()
A.CF=0,0F=1B.CF=1,OF=1C.CF=0,0F=0D.CF=1,OF=0
3-15在8086/8088基址变址寻址指令中,允许使用的寄存器有()。
A.AX,BX,CX,DXB.SP,IP
C.CS,ES,DS,SSD.BX,BP,SI,DI
3-16AND、OR、XOR、NOT为四条逻辑运算指令,下面那些解释有误()。
A.它们都是按位操作的
B.指令XORAX,AX执行后,结果不变,但是设置了标志位
C.指令ANDAX,000FH执行后,分离出AL低四位
D.若(ADRl)=09H,(ADR2)=30H,两数相“或”后,结果为39H。
3-17下列语句中有语法错误的语句是()。
A.MOVAX,[BX][BP]B.ADDAX,[BX]
C.CMP[BX],0FHD.LEASI,20H[BX]
3-18在取指令MOVBX,0123H的源操作数时,使用的逻辑地址是()。
A.SP:
0123B.DS:
0123HC.CS:
IPD.ES:
0123H
3-19两个非组合BCD码数据相减后,执行减法调整指令AAS时,首先检查是否需要校正。
需要调整的条件是()。
A.AL中的数值>
9,且AF=1B.AL中低四位数>
9,且AF=1
C.AL中的数值>
9,或AF=1D.AL中低四位数>
9,或AF=1
3-20用REPNECMPSB指令作两个字符串比较时,如果Cx≠0比较结束,其原因是()。
A.两个字符相等B.两个字符不等
C.两个字符串长度不等D.字符串大小不同
3-21CLD
MOVSW
执行以上两条指令后SI/DI的变化是()。
A.加2B.减2C.加1D.减1
二、填空题
3-41执行指令MOVAX,0
MOVAL,09H
ADDAL,04H
①若要获得(AX)=13H,则在ADD指令后面加一条指令
(1)。
②若要获得(AX)=0103H,则在ADD指令后面加一条指令
(2)。
【解】
(1)DAA
(2)AAA
3-42已知DAl变量单元中存放数据134D,问执行下面程序段后的结果:
DAlDB134LOP:
DIVDL
:
MOVBL,AH
MOVAL,DAlMOVBH,0
MOVAH,0PUSHBX
MOVCX,3MOVAH,0
MOVDL,10LOOPLOP
当执行完这段程序时,它向堆栈压了
(1)个数,压人的第一个数值是
(2),执行后(AL)=(3)。
(1)3
(2)0004H(3)00H
3-43下面一段程序完成对某一缓冲区清零,缓冲区长度为100个字,缓冲区首址DI=0200H,并设(ES)=3000H,试填空。
MOVAX,3000H
MOVES,AX
MOVDI,0200H
(1)
MOVAL,00H
REPSTOSB
【解】
(1)MOVCX,200
3-45
3132H
31322H
32320H
32322H
32324H
22
13
24
…
00
10
20
30
以下是一个完整子程序DISPL,该程序利用DOS功能
调用INT21H,将一个DL中的字节数据的低4位以
ASCII码的形式显示出来。
试填写程序空白。
DISPL
(1)
(2)
CMPDL,9
JBENEXT
ADDDL,7
ADDDL,30H
(3)
(4)
图3-7
DISPLENDP
(1)PROCNEAR
(2)ADDDL,0FH(3)MOVAH,2(4)INT21H
3-46在X1起始地址中,有10个有符号字节数