微机原理及接口技术习题解答与实验指导 下载本文

【解】 在计算机中,I/O端口的编制方式分为:统一编制和独立编址。

统一编制的存储单元地址和I/O端口地址在同一个地址空间。由于I/O端口地址占用存储器单元地址,减少了存储器的寻址空间,但是访问存储器单元和I/O端口可用相同的指令。

独立编址的存储器单元地址和I/O端口地址具有不同的地址空间。存储器和I/O端口都具有独立的且较大的寻址空间,CPU用不同的控制线来区别,采用不同的指令访问存储器单元或I/O端口。 17 直接端口寻址,间接端口寻址的特点是什么?

【解】8086/8088 CPU在对I/O端口访问时,有两种寻址方式:直接寻址和寄存器间接寻址。当I/O端口地址为8位地址(A7~A0)表示时,可以采用直接寻址,即在IN/OUT指令中,直接给出8位端口地址。当I/O端口地址位16位(A15~A0)表示时,必须采用寄存器间接寻址方式,即16位端口地址应先付给寄存器DX,在IN/OUT指令中仅出现寄存器DX。

18 什么是规则字?什么是非规则字?

【解】8086 CPU的存储系统中,规定每个存储单元仅存放8位二进制信息。而8086CPU的数据总线宽度为16位,即可以实现同时将两个存储单元中的数据经数据总线传输。当16位字数据按规则字存放在存储器中时,即偶地址存放16位字数据的低8位,奇地址存放16位字数据的高8位时,则用一个总线周期可完成16位数据的传送。若16位字数据按非规则字存放在存储器中时,即偶地址存放16位字数据的高8位,奇地址存放16位字数据的低8位,则需两个总线周期方可完成16位数据的传送。

19. 写出当8088CPU执行下列指令时,CPU控制总线上的IO/M、RD、WR信号线的状态: MOV AL , BH MOV [BX] , CL

【解】 MOV AL ,BH ;由于此指令时在CPU内工作,无任何信号线有效。 MOV [BX] , CL;执行此指令时存储器写信后有效,即IO/M=0,WR=0

第3章 80x86指令系统

3.1学习指导

本章主要内容和要求如下: 1. 指令中包含的信息

指令中一般包含的信息有:操作码和操作数。其中操作数可以处在计算机中的位置有:指令中、CPU内部的寄存器中、存储器中、I/O端口中。 2. 寻址方式

寻址方式即寻找操作数或操作数所在位置的方式,操作数在计算机中所处的位置不同,寻址方式不同。8 086/8088 CPU的寻址方式包括有:

1) 隐含寻址方式,即指令中隐含规定了操作数所在位置。 2) 数据型操作数寻址方式: ? 立即数寻址:操作数在指令中。 ? 寄存器寻址:操作数在寄存器中。 ? 直接寻址 操作数在存储器中,其逻辑地址=段寄存器:[EA],其中: ? 寄存器间接寻址 ? 基址寻址和变址寻址 BX SI 0 ? 基值变址寻址 EA + + n8 BP DI n16 ? 串操作寻址:操作数载存储器中,源操作数为DS:[SI],目标操作数为ES:[DI]。

21

? I/O端口寻址:操作数在I/O端口中,分为8位地址直接寻址和16位地址DX间接寻址。 80386和更高档的微处理器还包含比例变址方式的数据寻址。 3) 目标地址寻址方式。包括: ? 相对程序寻址。 ? 直接程序寻址。 ? 间接程序寻址。

3.8086/8088指令系统

要求了解指令的格式、特点、用法、对状态控制寄存器FR的影响。常用指令要熟练掌握。注意隐含规定的各种寻址规则。主要指令包括: 1) 数据传送指令:

MOV dest,src LEA dest,src XCHG dest,src XLAT PUSH src POP dest PUSHF POPF LDS dest,src LES dest,src LAHF SAH F IN dest,src OUT dest,src

2)算术运算指令:

ADD dest,src ; ADC dest,src ; AAA ; DAA SUB dest,src ; SBB dest,src ; AAS ; DAS MUL src ; IMUL src ; AAM ; CBW DIV src ; IDIV src ; AAD ; CWD

CMP dest,src ; INC dest ; DEC dest ; NEG dest

3)逻辑运算指令:

AND dest,src ; OR dest,src ; NOT dest ; XOR dest,src TEST dest,src

4)位移指令

SHL dest,1 ; SHR dest,1 ; SAL dest,1 ; SAR dest,1 ROL dest,1 ; ROR dest,1 ; RCL dest,1 ; RCR dest,1 SHL dest,CL ; SHR dest,CL ; SAL dest,CL ; SAR dest,CL ROL dest,CL ; ROR dest,CL ; RCL dest,CL ; RCR dest,CL

5)串操作指令:

MOVS dest,src ; CMPS dest,src ; SCAS dest ; LODS src STOS dest,src

重复前缀——REP、REPE、REPNE

6)控制转移指令:

JMP dest ; Jxx dest ; CALL dest RET (n) INT n IRET

7)处理器控制指令:

CLC ; STC ; CLD ; STD CLI ; STI ; CMC ; NOP HLT ;

22

3.2单项选择题

1. 8086/8088CPU内部具有( )个寄存器可以装载内存操作数的偏移地址信息。 A. 4 B.8 C.14 D.20 【解】A

2. 8086/8088CPU内部( )寄存器可以装载内存操作数的偏移地址信息。 A. AX, BX, CX. DX B. SI, DI, SP, BP

C. BX, BP, SI, DI D. AX, BX, CX, DX, SP, BP, SI, DI 【解】C

3. 确定一个内存单元有效地址EA是由几个地址分量组合而成的,这些分量不包括( )。 A. 位移量 B. 基地址 C. 逻辑地址 D. 变址地址 【解】C

4. 寄存器间接寻址方式中,操作数的有效地址EA可通过寄存器( )间接得到。 A. AX B. BP C. CX D. SP 【解】B

5. 常用来获取内存单元偏移量的指令是( )。

A. LAHF B. LEA C.LES D. LDS 【解】B

6. 在寄存器间接寻址方式下,在EA中使用寄存器( )时默认段寄存器位SS。 A. BX B. BP C. SI D.DI 【解】B

7. 基地址变址寻址方式下,在EA中使用寄存器( )时默认段寄存器位SS。 A. BX B. SS C.SI D.DS 【解】C

8. 在程序运行过程中,下一条指令的物理地址的计算表达式是( )。 A. CS*10H+IP B. DS*10H+BX C. SS*10H+SP D. SS*10H+BP 【解】A

9. MOV AX,[BP] [SI] 的源操作数的物理地址是( )。 A. 10HxDS +BP+SI B. 10HxES +BP+SI C. 10HxSS +BP+SI D. 10HxCS +BP+SI 【解】C

10. 指令MOV CX ,1245H中的源操作数存放在( )。 A. DS:1245H所指明的内存中 B.该指令中 C. 某个寄存器中 D.都不是 【解】 B

11. 在8086/8088乘法指令中的两个操作数,其中有一个操作数一定存放在( )中。 A. AL或AX B. BL或BX C.CL或CX D. DL或DX 【解】A

12. 对于算术左移指令SAL AL,1,若AL中的带符号数载指令执行后符号有变,可以通过(A. OF=1 B. OF=0 C. CF=1 D. CF=0 【解】A

13. 8086/8088的移位类指令若需移动多为时,应该先将移动位数置于( )。 A. AL B. AH C. CL D. CH 【解】 C

14. 如果要实现正确返回,则CALL指令和( )指令两者必须成对出现,且属性相同。 A. MACRO B. JMP C. RET D. END

23

)来确认。 【解】C

15. 条件转移指令JNZ的转移条件是( )。

A. CF=1 B.ZF=0 C. OF=0 D. ZF=1 【解】B

16. JMP WORD PTR [DI]是( )。

A. 段内间接转移 B.段间间接转移 C.段内直接转移 D.段间直接转移 【解】 A

17. 指令LOOPNE/LOOPNZ循环的条件是( )。

A. ZF=1且 CX=0 B. A. ZF=0且 CX≠0 C. ZF=0且 CX=0 D. ZF=1且 CX≠0 【解】B

18. 指令REPNE SCASB执行以后,如果ZF=1,则表示( )。 A.在此字符串中,没有找到指定字符 B.已经找到药查找的字符 C.两个字符串相等 D.此字符串是由同一字符组成 【解】B

19. 不能实现AX=BX-CX功能的指令是( )。

A. SUB BX,CX B.SUB AX,BX MOV AX,BX SUB AX,CX C.XCHG AX,BX D.MOV AX,BX SUB AX, CX SUB AX,CX 【解】B

20. 在8086/8088指令中下述寻址方式不正确的是( )。

A.[BX] [SI] B.[BP+DI+25] C.[BX+BP] D.[BX+DI] 【解】C

21. AND、OR、XOR、NOT为四条逻辑运算指令,下面( )解释有误。 A.它们都是按位操作的

B.指令XOR AX,AX执行后,结果不变,但是影响标志位

C.指令AND AL,0FH执行后,使AL得高4位清零,低4位不变 D.若DL=09H,CH=30H,执行OR DL,CH后结果DL=39H 【解】B

22. 下列语句中有语法错误的语句是( )。 A.MOV AX,[BX] [BP] B.ADD AX, [BP]

C.CMP [BX+DI],0FH D.LEA SI, SS:20H [BX] 【解】A

23. 下列指令中语法错误的是( )。

A.MOV[SI],[DI] B. ADD AX , [BP]

C.JMP WORD PTR [BX+8] D.PUSH [BX+DI-10H] 【解】A

24. 下列指令出现语法错误的指令有( )。

A.MOV [BX+SI], AL B. MOV AX , [BP+DI] C. MOV DS, AX D. MOV CS , AXA 【解】D

25. 下面的数据交换指令中,错误的操作是( )。 A.XCHG AX ,DI B. XCHG BX , [BP+DAT] C.XCHG DS , SS D. XCHG BUF , DX 【解】C

26. 下列语句中语法有错误的语句是( )。

24