微计算机技术作业1

 

1     

 

1.       计算机分哪几类?各有什么特点?

 

 

 

 

2.       简述微处理器、微计算机及微计算机系统三个术语的内涵

 

 

 

 

3.       80X86微处理器有几代?各代的名称是什么?

 

 

 

 

第2章           微处理器结构及微计算机的组成

 

18086是多少位的微处理器?为什么?

 

 

 

 

2. EUBIU各自的功能是什么?如何协同工作?

 

 

 

 

3. 80868088与其前一代微处理器8085相比,内部操作有什么改进?

 

 

 

 

4.  80868088微处理器内部有那些寄存器,它们的主要作用是什么?

 

 

 

 

58086对存储器的管理为什么采用分段的办法?

 

 

 

6.给定一个存放数据的内存单元的偏移地址是20C0H,(DS=0C00EH,求出该内存单元的物理地址。

 

 

 

 

780868088为什么采用地址/数据引线复用技术?

 

 

 

 

880868088的主要区别是什么?

 

 

 

 

9.怎样确定8086的最大或最小工作模式?最大、最小模式产生控制信号的方法有何不同?

 

 

 

 

108086被复位以后,有关寄存器的状态是什么?微处理器从何处开始执行程序?

 

 

 

 

118086基本总线周期是如何组成的?各状态中完成什么基本操作?

 

 

 

 

12.结合8086最小模式下总线操作时序图,说明ALEMIO#DTR#RD#READY信号的功能。

 

 

 

 

138086中断分哪两类?8086可处理多少种中断?

 

 

 

 

148086可屏蔽中断请求输入线是什么?“可屏蔽”的涵义是什么?

 

 

 

 

158086的中断向量表如何组成?作用是什么?

 

 

 

 

168086如何响应一个可屏蔽中断请求?简述响应过程。

 

 

 

 

17.什么是总线请求?8086在最小工作模式下,有关总线请求的信号引脚是什么?

 

 

 

 

18.“8086执行了一个总线周期”是指8086做了那些可能的操作?基本总线周期如何组成?在一个典型的读存储器总线周期中,地址信号、ALE信号、RD#信号、数据信号分别在何时产生?

 

 

 

 

微计算机技术作业2

 

 

 

 

3  8086指令系统及寻址方式

 

1.根据下列要求编写一个汇编语言程序:

  (1)代码段的段名为COD_SG

  (2)数据段的段名为DAT_SG

  (3)堆栈段的段名为STK_SG

  (4)变量HIGH_DAT所包含的数据为95

  (5)将变量HIGH_DAT装入寄存器AHBHDL

  (6)程序运行的入口地址为START

 

 

 

 

 

 

 

 

 

 

 

2.指出下列程序中的错误:

    STAKSG  SEGMENT

              DB 100DUP(?)

    STA_SGENDS

    DTSEG  SEGMENT

    DATAl   DB  ?

    DTSEG  END

    CDSEG  SEGMENT

    MAIN    PROC  FAR

START MOV    DSDATSEG

         MOV    AL,34H

         ADD    AL,4FH

         MOV    DATA,AL

START   ENDP

CDSEG   ENDS

         END

 

3.将下列文件类型填入空格:

    (1) .obj  (2) .exe  (3) .crf  (4) .asm  (5) .lst  (6) .map

    编辑程序输出的文件有______________________

    汇编程序输出的文件有______________________

连接程序输出的文件有______________________

 

4.下列标号为什么是非法的?

(1) GET.DATA    (2) 1_NUM   (3) TEST-DATA

 

 

 

 

 

5.下面的数据项定义了多少个字节?

   DATA_1  DB 6  DUP(4 DUP(0FFH))

 

 

 

6.对于下面两个数据段,偏移地址为10H11H的两个字节中的数据是一样的吗?为什么?

    DTSEG  SEGMENT        DTSEG  SEGMENT   

    ORG          10H        ORG         10H

    DATAN  DB   72H        DATAl   DW  7204H

             DB  04H                 ENDS

DTSEG  ENDS

 

 

 

 

 

7.下面的数据项设置了多少个字节?

(1)ASC_DATA   DB  ‘1234’    (2) HEX_DATA  DB  l234H

 

 

 

 

8.执行下列指令后,AX寄存器中的内容是什么?

    TABLE  DW  1020304050

ENTRY  DW 3

  .

  .

  .

   MOV    BXOFFSET TABLE

   ADD    BXENTRY

   MOV    AX[BX]

 

 

 

 

 

 

9.指出下列指令的错误:

(1)    MOV  AHBX    

(2)    MOV  [SI][BX] 

(3)    MOV  AX[SI][DI]

(4) MOV   AX[BX][BP]

(5) MOV   [BX]ESAX

(6) MOV   BYTE  PTR[BX]1000

(7) MOV   AXOFFSET [SI]

(8) MOV   CSAX

 

 

 

10    DATA   SEGMENT

        TABLE_ADDR  DW  1234H

        DATA  ENDS

           .

           .

        MOV    BXTABLE_ADDR

        LEA     BXTABLE_ADDR

请写出上述两条指令执行后,BX寄存器中的内容。

 

 

11. (DS)=1B00H(ES)=2B00H,有关存储器地址及其内容如下图所示,请用两条指令把X装入AX寄存器。

 

 

 

1B00:2000H

8000H

1B00:2002H

2B00H

 

.

 

.

2B00:8000H

X

 

 

 

 

12.假如在程序的括号中分别填入指令:   

    (1)LOOP  L20    (2)LOOPNE  L20    (3)LOOPE  L20

试说明在三种情况下,当程序执行完后,AXBXCXDX四个寄存器的内容分别是什么?

 

    TITLE     EXLOOP.COM

    CODESG   SEGMENT

               ASSUME  CS:CODESG,  DS:CODESG,  SS:CODESG

               ORG    100H   

    BEGIN   MOV    AX01

               MOV    BX02

               MOV    DX03

               MOV    CX04

    L20      INC     AX

               ADD     BXAX

               SHR     DX1   

               (            )

               RET

    CODESG   ENDS

END    BEGIN

 

 

 

 

 

 

 

 

 

 

 

 

13. 假设(CS)=3000H, (DS)=4000H, (ES)=2000H, (SS)=5000H, (AX)=2060H, (BX)=3000H, (CX)=5, (DX)=0, (SI)=2060H, (DI)=3000H, (43000H)=0A006H, (23000H)=0B116H,(33000H)=0F802H, (25060)=00B00H, (SP)=0FFFEH, (CF)=1, (DF)=1, 请写出下列各条指令单独执行完后,有关寄存器及存储单元的内容,若影响条件码请给出条件码SFZFOFCF的值。

    (1) SBB   AXBX           (2) CMP AX,WORD PTR[SI+OFA0H]

    (3) MUL  BYTE PTR[BX]      (4)AAM

    (5)DIV   BH                 (6)SAR  AXCL

    (7))XORAX, OFFE7H        (8)REP  STOSB

    (9)JMP WORD PTR[BX]     (10)XCHGAXES[BXSI]

 

 

 

 

 

 

 

 

 

 

 

微计算机技术作业3

 

1     

 

   4  汇编语言程序设计基础

   

1.  试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。

 

 

 

 

 

2.  编写程序,比较两个字符串STRINGlSTRING2所含字符是否完全相同,若相同则显示  MATCH",若不同则显示"NOMATCH"

 

 

 

 

 

 

3.试编写程序,要求从键盘输入316进制数,并根据对3个数的比较显示如下信息:

    (1)如果3个数都不相等则显示0

    (2)如果3个数中有2个数相等则显示2

    (3)如果3个数都相等则显示3

 

 

 

 

4. 分析下列程序的功能,写出堆栈最满时各单元的地址及内容。

SSEG    SEGMENT   'STACK' AT 1000H   ;堆栈的段地址为1000H

         DW     128 DUP(?)

TOS     LABEL   WORD

SSEG      ENDS

;

DSEG    SEGMENT

         DW  32  DUP(?)

DSEG    ENDS

;

CSEG    SEGMENT

MAIN    PROC   FAR

         ASSUME.  CS:CSEG, DS.DSEG,SS:SSEG

START:   MOV      AX, SSEG

          MOV      SS,AX

          MOV      AX, DSEG

          MOV      DS, AX

          MOV      AX, 4321H

          CALL      HTOA

RETN:    MOV      AH,4CH

          INT       21H

          MAIN     ENDP

;

HTOA       PROC    NEAR

            CMP     AX, 15

            JLE      B1

            PUSH    ' AX. '

            PUSH    BP

            MOV     BP, SP

            MOV     BX, [BP + 2 ]

            AND     BX, 0FH

            MOV     [BP + 2 ], BX

            POP      BP

            MOV     CL, 4

            SHR      AX, CL

            CALL     HTOA

B1:       POP       AX

B2:       ADD      AL,  30H

          JL         PRT

          ADD      AL,  07

PRT:      MOV      DL,  AL

          MOV      AH,  2

          INT       21H

          RET

HTOA    ENDP

CSEG    ENDS

;

         END       START

 

 

 

 

 

 

 

 

 

5.写出分配给下列中断类型号在中断向量表中的物理地址。

(1)INT  12H    (2)INT 8

 

 

 

 

 

 

6.试编写程序,它轮流测试两个设备的状态寄存器,只要一个状态寄存器的第0位为1,则与其相应的设备就输入一个字符;如果其中任一状态寄存器的第3位为1,则整个输入过程结束。两个状态寄存器的端口地址分别是00240036,与其相应的数据输入寄存器的端口则为00260038,输入字符分别存入首地址为BUFFlBUFF2的存储区中。

 

 

 

 

 

 

 

 

 

 

 

5  输入输出系统

 

1.  试说明一般中断系统的组成和功能。

 

 

 

 

 

 

2.  什么是中断类型码、中断向量、中断向量表?在基于8086/8088的微机系统中,中断类型码和中断向量之间有什么关系?

 

 

 

 

 

 

3.  什么是硬件中断和软件中断?PC机中两者的处理过程有什么不同?

 

 

 

 

 

 

 

4.  试叙述基于80868088的微机系统处理硬件中断的过程。

 

 

 

 

 

5.  PC机中如何使用“用户中断”入口请求中断和进行编程?

 

 

 

 

 

6.  8259A中断控制器的功能是什么?

 

 

 

 

 

7.  8259A初始化编程过程完成哪些功能?这些功能由哪些ICW设定?

 

 

 

 

 

 

88259A在初始化编程时设置为非中断自动结束方式,中断服务程序编写时应注意什么?

 

 

 

 

 

 

9.  8259A的初始化命令字和操作命令字有什么区别?它们分别对应于编程结构中哪些内部寄存器?

 

 

 

 

 

 

10.若8086系统采用单片8259A中断控制器控制中断,中断类型码给定为20H,中断源的请求线与8259AIR4相连,试问:对应该中断源的中断向量表入口地址是什么?若中断服务程序入口地址为4FE24H,则对应该中断源的中断向量表内容是什么,如何定位?

 

 

 

 

 

 

 

 

11.试按照如下要求对8259A设定初始化命令字:8086系统中只有一片8259A,中断请求信号使用电平触发方式,全嵌套中断优先级,数据总线无缓冲,采用中断自动结束方式。中断类型码为20H27H8259A的端口地址为BOHB1H

 

 

 

 

 

 

 

 

12.比较中断与DMA两种传输方式的特点。

 

 

 

 

 

 

 

 

13DMA控制器应具有哪些功能?

 

 

 

 

 

 

 

 

148237A只有8位数据线,为什么能完成16位数据的DMA传送?

 

 

 

 

 

 

 

 

158237A的地址线为什么是双向的?

 

 

 

 

 

 

 

16.说明8237A单字节DMA传送数据的全过程。

 

 

 

 

 

 

 

 

 

微计算机技术作业4

 

第6章           常用可编程外围接口芯片

 

1.  8254三个计数器的端口地址为201H202H203H,控制寄存器端口地址200H。试编写程序片段,读出计数器2的内容,并把读出的数据装入寄存器AX

 

 

 

 

 

 

 

2.  8254三个计数