1.试填写下列CPU中通用寄存器(GP)的宽度。
【解】(1)8086(16) (2)8088(8) (3)80286(16) (4)80386(32)
(5)80486(32)(6)Pentium(32) (7)PentiumII(32) (8)PentiumIII(32) (9)Pentium4(32)
2. 有一个由20个字组成的数据区,其起始地址为610AH:lCE7H。试写出该数据区首末单元的实际地址PA。
【解】 数据区的起始地址为610AH:lCE7H,连续存放20个字数据,占用40个存储单元,28H。
末尾地址为610AH:1DOEH
起始地址的PA=610A0H+1CE7H=62D87H
末尾地址的PA=610A0H+1D0EH=62DAEH ,
3. 若一个程序段开始执行之前,(CS)=97F0H、(IP)=1B40H。试问该程序段启动执行指令的实际地址是多少?
【解】 实际地址=97F00H+1B40H=99A40H
4.若堆栈段寄存器(SS)=3A50H,堆栈指针(SP)=1500H,试问这时堆栈栈顶的实际地址是多少?
【解】实际地址=3A500H+1500H=3BA00H
一, 单项选择题
1计算机中,关于字长的概念与( )有关。 A.微处理器的数据总线宽度 B.微处理器的地址总线宽度 C.微处理器的控制总线数 D.微处理器的寄存器数
2.称8086为16位的CPU,说明( ) A.8086CPU有16条数据线 B.8086CPU有16条地址线 C.8086 CPU有16条控制线 D.8086CPU有16个寄存器
3.计算机中,微处理器的寻址范围与( )有关。
A.微处理器的数据总线宽度 B.微处理器的地址总线宽度 C.微处理器的控制总线数 D.微处理器的寄存器数 4.用MB表示存储器容量时,1MB等于( )。
A.2l0个字节 B.216个字节 C.220个字节 D.232个字节 5.某微处理器的寻址范围为64K,则该微处理器的地址线为( ) A.8条 B.16条 C.20条 D.64K条
6. 8088 CPU的地址总线宽度为20, 它的寻址范围为( )。 A.64K B.100K C.1000K D.1024K 7.完整的计算机系统应该包括( )。
A.运算器、存储器和控制器 B.主机和外设 .
C.主机和应用程序 D.硬件系统和软件系统
8. 8086 CPU从功能结构上看, 是由( )组成的。 A.控制器和运算器 B.控制器、运算器和寄存器
C.控制器和20位物理地址加法器 D.执行单元和总线接口单元 9.8086 CPU的控制标志位有( )位。 A.1 B.3 C.6 D.9
10.8086 CPU复位后,下列寄存器的值正确答案为 ( )。 A.CS=0000H, IP=0000H B.CS=0000H, IP=FFFFH C. CS=FFFFH, IP=0000H D.CS=FFFFH, IP=FFFFH 11.下列逻辑地址中对应不同的物理地址的是( )。 A.0400H:0340H B.0420H:0140H C.03EOH:0740H D.03COH:0740H
12. 8086 CPU当前被执行的指令存放在逻辑地址( )中。 A.DS:BX 3.SS:SP C.CS:PC D.CS:IP 13.堆栈存储器存取数据的方式是( )。
A.先进先出 B.随机存取 C.先进后出 D.都可以 *14.当8086 CPU从存储器单元读数据时,有( )。 A./RD=0、/WR=0 B./RD=0、/WR=1 C./RD=l、/WR=0 D./RD=1、/WR=1
15. Pentium微处理器中共有段寄存器( )个。 A?4 B.5 C.6 D.7
16. 80386 CPU保护模式下程序的最大地址空间是( )。 A.4KB B.1MKB C.2GB D.4GB 17. 在计等机中,字节的英文名字是( )。 A.bit B.byte C.bout D.bps 18. 决定计算机主要性能的是( )。
A.中央处理器 B.整机功耗 C.存储容量 D.指令数量
1 .8086 CPU中包含了寄存器和存储器。(×) 2.存储器是计算机系统中不可缺少的器件。(√)
3 .8086CPU和8088CPU的片内数据线宽度均为16位。(√) 5 .8086 CPU和8088 CPU的地址线均为20位。(√)
6.因8086的段首地址和段内偏移地址均为16位,则8086的地址线为32位。(×) 9. 8086 CPU的EU单元中,ALU为16位加法器。(√) 11 .8086系统中,物理地址和逻辑地址都是惟一的。(×) 12 .8086 CPU不允许多个逻辑段重叠或交叉。(×)
13 .8086 CPU将lMB的存储空问分为两个512KB的存储库。(√) 14 .8086 CPU指令队列满足先进后出的原则。(×) 15.堆栈指针SP总是指向堆栈的栈底。(×)
3-2 已知(AX)=2040H,(DX)=380H,端口(PORT)=(80H)=1FH,(PORT+1)=45H,执行下列指令后,指出结果等于多少? (不要求完全掌握) 【解】
(1)OUT DX,AL (0380H)=40H
(2)OUT DX,AX (380H)=40H (381H)=20H (3)IN AL,PORT (AL)=1FH (4)IN AX,80H (AX)=451FH (5)OUT PORT1,AL (PORT1)=40H (6)OUT PORT1,AX (PORT1)=2040H
3-4识别下列指令的正确性,对错误的指令,说明出错的原因。(不要求完全掌握) (1)MOV DS,100
(2)MOV [1000H],23H (3)MOV [1000H],[2000H]
(4)MOV DATA,1133H (5)MOV 1020H,DX
(6)MOV AX,[0100H+BX+BP] (7)MOVCS,AX (8)PUSH AL
(9)PUSH WORD PTR[SI] (10)IN AL,[80H] (11)OUT CX,AL (12)AX,380H
(13)MOV CL,3300H (14)MOV AX,2100H[BP] (15)MOV DS,ES (16)MOV IP,2000H (17)PUSH CS (18)POP CS
(19)LDS CS,[BX] (20)MOV GAMMA,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-17写出下列程序段执行后的结果:(AL)=?(DL)=?完成的是什么功能?
MOV CL,4 MOV AL,87 MOV DL,AL AND AL,0FH OR AL,30H SHR DL,CL 0R DL,30H
【解】 完成与、或、移位等逻辑运算,运算结果:(AL)=37H;(DL)=35H
一、单项选择
3-1常用来设置一个16位寄存器作地址指针的指令是( )。 A.LAI-IF B.LEA C.LES D.LDS 【解】 B
3-2乘法指令中的两个操作数,其中有一个是固定隐含在( )中。 A.AL,AX B.BL,BX C.CL,CX D.DL,DX 【解】 A
3-5移位类指令使用时,若需移动多位,则应该先将该位数置于( )。 A.AL B.AH C.CL D.CH 【解】 C
3-6如果要实现正确返回,则CALL指令和( )指令两者必须成对出现,且属性
相同。
A.MACRO B.JCC C.RET D.END 【解】 C
3-7条件转移指令JNO的转移条件是( )。
A.CF=0 B.ZF=0 C.OF=0 D.PF=0 【解】 C
3-8在程序运行过程中,下一条指令的物理地址的计算表达式是( )。 A.CS*16+IP B.DS*16+DI C.SS*16+SP D.DS*16+SI 【解】 A
3-10指令LOOPNE/LOOPNZ结束循环的条件是( )。 A.ZF=1或(CX)=0 B.ZF=0或(CX)≠0 C.ZF=0或(CX)=0 D.ZF=l或(CX)≠0 【解】 A
3-11 AX,BX中都是带符号数,如(AX)<(BX)时,转移到NEXT处,
在CMP AX, BX指令后选用的指令是( )。 A.JB B.JNL C.JL D.JLE 【解】 C
3-12 实现AX=(BX)-(CX)功能的错误指令序列是( )。
A.SUB BX,CX B.SUB AX,BX C.XCHG AX,BX D.MOV AX,BX
MOV AX,BX SUB AX,CX SUB AX,CX SUB AX,CX
【解】 B
3-13执行功能1号DOS系统功能调用后,从键盘输入的字符存放在( ) A.AL B.BL C.CL D.DL 【解】 A
3-15在8086/8088基址变址寻址指令中,允许当地址寄存器使用的寄存器有( )。
A.AX,BX,CX,DX B.SP,IP
C.CS,ES,DS,SS D.BX,BP,SI,DI 【解】 D
3-16 AND、OR、XOR、NOT为四条逻辑运算指令,下面那些解释有误( )。 A.它们都是按位操作的
B.指令XOR AX,AX执行后,结果不变,但是设置了标志位 C.指令ANDAX,000FH执行后,分离出AL低四位
D.若(ADRl)=09H,(ADR2)=30H,两数相“或”后,结果为39H。 【解】 B
3-17下列语句中有语法错误的语句是( )。 A.MOV AX,[BX][BP] B.ADD AX,[BX]
C.CMP[BX],0FH D.MOV SI, 20H[BX] 【解】 A
3-18在取指令MOV BX,0123H的源操作数时,使用的逻辑地址是( )。 A.SP:0123 B.DS:0123H C.CS:IP D.ES:0123H 【解】 C
3-19两个非组合BCD码数据相减后,执行减法调整指令AAS时,首先检查是否需要校正。需要调整的条件是( )。
A.AL中的数值>9,且AF=1 B.AL中低四位数>9,且AF=1 C.AL中的数值>9,或AF=1 D.AL中低四位数>9,或AF=1
3-20用REPNE CMPSB指令作两个字符串比较时,如果Cx≠0比较结束,其原因是( )。
A.两个字符相等 B.两个字符不等 C.两个字符串长度不等 D.字符串大小不同 【解】 A
二、填空题
3-43下面一段程序完成对某一缓冲区清零,缓冲区长度为100个字,缓冲区首址DI=0200H,并设(ES)=3000H,试填空。 CLD
MOV AX,3000H MOV ES,AX MOV DI,0200H ( 1 )