中北大学微机原理及接口技术习题及练习册
2. 微处理器一般应具有那些基本功能?
3.什么是总线周期?
三、判断题
1. 在8086系统中,20位地址是在执行部件中形成的。 ( ) 2. 8086 CPU的最小方式是为实现多处理器系统而设计的。 ( ) 3. 在加减运算时,OF=1就表示结果有错。 ( ) 4. 两数相加,结果有偶数个\,则PF=1。 ( )
5. 当8086CPU复位后,(CS)=0000H,(IP)=0FFFFH,所以复位后系统从物理地址0FFFF0H开始执行程序。 ( ) 6.8086的每个存储单元地址既是字节地址又是字地址。 ( ) 7. 同一个物理地址可以由不同的段地址和偏移量组合得到。( )
第3章 指令系统
基本要求:掌握8086/8088的寻址方式,了解8086/8088指令系统概况,掌握常用指令的汇编格式、功能及用法。了解机器语言、汇编语言与高级语言的区别和联系。本章重点:掌握8086CPU的寻址方式、指令系统中指令的分类及其常用指令的格式和功能。本章难点:灵活运用指令解决实际问题。
3.1 基本练习题
一、填空题
1.条件转移指令转移的范围是______________。
2.设当前的(SP)=0100H,执行PUSH AX指令后,(SP)=_______________H,若改为执行INT 21H指令后,则(SP)=_______________H。
3.若当前(SP)=6000H,CPU执行一条IRET指令后,(SP)=_______________H;而当CPU执行一条段内返回指令RET 6后,(SP)=_______________H。
4.8086的I/O指令有__________和__________两种寻址方式。 5.程序控制类指令的功能是_______________。
6.已知(BX)=2000H,(DI)=3000H,(SS)=4000H,(DS)=6000H,(SS)=5000H,66000H单元的内容为28H,则指令MOV AL,[BX+DI+1000H]的执行结果是_______________。 7.在寻址方式中,可作基址寄存器的有___________、_________。 8.若(AL)=95H,执行SAR AL,1 后(AL)=________。
9.MOV AX,[BX][DI] 指令中源操作数的寻址方式为_______________。
10.若(CS)=1000H,(DS)=2000H,(SS)=3000H ,(ES)=4000H,(SI)=1000H,(BP)=2000H,则指令MOV AX,[BP]的功能是将____________单元的内容传送给AL,将__________单元的内容传送给AH(填写物理地址)。
11.指令MOV DX,OFFSET BUFFER 的源操作数的寻址方式是:_______________。
5
中北大学微机原理及接口技术习题及练习册
12.若(AL)=35H,执行ROL AL,1 后,(AL)=_______________。
13.指令MOV AX,[DI-4]中源操作数的寻址方式是______________。
14.累加器专用传送指令IN间接访问I/O端口,端口号地址范围为_______________。 15.若(DS)=2000H,(ES)=2100H,(CS)=1500H,(SI)=00A0H,(BX)=0100H, (BP)=0010H,则执行指令LEA AX,[BX][SI] 之后,(AX)=___________H,源操作数是____________寻址方式。 二、选择题
1.完成将BX清零,并使标志位CF清零,下面错误的指令是_________。
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)=_________。
A) 0ABBAH B) 0100H C) 0BAABH D) 0110H 3.下面的指令不合法的是________。
A) INT 21H B) ADC AX,[SI] C) IN AX,03H D) PUSH AL 4.设SP=50H,执行段间返回指令RET 后,寄存器SP的内容是( )。
A) 44H B) 54H C) 5AH D) 5CH
5.在指令MOV ES:[SI],AX 中,目的操作数为_______寻址方式。
A) 寄存器 B) 直接 C) 基址变址 D) 寄存器间接 6.下列四条指令中,有几条指令需要使用DX寄存器_________? MUL BX DIV BL IN AX,20H OUT 20H,AL
A) 1条 B) 2条 C) 3条 D) 4条 7.设(CL)=05H,要获得(CL)=0AH,可选用的指令是( )。
A) NOT CL B) AND CL,0FH C) XOR CL,0FH D) OR CL,0AH
8.用MOV指令将十进制数89以压缩BCD码格式送入AX,正确使用的指令是_________。
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) 0FH,04H B) 0BH,04H C) 0FH,0BH D) 04H,0FH 10.在子程序的最后一定要有一条__________指令。
A) HLT B) RET C) IRET D) POP
11.下列指令中,有语法错误的是__________________。
A) MOV [SI],[DI] B) IN AL,DX
C) JMP WORD PTR[BX+8] D) PUSH WORD PTR 20[BX+SI-2]
12.下面指令序列执行后完成的运算,正确的算术表达式应是________________。
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))的值分别为_________。
A)2002H,00H B)2000H,20H C)1FFFH,00H D)1FFEH,20H 14.8086执行POP AX指令时,正确的操作是___________________。
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内容为________。
A) OOH B) 13H C) 0ECH D) 0EDH
6
中北大学微机原理及接口技术习题及练习册
16.8086中8位算术运算指令执行后,结果为10010001B,则ZF和SF标志位的值为______。
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,则表示________。
A) (BL)>0 B) (AH)=FFH C) 被乘数小于零 D) 乘积大于255 三、简答题
1.什么是寻址方式,写出五种与数据有关的寻址方式? 2.在IBM PC中有专用的输入输出指令,请问I/O端口的地址范围是多少?地址范围的不同,应采用的指令格式不同,请写出在具体的范围和采用的指令格式。 3.指出以下三条指令的区别(NUM为数据段一个变量名)。
(1) MOV SI,NUM (2) LEA SI,NUM (3) MOV SI,OFFSET NUM 4.根据给定的条件写出指令或指令序列。
(1)将AX寄存器及CF标志位同时清零。 (2)BX内容乘以2再加上进位位。 (3)将AL中的位二进制数高4位和低4位交换。
(4)将首地址为BCD1存储单元中的两个压缩BCD码相加,和送到第三个存储单元中。 5.子程序调用的操作过程包含哪几个步骤?
6.在0624H单元内有一条二字节指令JNE OBJ,如其中位移量分别为
(1)27H (2)6BH (3)0C6H 试问:转向地址OBJ的值是多少?
7.如BUFFER为数据段中0032单元的符号地址其中存放的内容为2345H,试问以下两条指令有什么区别?指令执行完成后AX寄存器的内容是什么? (1)MOV AX,BUFFER (2)LEA AX,BUFFER
8.在无超越说明时,通用数据读写、目的数据串、源数据串、堆栈操作和取指令操作分别自动选择哪些段寄存器搭配产生物理地址?
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=______
3.2 课后练习题
一、简答题
1. 若(AX)=9C5AH,(BX)=9754H,执行下列指令序列后,程序转向何处执行。
ADD AX,BX JNC L3 JNO L1 JNO L4 JNC L2 JMP L5 SUB AX,BX
2. 中断服务程序结束时,用RET指令代替IRET指令能否返回主程序?这样做存在什么问题?
3. 写出把首地址为BLOCK字数组中的第6个字,送到DX寄存的指令(或指令组),要求使用以下几种寻址方式:
(1) 寄存间接寻址 (2) 寄存相对寻址 (3) 基址变址寻址
7
中北大学微机原理及接口技术习题及练习册
4. 设BX=134AH,BP=1580H,DI=0528H,SI=0234H,DS=3200H,SS=5100H,求在各种寻址方式下源操作数的物理地址。
1) MOV AX, [2400H] 2) MOV AX, [BX] 3) MOV AX, [SI] 4) MOV AX, [BX+2400H] 5) MOV AX, [BP+2400H] 6) MOV AX, [BX+DI] 7) MOV AX, [BP+SI+2400H]
二、阅读下面的程序段,写出运行结果 1. CLC
MOV AX,248BH MOV CL,3
RCL AX,CL 执行以上程序序列后, AX=____________________。
2. MOV BX,6D16H
MOV CL,7
SHR BX,CL 执行后BX寄存器中的内容________________________。
3. MOV DX,01H
MOV AX,42H MOV CL,4 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL
OR DL,BL 执行后 (DX)=__________,(AX)=____________
4. mov ax,693ah
mov al,ah not al add al,ah
inc al 程序段执行后,AL= _____________ 、ZF= ______________。
5. 根据程序填空(程序段顺序执行)
MOV CL, 58 ;CL= MOV AL, 79 ;AL=
ADD AL, CL ;AL= H, AF= , CF= DAA ;AL= , AF= , CF=
三、判断题
1. 执行下列指令可以将00H送到端口地址为1A0H的外设上。 ( )
MOV AL,00H
MOV 1A0H ,AL
2. 执行下列指令可以将其00H送到端口地址为2F8H的外设上:( )
MOV AL,00H MOV DX,2F8H OUT DX,AL
3. 8088的MOV指令不能进行两个存储器单元之间的数据直接传送。( ) 4. 8088系统中,堆栈的存取可以以字或字节为单位。 ( )
5. IN和OUT指令可寻址的口地址为64K个,端口地址只能用立即数。( )
8