在线留言 注册 登录
热门搜索:形考答案免费答案奥鹏答案

福建师范大学《计算机原理与接口技术》期末复习题

Time2024-02-04Hits浏览量: 166
添加QQ : 103092222或微信: xyzlfx100获取更多答案

练习题

基本练习题

1-4

1(3A.4) 16=(     )2=(    )10   (F0)16=(  )10 (F0)16是补码,其真值 =   )。

2CPU的组成?

38086中,引脚AD15~AD0 是?其外部数据总线为几位?

48086处理器中处理动作的最小时间单位是?一个典型总线周期需要多少个T状态?

5Intel 8086 I/O寻址空间有多大?8086系统中的物理长度为多少字节?

6.处理器寻址能力与地址线数n的关系?如80286处理器具有16MB的寻址能力,该处理器具有多少条地址线?若某处理器具有4GB的寻址能力,则该处理器具有多少条地址线?

74K×8RAM芯片,有地址线条数是多少条?1024×1RAM芯片设计一个32KB的存储器系统,问需要有多少片芯片组成?在一微机系统中,需组成一个64K字节的RAM,若选用64K×1位的Intel2164芯片,需要多少片?

8 8086的段寄存器有哪些?它们是多少位的寄存器?8086的中断向量表在内存中的地址范围是从哪到哪?它可以容纳多少个中断向量?

98086CPU复位后的初始指令地址是?当CPU复位后的中断允许标志的状态是?

108086MN/MX引脚的作用是?

118086系统的堆栈操作以特点是?放堆栈顶地址的寄存器是?

128086CPU进行I/O写操作时应满足的引脚关系?当8086CPU进行存储器写操作时应满足的引脚关系?8088执行存储器写时序的时候,是什么电平?是什么电平?(#表示低电平)。

13.当DMA控制器向CPU请求总线后,CPU何时响应这一请求?当进行DMA操作时,CPU要作什么?

1480888086CPU响应可屏蔽中断的三个必要条件是?

15. 在计算机中,按先进后出方式工作的存储空间是?8086CPU的堆栈操作以什么为单位?数据进栈时,栈顶向哪个地址方向浮动?

16CPU响应可屏蔽中断时,从何处获取中断类型码?用软件确定中断优先权时,如何改变中断的优先权?

17标志IF称为

18. 介于CPU与主存储器间的高速缓冲存储器cache的作用是?

 

5-7

1.什么寻址方式的操作数在寄存器中?在什么寻址方式时操作数在存储器中?8086从存储器每取一条指令需要几个总线周期?

2.被移位指令最后移出的数据位会留存在什么标志位中?

3. 什么指令能使寄存器CX的低四位取反?低4位清零?

4.若AL=81H 执行CBW后,则AX=?若AL=95H 执行CBW后,则AX=?已知SP=2110H,执行POP  AX后,SP=

5.AX=3500H,CX=56B8H,当AND AXCX指令执行后,AX=?

6 AX=1562H,指令XOR AXAX执行后AX中的值是?

7.DEC BYTE PTR[BX]指令中的操作数的数据类型是?

8.串操作指令(如SCASB)的目的操作数的段地址一定在?

9.伪指令ORG的功能是?END  START语句功能是?

10COUNT EQU 256,其中COUNT称作?占几个字节存储单元?

11.执行CLDMOVSB指令后,SIDICX的变化?

12AX中有符号数除以2的正确指令是?

13.这四条指令执行后,不改变AL寄存器内容的指令是?①AND AL,1CMP AL,DLXOR AL,AL SUB AL,DL

14.这几条指令中正确的是?①CMP  [SI],100; CMP WORD PTR [SI],100;CMP  [SI],100h;CMP 100h,[SI] ;MOV DS,0;MOV AX,[BP][DI]; MOV  WORD PTR [SI]100; MOV  WORD PTR [BX]5

15.定义语句BUF DW 1,10 DUP(3 DUP(1,0),2) ,0ABH汇编后,为变量X0分配的存储单元字节数是?

16.执行1DOS系统功能调用,从键盘输入的字符值存放在?执行2DOS系统功能调用,待显示字符应存放在?INT  27H中断的中断向量所在的向量表单元地址是?

17.在DEBUG下,AUD命令的作用是? DEBUG上机调试程序时,存储器地址表示为12FA:015F,它的物理地址是?

18.判断AXBX是否同时为偶数或同时为奇数。若是转YES的不正确指令序列是?

A

OR  AXBX


B

XOR  AXBX


AND  AX1



AND  AX1


JE  YES



JE  YES

C

CMP  AXBX


D

SUB  AXBX


AND  AX1          



AND  AX1


JE  YES



JE  YES

19. 比较BXSI中的两个存储器地址,若BX≥SI转向HIGH的正确指令是?

20.ABC DB 3 DUP02 DUP12),3

       COUNT EQU  $-ABC

符号COUNT等价的值是?

218086微处理器的可屏蔽中断请求信号来自于引脚?

22.一个总线周期完成一次数据传输,至少要有几个过程?

23.在指令ADDCMPPUSHFPOPF中,不影响标志寄存器值的指令是?

24ES=3000HDI=00FFHCX=0005HAL41HDF0,从300FFH开始的连续5个字节单元内分别是44H43H42H41H41H。执行REPNZ  SCASB指令后,DI=?CX=?( DI0103HCX0001H    )。

  

8-9

1.可编程序接口芯片是指?

2.程序控制输入/出传送方式是?CPU不断检测外设状态,当外设准备就绪后,才进行数据传送。这种数据传送方式称为?

3.属于程序控制的传送方式的是?

4.在查询传送方式中,CPU要对外设访问操作前,必须先做什么?设查询传送输入方式,被查询I/O端口应给出什么信号?一个基本IO接口通常具有哪些端口?

5.并行接口芯片8255的哪些引脚完成内部I/O端口选择?

68255A有几个端口?哪个端口可以以双向方式工作?哪个端口可进行按位置位/复位的操作?C口用途?只有方式0和方式1两种工作方式的端口是?

7.若8255A口设置输入和方式1,当 A口正做什么操作?

8INTEL 8251A在串行异步通信时,设通信的波特率为1200bps,通信波特率为16,则外部时钟速率为?波特率9600bps时,时钟速率为?

9.在串行异步通信中,常采用什么校验方式?

10.在8251作异步通信,什么情况下会发生桢格式错误?

118251在串行通信中,CPU检测到8251FE=1,这表明通信发生了?

12.在8251作串行异步传送时,什么情况下会发生溢出错误?

138253中有几个独立的计数器?

148253的计数器可做哪种计数?

158253有几种工作方式?哪种方式称为方波发生器?

168253计数器的最大计数初值是?

17.已知8253定时/计数器通道0 CLK0连接时钟信号的频率为2MHz,要用通道0产生周期1毫秒方波,则通道0的二进制计数初值N=?

188259A有几个端口地址?

19.每一片8259A可管理几级优先权中断源?通过级联最多可管理几级优先权的中断源?能向CPU提供可编程的中断类型号?

208259的普通EOI结束命令的作用是?特殊EOI结束命令的作用是?

21Intel 8086 PC机中,可以用什么控制多个可屏蔽的中断源是否被响应?

22.当进行DMA操作时,CPU必须让出什么给DMAC

23.当DMA控制器向CPU请求使用总线后,8086CPU在什么时间响应这一请求?

248086的中断向量表可以容纳多少个中断向量?每个中断向量占几个字节?中断向量表在内存中的地址范围是从多少到多少?

25.异步串行通信传输一个字符的格式是?

26在多个中断源的情况下,为增加控制的灵活性,常要求在每一个外设的接口电路中,设置一个什么触发器,只有当此触发器为“1”时,外设的中断请求才能被送到CPU

278086CPU中,软件中断的中断类型码来自?

288255A的端口A工作在方式1输入时,与配对使用的联络信号是?

29. 28255引脚完成内部I/O端口地址选择?

30. 8255A的哪个口各位可进行按位置位/复位的操作?

31.8255的选通输出操作中,ACK#信号的用途是什么?

32. 8255的选通输出操作中用什么来清除OBF#信号?

33.什么是异步串行数据通信?

34.什么是波特率?  

35.解释下列术语:单工、半双工和全双工

36.当8255A的端口A工作在方式1输入时,与配对使用的联络信号是?

 

 

程序理解

1.现有下列程序段: 

mov   ax6540h

mov   dx3210h 

mov   cl04 

shl   dxcl  

mov   blah  

shl   axcl 

shr   blcl  

or    dlbl  

试问上述程序段运行后:ax=bl=dx=

 

2         ORG  1000H

            DA1   DB  ?

… …

             LEA  SIDA1

             MOV  CXSI

     NEXTADD  SI2

            LOOP   NEXT

           

变量DA1的偏移地址=? 程序段执行后SI?

 

3. 程序段如下:

str  db  ‘ABCDEFGHIJ’

           

        mov    ah01;从键盘输入一个1~9之间的字符

        int    21h

        and    al0fh

        dec    al

        xor    ahah

        mov    bxoffset  str

        add    bxax

        mov    dl[bx]

        mov    ah02h  ;显示输出

        int    21h

         

试回答:

(1)如从键盘输人字符‘2’,程序段有什么结果?

 (2)如从键盘输人字符‘5’,程序段有什么结果?

 

4   VAL  DB  X

 … …

        MOV  AX0

        MOV  ALBYTE  PTR  VAL

        MOV  CL10

        MUL  CL

该程序段完成的功能的数学表达式是? 结果存放在?

 

5.程序段如下:

VAL  DB  2012273-253484-46

MOV    CX7

LEA    SIVAL

NEXTMOV    AL[SI]

INC     SI

TEST    AL81H

LOOPZ  NEXT

MOV    BL[SI]

请回答程序段运行后:AL= BL=

 

6  ABY  DB  56H28H5AH94H61H

… …

        MOV  CLABY

        MOV  ALABY +1

        ADD   ALCL

        DAA

上述指令序列执行后,AL=? CL=?

 

7.程序段如下:

    ASC1  DB  5  DUP( ? )

… …

          MOV  BXOFFSET  ASC1

         MOV  AL45H

          MOV  CX5

    LOPMOV  [BX]AL

          DEC   AL

          INC    BX

          LOOP  LOP

试问:程序运行后,①从ASC1开始的5个字节中依次存放的什么数据?②与这些数据对应的ASC码字符是什么?

 

8.程序段如下:(设执行前SP200H   )

               MOV  AX1234H         

               MOV  BX5678H   

                    …

PUSH   AX

PUSH   BX

POP    AX

POP    BX

试问:下述程序段执行后AX ? BX? 执行后SP?

 

 9         ORG  2000H

           VAL   DB   ?

… …

           MOV  SIOFFSET  VAL

           MOV  CXSI

      XTADD  SI1

           LOOP   XT

变量VAL的偏移地址=?程序段执行后SI=?

 

程序设计

1编写程序vals开始有n个单字节有符号数的数据区中找出其中的最大数据存入max单元。

data   segment

vals  db  76-12 712084-5102……

  n $-vals

max  db  ?

data   ends

 

2如下数据段,设STR1字符串中有不超过15个数字字符。编写汇编语言程序,统计STR1串中的数字字符的个数,在显示数字字符的个数为:信息的后面显示统计结果。

              DATA  SEGMENT

                STR1  DB ‘……This number is 31594347……

         LN = $-STR

         STR2 DB ‘数字字符的个数为: $’

DATA  ENDS

 

3.编写汇编程序,功能是把bcdm中的非压缩bcd码,转换为相应的ascii码存到asci数据区中并送屏幕显示。

  data   segment

bcdm  db  09h,05h,06h,02h,08h,0,03h,01h,07h,04h

    cunt $- bcdm

asci  db  cunt  dup ( ? )

data   ends

 

4.  如下数据段,字节变量HX中定义了10个字节的数据,设计汇编程序按顺序把它们转换成字符,存入AC开始的数据区。(注10个字节的数据可看成20个十六进制数码)

MYD  SEGMENT

HX  DB  6AH,0E1H,57H,98H,0C1H,36H,11H,49H,0C2H,3CH

AC  DB  20 DUP(?)

MYD   ENDS

 

5. 首地址为buff1的数据区中存放若干数字字符,编程序把buff1中的数字字符转换为相应的非压缩BCD码,并存入buff2数据区中。

DAT  SEGMENT   

buff1  DB  ‘2981058368’

     N1 $ - buff1

buff2  DB  N1  DUP ( ? )

DAT  ENDS

 

接口应用

1.设8253通道地址范围为48H~4BH 0通道CLK0连接频率为2MHZ的时钟信号,现要求:计数器1输出一个频率为1Hz的方波信号,⑴画出8253电路连线图。⑵编写初始化程序。

2利用8086引脚,产生存储器读与写和IO读与写信号,画出电路图。

3.如图电路图,设8255A的端口地址为20H~23H,试编程实现:当开关K1K2K3K4全向上(接+VCC)时,只有L1灯亮,当开关K1K2K3K4全向下(接地)时,只有L2灯亮,否则,只有L3灯亮,请编写完整的实验程序,要求灯能实时反映出开关的状态。

4.如图1.1步进电动机SM4个电极abcd(其中a-c为一组线圈,b-d为一组线圈)。如图1.2当相邻两极加高电平“1”时,另外两相邻两极加低电平“0”时,电机的转子就会偏转(如a=b=”1”c=d=”0”,时,转子上的K点就会偏转到ab两极之间的位置上)。现有如图1.3的实验电装置电路,①请写出转子K点从ab之间开始,顺时针步进转一周分几步?每步通过PA口的输出码?(答案格式如:步1-输出码00000011-K点位于ab间;)请编写程序(包括8255的初始化),使步进电机产生以每秒一圈的速度顺时针连续均匀转动。(设延时子程序DELY0.01秒的延时量, 8255ABC口和控制口的地址分别是28H29H2AH2BH。)





文本框: 驱 动 电 路

步进电机控制


 

 

 

 

 

 

 

 


5某系统中,定时/计数器8253的通道012和控制字端口分别为60H61H62H63H。请完成:

1)设CLK02MHz,定义通道0工作在方式2,要求输出OUT0lkHz方波,计算定时系数并写出通道0初始化程序;

2定义通道1工作在方式2,用上述通道0OUT0信号作为通道1的输入计数脉冲,设计数值为1000,请画出通道0和通道1的电路图,计算OUT1周期并写出通道1初始化程序;

3)若用OUT1信号向CPU发中断请求,请画出中断信号产生的电路。

 

6.8253作为某数据采集系统的定时器,每隔10ms用中断方式采集一次数据,已知输入时钟频率为10kHz8259端口地址为20—21H,中断类型号为13H8253端口地址为40~43H,请为82598253编制初始化程序。

 

78253作为控制系统的定时器,每隔100ms以中断方式监控一次。设8253的输入时钟频率为fc=1MHz,端口地址为30—33H8259端口地址为80—81H,中断类型号为23H。要求:①计算8253的定时时间常数,用图中标出的信号线,画出82538259的电路连线图;②分别为82598253编制初始化程序。

 

8. 8255ABC口工作在方式0下,能循环查询输入输出,当查询到PC1=1时结束本程序;查询到PC1=0PC0=1时,从A口读入数据,将其高四位取反,低四位保持不变,然后送B口输出。试编写8255初始化和应用程序(设8255  ABC口和控制端口地址为70H-73H)。

 

9.8253作为温控系统的定时器,每隔2秒用中断方式测/控一次数据,8253的输入时钟频率为fc=100KHz,端口地址为50—53H8259端口地址为58—59H,中断类型号为61H。要求:①计算8253的定时时间常数,画出82538259的电路连线图(可参考题20图);②分别为82598253编制初始化程序。

 

10. (延续题22)设计用8255做为控温加热系统的温度输入和控温输出接口,TS是数字化测温模块,当OE=1TS通过8位数据线DATA输出补码格式的温度值。HC为加热器,当STB=1时,通过数据线线DATA可向HC的输入8位无符号数PNPN越大HC的热功率越大,PN=0HC不发热。要求8255定时检查温度,按温度大小分段控制HC的功率,设8255端口地址为5C5FH。①画出8255TSHC间的电路连线;②写出8255的初始化程序;③利用题1,编写中断程序,每隔2秒进行一次温度t测量,t值向HC输出PN:当0≤t100时,PN=200100≤t120时,PN=100120≤t150,PN=50t150时,PN=0

 

11. 请把28259A接成非缓冲级联方式,#1为主片,#2为从片,#2片通过主片的IR1请求中断,正确连接图中标出的信号,接往CPU的标明所接的CPU信号。

 

 

练习题参考答案

基本练习题

1-4

1(3A.4) 16=(     )2=(    )10   (F0)16=(  )10 (F0)16是补码,其真值 =   )。

( 111010.01 58.25   240-16)

2CPU的组成?    (运算器和控制器)

38086中,引脚AD15~AD0 是?其外部数据总线为几位?

  地址与数据复用总线; 16 

48086处理器中处理动作的最小时间单位是?一个典型总线周期需要多少个T状态?

1T时钟4T

5Intel 8086 I/O寻址空间有多大?8086系统中的物理长度为多少字节?64KB 64KB

6.处理器寻址能力与地址线数n的关系?如80286处理器具有16MB的寻址能力,该处理器具有多少条地址线?若某处理器具有4GB的寻址能力,则该处理器具有多少条地址线?

 (寻址能力=2nn=24n=32

74K×8RAM芯片,有地址线条数是多少条?1024×1RAM芯片设计一个32KB的存储器系统,问需要有多少片芯片组成?在一微机系统中,需组成一个64K字节的RAM,若选用64K×1位的Intel2164芯片,需要多少片?(12条;(32×1024×8)/(1024×1)=256片; 8片)

88086的段寄存器有哪些?它们是多少位的寄存器?8086的中断向量表在内存中的地址范围是从哪到哪?它可以容纳多少个中断向量?

CSDSSSES16位; 0:0000H~ 0:03FFH256个)

98086CPU复位后的初始指令地址是?当CPU复位后的中断允许标志的状态是?

FFFF0H   禁止中断状态)

108086MN/MX引脚的作用是? ( 设置CPU最小/最大工作模式 )

118086系统的堆栈操作以特点是?放堆栈顶地址的寄存器是?

(双字节为单位,数据进栈时栈顶向小地址方向浮动   SP

128086CPU进行I/O写操作时应满足的引脚关系?当8086CPU进行存储器写操作时的引脚关系?8088执行存储器写时序的时候,是什么电平?是什么电平?(#表示低电平)

  (M/IO#=0,WR#=0 ,RD#=1  M/IO#=1,WR#=0  =0=1)

13.当DMA控制器向CPU请求总线后,CPU何时响应这一请求?当进行DMA操作时,CPU要作什么?    (总线周期完;必须让出三总线给DMAC

1480888086CPU响应可屏蔽中断的三个必要条件是?

 (①当前指令执行结束、② IF=1和③INTR=1 

15. 在计算机中,按先进后出方式工作的存储空间是?8086CPU的堆栈操作以什么为单位?数据进栈时,栈顶向哪个地址方向浮动?  (堆栈;字;小地址方向)

16CPU响应可屏蔽中断时,从何处获取中断类型码?用软件确定中断优先权时,如何改变中断的优先权?    (从数据总线上读取中断类型码;只要改变查询的先后顺序

17标志IF称为?    (中断允许标志)。

18. 介于CPU与主存储器间的高速缓冲存储器cache的作用是?

(提高CPU访问主存的等效速率 

 

5-7

1.什么寻址方式的操作数在寄存器中?在什么寻址方式时操作数在存储器中?8086从存储器每取一条指令需要几个总线周期?

(寄存器寻址;存储器寻址;不同指令长度不一样,至少要一个

2.被移位指令最后移出的数据位会留存在什么标志位中?   CF

3. 什么指令能使寄存器CX的低四位取反?低4位清零?

XOR CX,000FH AND CX0FFF0H

4.若AL=81H 执行CBW后,则AX=?若AL=95H 执行CBW后,则AX=?已知SP=2110H,执行POP  AX后,SP=     (0FF81H 0FF95H 2112H)

5.AX=3500H,CX=56B8H,当AND AXCX指令执行后,AX=?   (1400H)

6 AX=1562H,指令XOR AXAX执行后AX中的值是?   0

7.DEC BYTE PTR[BX]指令中的操作数的数据类型是?    ( 字节 )

8.串操作指令(如SCASB)的目的操作数的段地址一定在?   (ES)

9.伪指令ORG的功能是?END START语句功能是?

 (内存起始偏移地址定位;指示汇编到本句结束,本程序从START处开始执行)

10COUNT EQU 256,其中COUNT称作?占几个字节存储单元?

 (COUNT是符号常数,不占存储单元 )

11.执行CLDMOVSB指令后,SIDICX的变化? SI1DI1CX1

12AX中有符号数除以2的正确指令是?    (SAR  AX1 )

13.这四条指令执行后,不改变AL寄存器内容的指令是?①AND AL,1CMP AL,DLXOR AL,AL SUB AL,DL     (②)

14.这几条指令中正确的是?①CMP  [SI],100; CMP WORD PTR [SI],100;CMP  [SI],100h;CMP 100h,[SI] ;MOV DS,0;MOV AX,[BP][DI]; MOV  WORD PTR [SI]100; MOV  WORD PTR [BX]5      ②⑥⑦⑧

15.定义语句BUF DW 1,10 DUP(3 DUP(1,0),2) ,0ABH汇编后,为变量X0分配的存储单元字节数是?         (90H 144)

16.执行1DOS系统功能调用,从键盘输入的字符值存放在?执行2DOS系统功能调用,待显示字符应存放在?INT  27H中断的中断向量所在的向量表单元地址是?

 (AL DL  0009CH  )

17.在DEBUG下,AUD命令的作用是? DEBUG上机调试程序时,存储器地址表示为12FA:015F,它的物理地址是?    (汇编、反汇编 、查看数据 130FFH

18.判断AXBX是否同时为偶数或同时为奇数。若是转YES的不正确指令序列是?  (A)

A

OR  AXBX


B

XOR  AXBX


AND  AX1



AND  AX1


JE  YES



JE  YES

C

CMP  AXBX


D

SUB  AXBX


AND  AX1          



AND  AX1


JE  YES



JE  YES

19. 比较BXSI中的两个存储器地址,若BX≥SI转向HIGH的正确指令是? (JAE HIGH )

20.ABC DB 3 DUP02 DUP12),3

       COUNT EQU  $-ABC

符号COUNT等价的值是?    18

218086微处理器的可屏蔽中断请求信号来自于引脚?   INTR )

22.一个总线周期完成一次数据传输,至少要有几个过程?    传送地址与传送数据  )。

23.在指令ADDCMPPUSHFPOPF中,不影响标志寄存器值的指令是?( PUSHF  

24ES=3000HDI=00FFHCX=0005HAL41HDF0,从300FFH开始的连续5个字节单元内分别是44H43H42H41H41H。执行REPNZ  SCASB指令后,DI=?CX=?( DI0103HCX0001H    )。

 

8-9

1.可编程序接口芯片是指?   (工作状态可由 CPU/主机来控制设定的接口芯片)

2.程序控制输入/出传送方式是?CPU不断检测外设状态,当外设准备就绪后,才进行数据传送。这种数据传送方式称为?

(无条件传送、条件传送和查询传送      ;查询传送方式)

3.属于程序控制的传送方式的是?    (无条件传送,查询传送或条件传送)

4.在查询传送方式中,CPU要对外设访问操作前,必须先做什么?设查询传送输入方式,被查询I/O端口应给出什么信号?一个基本IO接口通常具有哪些端口?

(进行状态检测;就绪信号;数据、状态和控制端口)

5.并行接口芯片8255的哪些引脚完成内部I/O端口选择?A1A0

68255A有几个端口?哪个端口可以以双向方式工作?哪个端口可进行按位置位/复位的操作?C口用途?只有方式0和方式1两种工作方式的端口是?

 (3个数据1个控制共48位端口; A口; C口; C口可作为端口AB的联络信号线,又可作为端口使用;  B  )

7.若8255A口设置输入和方式1,当 A口正做什么操作?

(外设数据进入A口)

8INTEL 8251A在串行异步通信时,设通信的波特率为1200bps,通信波特率为16,则外部时钟速率为?波特率9600bps时,时钟速率为?

(1200bps×16=19.2K 9600bps×16=153600=153.6K )

9.在串行异步通信中,常采用什么校验方式?     (奇偶校验)

10.在8251作异步通信,什么情况下会发生桢格式错误?   (接收端没有收到停止位时

118251在串行通信中,CPU检测到8251FE=1,这表明通信发生了?  (帧格式错误)

12.在8251作串行异步传送时,什么情况下会发生溢出错误?

(串行异步传送,8251尚未读完当前桢数据,下一新数据又进入8251输入缓冲器,就会发生溢出错误)

138253中有几个独立的计数器?   316 位计数器

148253的计数器可做哪种计数?   (二进制或十进制

158253有几种工作方式?哪种方式称为方波发生器?     6

168253计数器的最大计数初值是?   FFFFH

17.已知8253定时/计数器通道0 CLK0连接时钟信号的频率为2MHz,要用通道0产生周期1毫秒方波,则通道0的二进制计数初值N=?  2000 

188259A有几个端口地址?   2  

19.每一片8259A可管理几级优先权中断源?通过级联最多可管理几级优先权的中断源?能向CPU提供可编程的中断类型号?    864,可以)

208259的普通EOI结束命令的作用是?特殊EOI结束命令的作用是?

(用于清除当前优先级最高的IS ;用于清除指定优先级的IS位)

21Intel 8086 PC机中,可以用什么控制多个可屏蔽的中断源是否被响应?

(除受IF标志的控制外,还受到8259A中断屏蔽寄存器的控制

22.当进行DMA操作时,CPU必须让出什么给DMAC    (三总线)

23.当DMA控制器向CPU请求使用总线后,8086CPU在什么时间响应这一请求?

(总线周期完)

248086的中断向量表可以容纳多少个中断向量?每个中断向量占几个字节?中断向量表在内存中的地址范围是从多少到多少?, 256 4 ;从 000000000H003FFH 

25.异步串行通信传输一个字符的格式是?  

(以一位低电平起始位开始,以1-2位高电平的停止位结束。)

26在多个中断源的情况下,为增加控制的灵活性,常要求在每一个外设的接口电路中,设置一个什么触发器,只有当此触发器为“1”时,外设的中断请求才能被送到CPU  

  (中断屏蔽)

278086CPU中,软件中断的中断类型码来自?    (指令的操作数)

288255A的端口A工作在方式1输入时,与配对使用的联络信号是?  ( IBF

29. 28255引脚完成内部I/O端口地址选择?

(地址信号A1A0与片选CS#=0共同用于I/O端口地址选择。通过A1A0所组合的地址来区分8255A内部ABC三个数据端口和一个控制端口的地址。)

30. 8255A的哪个口各位可进行按位置位/复位的操作?   (C)

31.8255的选通输出操作中,ACK#信号的用途是什么?

(ACK#是外设响应信号。ACK#是由外设送给8255的。当CPU通过8255输出的数据已经送到外设时,外设便向8255ACK#应答信号。)

32. 8255的选通输出操作中用什么来清除OBF#信号?

(OBF#是输出缓冲器满信号。当输出缓冲器中的数据被外设取走时应该将此信号清除。因此,由ACK#的有效信号将其置为高电平,即清除OBF#信号。)

33.什么是异步串行数据通信?

(按位进行传输的通信叫做串行通信。异步串行通信是串行通信的一种。所谓异步通信,是指在通信的双方没有统一的同步时钟,而是通过同步标志位来实现通信同步。在异步通信中,每一个字符的前后都要加上一些标志位组成一帧信息。这些标志位用作帧与帧之间的分隔和同步。)

34.什么是波特率?     (波特率即传输率,就是在通信过程中每秒传输串型数据的位数。)

35.解释下列术语:单工、半双工和全双工

(单工:接收和发送器之间只有一根传输线连接,并且只允许在一个方向传送数据。 半双工:接收和发送器之间只有一根传输线连接,发送和接收数据分时交替进行。通过软件和接口的协调控制,实现数据传输的方向转换。 全双工:接收和发送器之间有两根传输线连接,承担两个不同方向的数据传送,发送数据和接收数据可以同时进行。)

36.当8255A的端口A工作在方式1输入时,与配对使用的联络信号是?(IBF )

 

程序理解

1.现有下列程序段: 

mov   ax6540h

mov   dx3210h 

mov   cl04 

shl   dxcl  

mov   blah  

shl   axcl 

shr   blcl  

or    dlbl  

试问上述程序段运行后:ax=bl=dx=

答: ax=5400h;bl= 06 ; dx= 2106h

 

2         ORG  1000H

            DA1   DB  ?

… …

             LEA  SIDA1

             MOV  CXSI

     NEXTADD  SI2

            LOOP   NEXT

           

变量DA1的偏移地址=? 程序段执行后SI?

答: (1000H;  1000H+2*1000H=3000H)

 

3. 程序段如下:

str  db  ‘ABCDEFGHIJ’

           

        mov    ah01;从键盘输入一个1~9之间的字符

        int    21h

        and    al0fh

        dec    al

        xor    ahah

        mov    bxoffset  str

        add    bxax

        mov    dl[bx]

        mov    ah02h  ;显示输出

        int    21h

         

试回答:

(1)如从键盘输人字符‘2’,程序段有什么结果?     (“B”)

 (2)如从键盘输人字符‘5’,程序段有什么结果?     (“E”)

 

4   VAL  DB  X

 … …

        MOV  AX0

        MOV  ALBYTE  PTR  VAL

        MOV  CL10

        MUL  CL

该程序段完成的功能的数学表达式是? 结果存放在?

答:(X*10 AX)

 

5.程序段如下:

VAL  DB  2012273-253484-46

MOV    CX7

LEA    SIVAL

NEXTMOV    AL[SI]

INC     SI

TEST    AL81H

LOOPZ  NEXT

MOV    BL[SI]

请回答程序段运行后:AL= BL=

答:73 -25   

 

6  ABY  DB  56H28H5AH94H61H

… …

        MOV  CLABY

        MOV  ALABY +1

        ADD   ALCL

        DAA

上述指令序列执行后,AL=? CL=?

答:AL 84H  CL 56H 

 

7.程序段如下:

    ASC1  DB  5  DUP( ? )

… …

          MOV  BXOFFSET  ASC1

         MOV  AL45H

          MOV  CX5

    LOPMOV  [BX]AL

          DEC   AL

          INC    BX

          LOOP  LOP

试问:程序运行后,①从ASC1开始的5个字节中依次存放的什么数据?②与这些数据对应的ASC码字符是什么?

答:45H44H43H42H41H  ‘E’‘D’‘C’‘B’‘A’

 

8.程序段如下:(设执行前SP200H   )

               MOV  AX1234H         

               MOV  BX5678H   

                    …

PUSH   AX

PUSH   BX

POP    AX

POP    BX

试问:下述程序段执行后AX ? BX? 执行后SP?

答:(AX 5678H BX1234H;执行后SP200H)

 

 9         ORG  2000H

           VAL   DB   ?

… …

           MOV  SIOFFSET  VAL

           MOV  CXSI

      XTADD  SI1

           LOOP   XT

变量VAL的偏移地址=?程序段执行后SI=?

   答:(偏移地址= 2000H  SI 4000H)

 

程序设计

1编写程序vals开始有n个单字节有符号数的数据区中找出其中的最大数据存入max单元。

data   segment

vals  db  76-12 712084-5102……

  n $-vals

max  db  ?

data   ends

参考答案

cod   segment

assume cscoddsdata

start:mov ax,data

mov dsax

mov si,offset vals

mov cx,ln-1

mov al[si]

next:inc  si

cmp al,[si]

jg   xx1

mov al, [si]

xx1dec cx

jnz  next

mov  maxal

mov ah,4ch

int 21h

cod   ends

        end  start

 

2如下数据段,设STR1字符串中有不超过15个数字字符。编写汇编语言程序,统计STR1串中的数字字符的个数,在显示数字字符的个数为:信息的后面显示统计结果。

              DATA  SEGMENT

                STR1  DB ‘……This number is 31594347……

         LN = $-STR

         STR2 DB ‘数字字符的个数为: $’

DATA  ENDS

参考答案

CODE   SEGMENT

         ASSUME CS:CODE,DS:DATA

  COUT  PROC  FAR

 ST: MOV  AX,DATA

         MOV  DS,AX

         SUB  BL,BL

LEA  DISTR1

MOV  CX,LN

      X1:CMP  BYTE PTR [DI],’0’

JB   G

CMP  BYTE PTR [DI],’9’

JA   G

INC  BL

G:INC  DI

LOOP  X1

LEA   DX,STR2

MOV  AH,9

INT  21H

CMP  BL,9

JBE   X2

ADD  BL,7

X2:ADD  BL,30H

   MOV  DL,BL

   MOV  AH,2

   INT  21H

MOV  AH,4CH

INT  21H

COUT  ENDP

   CODE  ENDS

         END ST

 

3.编写汇编程序,功能是把bcdm中的非压缩bcd码,转换为相应的ascii码存到asci数据区中并送屏幕显示。

  data   segment

bcdm  db  09h,05h,06h,02h,08h,0,03h,01h,07h,04h

    cunt $- bcdm

asci  db  cunt  dup ( ? )

data   ends

参考答案

cod   segment

assume cscoddsdata

start:mov ax,data

mov dsax

mov si,0

mov cx, cunt

next: mov al,[si+ bcdm]

add al,30h

mov [si+ asci],al

mov dlal

mov ah2

int  21h

inc si

dec cx

jnz  next

mov ah,4ch

int 21h

cod   ends

        end  start

 

4.  如下数据段,字节变量HX中定义了10个字节的数据,设计汇编程序按顺序把它们转换成字符,存入AC开始的数据区。(注10个字节的数据可看成20个十六进制数码)

MYD  SEGMENT

HX  DB  6AH,0E1H,57H,98H,0C1H,36H,11H,49H,0C2H,3CH

AC  DB  20 DUP(?)

MYD   ENDS

参考答案

CD  SEGMENT

      ASSUME CSCDDSMYD

FD  PROC  FAR

STARTMOV  AXMYD

        MOV  DSAX

        LEA SI,HX

        LEA DI,AC

        MOV DX,10

    X1: MOV AL,[SI]

        MOV AH,AL

        MOV CL,4

        SHR AL,CL

        CMP  AL,9

        JBE  X2

        ADD  AL,7

    X2: ADD  AL,30H

        MOV [DI],AL

        AND AH,0FH

        CMP  AH,9

        JBE  X3

        ADD  AH,7

    X3: ADD  AH,30H

        MOV [DI+1],AH

        ADD DI,2

        INC SI

        DEC DX

        JNZ   X1

MOV  AH4CH

        INT   21H

   FD  ENDP

   CD  ENDS

        END START

 

5. 首地址为buff1的数据区中存放若干数字字符,编程序把buff1中的数字字符转换为相应的非压缩BCD码,并存入buff2数据区中。

DAT  SEGMENT   

buff1  DB  ‘2981058368’

     N1 $ - buff1

buff2  DB  N1  DUP ( ? )

DAT  ENDS

参考答案:

COD  SEGMENT   

      ASSUME CS:COD,DS:DAT

ATOB  PROC  FAR

      MOV  AX,DAT

      MOV  DS,AX

      MOV  SI,0

      MOV  CX,N1

X0:   MOV  AL,[SI+ buff1]

      AND  AL,0FH

      MOV  [SI+ buff2],AL

      INC   SI

      LOOP  X0

      MOV  AH,4CH

      INT   21H

ATOB  ENDP

COD  ENDS

      END  ATOB

 

接口应用

1.设8253通道地址范围为48H~4BH 0通道CLK0连接频率为2MHZ的时钟信号,现要求:计数器1输出一个频率为1Hz的方波信号,⑴画出8253电路连线图。⑵编写初始化程序。

参考答案:

  GATE0=GATE1=Vcc; CLK1=OUT0

  计算时间常数:T=2MHz/1Hz=2000000=200×10000

0通道与1通道级联,

MOV AL01110110B

OUT 4BHAL

MOV AX10000

OUT 49HAL

MOV ALAH

OUT 49HAL

MOV AL00110100B

OUT 4BHAL

MOV AX200

OUT 48HAL

MOV ALAH

OUT 48HAL

2利用8086引脚,产生存储器读与写和IO读与写信号,画出电路图。

参考答案:

 

 

 

 

 

 

3.如图电路图,设8255A的端口地址为20H~23H,试编程实现:当开关K1K2K3K4全向上(接+VCC)时,只有L1灯亮,当开关K1K2K3K4全向下(接地)时,只有L2灯亮,否则,只有L3灯亮,请编写完整的实验程序,要求灯能实时反映出开关的状态。

参考答案:

MOV AL1001 1010B

OUT 23HAL

MOV AL0

OUT 22HAL

WAITIN AL20H

AND AL0FH

JZ   L2

CMP AL0FH

JE   L1

MOV AL4

OUT 22HAL

MOV CX10000

X1NOP

LOOP  X1

JMP  WAIT

L1MOV AL1

OUT 22HAL

MOV CX10000

X2NOP

LOOP  X2

JMP  WAIT

L2MOV AL2

OUT 22HAL

MOV CX10000

X3NOP

LOOP  X3

JMP  WAIT

4.如图1.1步进电动机SM4个电极abcd(其中a-c为一组线圈,b-d为一组线圈)。如图1.2当相邻两极加高电平“1”时,另外两相邻两极加低电平“0”时,电机的转子就会偏转(如a=b=”1”c=d=”0”,时,转子上的K点就会偏转到ab两极之间的位置上)。现有如图1.3的实验电装置电路,①请写出转子K点从ab之间开始,顺时针步进转一周分几步?每步通过PA口的输出码?(答案格式如:步1-输出码00000011-K点位于ab间;)请编写程序(包括8255的初始化),使步进电机产生以每秒一圈的速度顺时针连续均匀转动。(设延时子程序DELY0.01秒的延时量, 8255ABC口和控制口的地址分别是28H29H2AH2BH。)





文本框: 驱 动 电 路

步进电机控制


 

 

 

 

 

 

 


参考答案:

一拍一步:

1-输出码00000011-K点位于ab间;

2-输出码00001001-K点位于ad间;

3-输出码00001100-K点位于dc间;

4-输出码00000110-K点位于bc间;

 

一拍一步:

Step  db 03h,09h,0ch,06h

 

Mov al,10001011b

Out 2bh,al

X0:Lea si,step

Mov cx,4

X2:Mov al,[si]

Out 28h,al

Mov bl,25

X1:call dely

Dec bl

Jnz  x1

Inc si

Loop  x2

Jmp x0

 

5某系统中,定时/计数器8253的通道012和控制字端口分别为60H61H62H63H。请完成:

1)设CLK02MHz,定义通道0工作在方式2,要求输出OUT0lkHz方波,计算定时系数并写出通道0初始化程序;

2定义通道1工作在方式2,用上述通道0OUT0信号作为通道1的输入计数脉冲,设计数值为1000,请画出通道0和通道1的电路图,计算OUT1周期并写出通道1初始化程序;

3)若用OUT1信号向CPU发中断请求,请画出中断信号产生的电路。

答:

1)时间系数

NT=1÷1000÷1÷2000000=2000000÷1000=2000

初始化程序:

Mov  al,00110100B

Out  63h,al

Mov ax,2000

Out  60h,al

Mov  al,ah

Out  60h,al

2out1周期T1

T1=1000/1000=1(秒)

初始化程序:

Mov  al,01110100B

Out  63h,al

Mov ax,1000

Out  61h,al

Mov  al,ah

Out  61h,al

 

3

 

 

 

 

 

 

 

6.8253作为某数据采集系统的定时器,每隔10ms用中断方式采集一次数据,已知输入时钟频率为10kHz8259端口地址为20—21H,中断类型号为13H8253端口地址为40~43H,请为82598253编制初始化程序。

答:8253选通道1以方式2定时,时间初值N=10KHz×10ms=100 8259由于中断类型号为13H,所以只能通过IR3,初始人为完全嵌套、边沿触发、非缓冲、非自动结束:

8253初始化:

MOV  AL01110100B

OUT  43HAL

MOV  AX100

OUT  41HAL

MOV  ALAH

OUT  41HAL

8259初始化:

MOV  AL00010011B ICW1

OUT  20HAL

MOV  AL13H       ICW2

OUT  21HAL

MOV  AL01H      ICW4

OUT  21HAL

IN   AL21H       ;读原屏蔽字

AND  AL11111011B  ;允许IR3中断

OUT  21HAL 

 

78253作为控制系统的定时器,每隔100ms以中断方式监控一次。设8253的输入时钟频率为fc=1MHz,端口地址为30—33H8259端口地址为80—81H,中断类型号为23H。要求:①计算8253的定时时间常数,用图中标出的信号线,画出82538259的电路连线图;②分别为82598253编制初始化程序。

答:

    计算8253的定时时间常数:Tn=输入频率/输出频率

时间常数超过一个计数通道的最大值,所以用二个计数通道串接计数(如图)

    8259初始化程序:中断采用边缘触发方式,普通EOI方式

MOV AL00010011B

OUT 80HAL

MOV AL23H

OUT 81HAL

MOV AL1

OUT 81HAL

 

8253编制初始化程序:定时时间常数Tn=100000>65535(单通道最大定时初值),所以选择通道0和通道1串联,通道0定时初值100,通道1定时初值1000,工作方式2

MOV AL00110100B

OUT 33HAL

MOV AX100

OUT 30HAL

MOV ALAH

OUT 30HAL

 

MOV AL01110100B

OUT 33HAL

MOV AX1000

OUT 31HAL

MOV ALAH

OUT 31HAL

STI

 

8. 8255ABC口工作在方式0下,能循环查询输入输出,当查询到PC1=1时结束本程序;查询到PC1=0PC0=1时,从A口读入数据,将其高四位取反,低四位保持不变,然后送B口输出。试编写8255初始化和应用程序(设8255  ABC口和控制端口地址为70H-73H)。

答:MOV AL,10011001B  ;A0方式,B0方式,C

OUT 73H,AL

IN AL,72H

WAIT:TEST AL,2

JNZ  DONE

TEST AL,1

JZ  WAIT

IN AL,70H

XOR AL,0F0H

OUT 71H,AL

JMP  WAIT

DONE:RET

 

9.8253作为温控系统的定时器,每隔2秒用中断方式测/控一次数据,8253的输入时钟频率为fc=100KHz,端口地址为50—53H8259端口地址为58—59H,中断类型号为61H。要求:①计算8253的定时时间常数,画出82538259的电路连线图(可参考题20图);②分别为82598253编制初始化程序。

答:计算8253的定时时间常数:Tn=输入频率/输出频率

时间常数超过一个计数通道的最大值,所以用二个计数通道串接计数(可参考题20). 所以用二通道串连做定时,取N1=2000,则N2=N/N1=100,将OUT0CLK1,工作方式选方式2速率波发生器,GATE0=GATE1=1,它可连续定时,但定时到时产生的是负脉冲,用该负脉冲产生中断信号需要反相。由于8253定时中断的类型号选在61H8253的中断请求要接8259IR18259SP=1接高电平。

8259的初始化编程:

MOV  AL0001XX11B

OUT  58HAL

MOV  AL61H

OUT  59HAL

MOV  AL00000X01B

OUT  59HAL

IN  AL59H

AND  AL11111101B

OUT  59HAL

CLI

8253初始化编程:

MOV  AL0111X100B;先设置1通道,二进制计数,也可设成BCD计数

OUT   53HAL

MOV  AX100

OUT  51HAL

MOV  ALAH

OUT  51HAL

MOV  AL0011X100B;设置0通道

OUT  53HAL

MOV  AX2000

OUT  50HAL

MOV  ALAH

OUT  50HAL

 

10. (延续题22)设计用8255做为控温加热系统的温度输入和控温输出接口,TS是数字化测温模块,当OE=1TS通过8位数据线DATA输出补码格式的温度值。HC为加热器,当STB=1时,通过数据线线DATA可向HC的输入8位无符号数PNPN越大HC的热功率越大,PN=0HC不发热。要求8255定时检查温度,按温度大小分段控制HC的功率,设8255端口地址为5C5FH。①画出8255TSHC间的电路连线;②写出8255的初始化程序;③利用题1,编写中断程序,每隔2秒进行一次温度t测量,t值向HC输出PN:当0≤t100时,PN=200100≤t120时,PN=100120≤t150,PN=50t150时,PN=0

 

答:

PC7=OEPC0=STB

8255初始化编程:

MOV  AL10010000B

OUT  5FHAL

MOV  AL00000010B    ;置STB=0,禁出

OUT  5FHAL

 

中断服务程序:

MOV  AL00001111B OE=1

OUT  5FHAL

IN   AL5CH   ;输入温度值

MOV  AHAL

MOV  AL00001110B OE=0

OUT  5FHAL

CMP  AH100

JB   L1

CMP  AH120

JB   L2

CMP  AH150

JB   L3

MOV  AH0

JMP   XX

L1MOV  AH200

JMP   XX

L2MOV  AH100

JMP   XX

L3MOV  AH50

XXMOV  AL00000011BSTB=1

OUT  5FHAL

MOV  ALAH

OUT  5DHAL  ;输出PN

MOV  AL00000010BSTB=0

OUT  5FHAL

MOV  AL20H  ;发EOI命令

OUT  58HAL

CLI              ;开中断

IRET

 

11. 请把28259A接成非缓冲级联方式,#1为主片,#2为从片,#2片通过主片的IR1请求中断,正确连接图中标出的信号,接往CPU的标明所接的CPU信号。

 

答:

 


吐血推荐

奥鹏,国开形考,广开,电大在线,各省平台,新疆一体化,各类成人教育等学习。详情请咨询QQ : 103092222或微信: xyzlfx100

添加微信查看答案

福建师范大学《计算机原理与接口技术》期末复习题_学优资料分享网

添加微信二维码,了解更多学习技巧,平 台作业、毕业论文完成时间友情提醒。。

合作洽谈

诚信为本,合作共赢

欢迎各大学习中心前来治谈;有意请联系我们

推荐作业

留言板
captcha
感谢留言
我们会尽快与您联系
关闭