中北大学微机原理及接口技术习题及练习册
2.2 课后练习题
一、填空题
1. 8086/8088的基本总线周期由____4___个时钟周期组成,若CPU主频为10MHz,则一个时钟周期的时间为_______100ns________。
2. 在8086CPU的时序中,为满足慢速外围芯片的需要,CPU采样______Ready_______信号,若未准备好,插入______等待_______时钟周期。
3. 8086系统总线形成时,须要用_____ALE_____信号锁定地址信号。 4. 对于8086微处理器,可屏蔽中断请求输入信号加在___INTR____引脚。
5. 在8086系统中,若某一存贮单元的逻辑地址为7FFFH:5020H,则其物理地址为__85010H____。 6. 8086的输入信号 Ready 为低电平的作用是说明___存储器或I/O接口未准备好_____。 7. 8088 CPU的 NMI 引脚提出的中断请求称为:____非屏蔽中断_____。 8. CPU从主存取出一条指令并执行该指令的时间称为___指令周期__。 9. 在8086系统中,从奇地址读写两个字时,需要____4_____个总线周期。 二、简答题
1、在内部结构上,微处理器主要有那些功能部件组成? 答案: 1) 算术逻辑部件 2) 累加器和通用寄存器组
3) 程序计数器 4) 时序和控制部件
2、微处理器一般应具有那些基本功能?
答案: 1.可以进行算术和逻辑运算 2.可保存少量数据
3.能对指令进行译码并完成规定的操作 4.能和存储器、外部设备交换数据 5.提供整个系统所需的定时和控制 6.可以响应其他部件发来的中断请求
3、什么是总线周期?
答案:CPU通过外部总线对存储器或I/O端口进行一次读/写操作的过程;一个基本的总线周期包含4个T状态,分别称为T1、T2、T3、T4。 三、判断题
1. 在8086系统中,20位地址是在执行部件中形成的。 ( × ) 2. 8086 CPU的最小方式是为实现多处理器系统而设计的。 ( × ) 3. 在加减运算时,OF=1就表示结果有错。 ( × ) 4. 两数相加,结果有偶数个\,则PF=1。 ( × )
5. 当8086CPU复位后,(CS)=0000H,(IP)=0FFFFH,所以复位后系统从物理地址0FFFF0H开始执行程序。 ( × )
5
中北大学微机原理及接口技术习题及练习册
6.8086的每个存储单元地址既是字节地址又是字地址。 ( √ ) 7. 同一个物理地址可以由不同的段地址和偏移量组合得到。 ( √ )
第3章 指令系统
3.1 基本练习题
一、填空题
1.条件转移指令转移的范围是___-128~+127___。 2.设当前的(SP)=0100H,执行PUSH AX指令后,(SP)=___00FE____H,若改为执行INT 21H指令后,则(SP)=___00FA___H。
3.若当前(SP)=6000H,CPU执行一条IRET指令后,(SP)=___6006____H;而当CPU执行一条段内返回指令RET 6后,(SP)=___6008____H。
4.8086的I/O指令有__直接寻址__和__寄存器间接寻址___两种寻址方式。 5.程序控制类指令的功能是___改变程序执行的顺序____。
6.已知(BX)=2000H,(DI)=3000H,(SS)=4000H,(DS)=6000H,(SS)=5000H,66000H单元的内容为28H,则指令MOV AL,[BX+DI+1000H]的执行结果是__(AL)=28H ___。 7.在寻址方式中,可作基址寄存器的有____BX____、___BP___。 8.若(AL)=95H,执行SAR AL,1 后(AL)=__0CAH __。
9.MOV AX,[BX][DI] 指令中源操作数的寻址方式为___基址加变址寻址方式_____。
10.若(CS)=1000H,(DS)=2000H,(SS)=3000H ,(ES)=4000H,(SI)=1000H,(BP)=2000H,则指令MOV AX,[BP]的功能是将___32000H单元的内容___单元的内容传送给AL,将___32001H单元的内容__单元的内容传送给AH(填写物理地址)。
11.指令MOV DX,OFFSET BUFFER 的源操作数的寻址方式是:__立即寻址方式 ___。 12.若(AL)=35H,执行ROL AL,1 后,(AL)=___6AH____。
13.指令MOV AX,[DI-4]中源操作数的寻址方式是_____相对寄存器寻址方式____。 14.累加器专用传送指令IN间接访问I/O端口,端口号地址范围为____0-65535____。 15.若(DS)=2000H,(ES)=2100H,(CS)=1500H,(SI)=00A0H,(BX)=0100H, (BP)=0010H,则执行指令LEA AX,[BX][SI] 之后,(AX)=__01A0H__H,源操作数是__基址变址寻址___寻址方式。 二、选择题
1.完成将BX清零,并使标志位CF清零,下面错误的指令是____C_____。
A) SUB BX,BX B) XOR BX,BX C) MOV BX,00H D) AND BX,00H
2.已知(DS)=1000H,(BP)=0010H,(BX)=0100H,(DI)=0100H,(010110H)=ABH,(010111H)=BAH,执行指令LEA CX,[BP][DI]后,(BX)=_____B____。
A) 0ABBAH B) 0100H C) 0BAABH D) 0110H 3.下面的指令不合法的是____D____。
A) INT 21H B) ADC AX,[SI] C) IN AX,03H D) PUSH AL 4.设SP=50H,执行段间返回指令RET 后,寄存器SP的内容是( B )。
A) 44H B) 54H C) 5AH D) 5CH
5.在指令MOV ES:[SI],AX 中,目的操作数为____D___寻址方式。
A) 寄存器 B) 直接 C) 基址变址 D) 寄存器间接 6.下列四条指令中,有几条指令需要使用DX寄存器_____A____? MUL BX DIV BL IN AX,20H OUT 20H,AL
A) 1条 B) 2条 C) 3条 D) 4条
6
中北大学微机原理及接口技术习题及练习册
7.设(CL)=05H,要获得(CL)=0AH,可选用的指令是( C )。
A) NOT CL B) AND CL,0FH C) XOR CL,0FH D) OR CL,0AH
8.用MOV指令将十进制数89以压缩BCD码格式送入AX,正确使用的指令是_____C____。
A) MOV AX,0089 B) MOV AX,0809 C) MOV AX,0089H D) MOV AX,0809H 9.若(AL)=0FH,(BL)=04H,则执行CMP AL,BL后,AL、BL的内容____A______。
A) 0FH,04H B) 0BH,04H C) 0FH,0BH D) 04H,0FH 10.在子程序的最后一定要有一条_____B_____指令。
A) HLT B) RET C) IRET D) POP
11.下列指令中,有语法错误的是________A__________。
A) MOV [SI],[DI] B) IN AL,DX
C) JMP WORD PTR[BX+8] D) PUSH WORD PTR 20[BX+SI-2]
12.下面指令序列执行后完成的运算,正确的算术表达式应是________CCCCCCC________。
MOV AL,BYTE PTR X SHL AL,1 DEC AL
MOV BYTE PTR Y,AL
A) Y=2X+1 B) X=2Y+1 C) Y=2X-1 D) X=2Y-1
13.若已知(SP)=2000H,(AX)=0020H,则执行指令,PUSH AX 后,(SP)和((SS):(SP))的值分别为_____D____。
A)2002H,00H B)2000H,20H C)1FFFH,00H D)1FFEH,20H 14.8086执行POP AX指令时,正确的操作是_________A_________。
A) AX<--[SP+1][SP],SP<--SP+2 B) AX<--[SP+1][SP],SP<--SP-2 C) SP<--SP+2,AX<--[SP+1][SP] D) SP<--SP-2,AX<--[SP+1][SP] 15.若累加器AL的内容为13H,执行NEG AL指令后,AL内容为____D____。
A) OOH B) 13H C) 0ECH D) 0EDH
16.8086中8位算术运算指令执行后,结果为10010001B,则ZF和SF标志位的值为____A__。
A)ZF=0 SF=1 B)ZF=0 SF=0 C)ZF=1 SF=1 D)ZF=0 SF不确定 17.在执行MUL BL指令执行后,CF=OF=1,(AL)=82H,则表示____D____。
A) (BL)>0 B) (AH)=FFH C) 被乘数小于零 D) 乘积大于255 三、简答题
1.什么是寻址方式,写出五种与数据有关的寻址方式?
答:寻址方式就是寻找操作数或操作数地址的方法。立即数寻址、寄存器寻址、直接寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、相对基址变址寻址 2.在IBM PC中有专用的输入输出指令,请问I/O端口的地址范围是多少?地址范围的不同,应采答:用的指令格式不同,请写出在具体的范围和采用的指令格式。
I/O端口的地址范围是0000H--0FFFFH (64K),当地址范围在0000H-00FFH 时可以使用直接端口地址访问和间接访问,格式如下(以8位为例):
IN AL,PORT IN AL, DX OUT PORT,AL OUT DX,AL
而当地址范围在大于00FFH 时只能使用间接访问指令,格式如下(以8位为例):
IN AL,DX OUT DX,AL
3.指出以下三条指令的区别(NUM为数据段一个变量名)。
(1) MOV SI,NUM (2) LEA SI,NUM (3) MOV SI,OFFSET NUM 答:(1)指令执行后SI取得的是内存变量NUM的值。
7
中北大学微机原理及接口技术习题及练习册
(2)指令执行后SI取得的是内存变量NUM的偏移地址。 (3) 指令执行后SI取得的是内存变量NUM的偏移地址。 4.根据给定的条件写出指令或指令序列。
(1)将AX寄存器及CF标志位同时清零。 (2)BX内容乘以2再加上进位位。 (3)将AL中的位二进制数高4位和低4位交换。
(4)将首地址为BCD1存储单元中的两个压缩BCD码相加,和送到第三个存储单元中。 答:(1) XOR AX,AX或AND AX,0 (2) ADC BX,BX (3) MOV CL,4
(4) MOV AL,BCD1 ROR AL,CL ADD AL,BCD1+1
5.子程序调用的操作过程包含哪几个步骤? 答:(1)保护现场,即将主程序转移前的程序状态保存起来,保存内容主要是程序计数器PC的内容。保护现场通常采用堆栈完成,将程序计数器PC的内容(断点地址)压入堆栈。(2)将子程序入口地址送入程序计数器PC,那么,下一条要执行的指令就是子程序的第一条指令。 6.在0624H单元内有一条二字节指令JNE OBJ,如其中位移量分别为
7.答:(1)27H (2)6BH (3)0C6H 试问:转向地址OBJ的值是多少? 取出NE OBJ指令后,(IP)=0626H,OBJ的值是:(IP)+D->IP
0626H+27H=064DH 0626H+6BH=0691H 0626H-3AH=05ECH
7.如BUFFER为数据段中0032单元的符号地址其中存放的内容为2345H,试问以下两条指令有什么区别?指令执行完成后AX寄存器的内容是什么? 答:(1)MOV AX,BUFFER (2)LEA AX,BUFFER
第一条指令是将BUFFER字单元的内容送到AX寄存器,而第二条指令是将BUFFER的段内偏移地址送到AX寄存器。 (1)(AX)=2345H (2)(AX)=0032H
8.在无超越说明时,通用数据读写、目的数据串、源数据串、堆栈操作和取指令操作分别自动选择哪些段寄存器搭配产生物理地址?
答:通用数据读写自动选择数据段寄存器(DS) 目的数据串自动选择附加数据段寄存器(ES) 源数据串自动选择数据段寄存器(DS) 堆栈操作自动选择堆栈段寄存器(SS) 取指令操作自动选择代码段寄存器(CS)
9.设(DS)=1000H,(AX)=1C5AH,(BX)=2400H,(SI)=1354H,(13774H)=30H,(13775H)=20H,(13754H)=40H,(13755H)=10H 指令在此环境下执行,在各空中填入相应的执行结果。
SUB AX,20H[BX][SI]
(AX)=_____,SF=______,ZF=______,CF=_____,OF=______ 答:(AX)=0FC2AH,SF=1, ZF=0, CF=1,OF=0
3.2 课后练习题
一、简答题
1、若(AX)=9C5AH,(BX)=9754H,执行下列指令序列后,程序转向何处执行。 ADD AX,BX JNC L3
8