《微机原理与接口技术》复习提纲(4)

2019-08-30 19:43

85、相对于条件传送方式,中断方式有什么优点?和DMA方式比较,中断传送方式又有什么不足之处?

【解答】中断传送方式下,当外设要求交换数据时,向CPU发中断请求,CPU在执行完当前指令后,即可中断当前任务的执行,并根据中断源转入相应的中断处理服务程序,实现对请求中断外设的管理。CPU与外设实现了并行工作,大大提高了工作效率。

DMA方式是在存储器与外设间开辟一条高速数据通道,使外设与内存之间直接交换数据,不需要CPU的干预。

86.用符号定义语句如下:(4分)

VAR1 DB 2,3,4,60 VAR2 DB 0 VAR3 DW 50 DUP(?) M EQU LENGTH VAR3

L

EQU VAR2 – VAR1

问L 的值是 4 ,M的值是 50 。

87. 当外设需向内存输入时以DMA方式传送数据,试叙述外设提出请求和CPU的响应过程。

HOLD DREQ DMAC CPU

8237 8086

HLDA DACK 硬 盘 ① I/O设备接口向DMA控制器发出请求信号,请求DMA传送。

② DMA控制器接到I/O设备请求后,向CPU发出总线请求信号,请求取得总线控制权。 ③ CPU在执行完当前总线周期后,响应请求,向DMA控制器发出总线响应信号;释放总

线的控制权,暂停执行主程序,处于等待状态。由DMA控制器取得对总线的控制权。 ④ DMA控制器接到CPU总线响应信号后,向I/O设备接口发出DMA响应信号。 ⑤ 由DMA控制器发出DMA传送所需的外设输入和存储器写控制信号。

⑥ DMA控制器内部的地址寄存器值加l,字节计数器值减1,如果计数器值不为0,则继

续下个地址单元的传送。

⑦ 当设定的字节数传送完成,结束DMA传送。DMA控制器释放对总线的控制权。CPU

重新获得总线的控制权,于是主程序从中断了的当前指令的总线周期开始继续执行。

88.描述以下这段子程序中的各语句功能和该子程序的总体功能

16

GETNUM PROC ;定义过程GETNUM

XOR BL, BL ;BL清0

GGG: MOV AH,01H ;1号功能,键盘输入

INT 21H ;执行DOS功能调用

CMP AL,0DH ;是回车吗? JZ PPP ;是结束

SUB AL,30H ;把ASCII码变成数字 CMP AL,0AH ;是A~F吗?

JB GETS ;是0~9直接送入寄存器

SUB AL,07H ;是A~F则减7 GETS: MOV CL,04H ;设置移位次数 SAL BL,CL ;左移4位

OR BL,AL ;高低4位拼成8位 JMP GGG ;继续键盘输入

PPP: RET ;子程序返回 GETNUM ENDP ;子程序结束

此子程序的总体功能是:从键盘输入8位二进制数放BL中。

89、程序阅读和分析 源程序如下: DATA SEGMENT

DA DB 2AH,6FH,33H,54H,15H,76H,4DH,38H

5CH,0AH,45H,10H,61H,38H,24H,65H

SDZ DB ? DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START : MOV AX,DATA MOV DS,AX LEA SI,DA MOV CX,15

MOV DL,[SI] ; 1) ADD SI,01H ; 2)

LP : CMP DL,[SI]

JNC NEXT ; 3) MOV DL,[SI] ; 4) NEXT: INC SI

LOOP LP ; 5) MOV SDZ,DL

17

MOV AH,4CH

INT 21H CODE ENDS

END START

(1) 结合本程序的具体功能,在划线处写出可执行指令的执行目的。 1)将第一个数据送到DL中

2)地址指针SI增1,指向第二个数据 3)DL大于等于(SI),程序转 NEXT 处 4)DL 小于(SI),则将(SI)中的大数送到DL 中 5)16个数据没有比较完,返回到 LP处,继续比较 (2)简述本程序段的功能。(5分)

从指定数据区中的16个字节数据中找出最大的数76H,并将最大数76H存放到内存单元 SDZ

中,即( SDZ ) = 76H。

90、程序阅读和分析 源程序如下:

DATA SEGMENT DAT1 DB 2,-1,7,-5,8,-3,9 COUNT EQU $-DAT1 RS DB ? DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX

MOV BX,OFFSET DAT1 MOV CX,COUNT

XOR DL,DL ;1) LOOP1: MOV AL,[BX] ;2) CMP AL,0

JGE NEXT ;3)

18

INC DL

NEXT: INC BX

LOOP LOOP1 ;4) MOV RS,DL ;5) MOV AH, 4CH INT 21H CODE ENDS

END START

(1)结合本程序的具体功能,在划线处写出指令性语句的执行目的。

1)DL清零

2)将内存数据送到AL中

3)AL大于等于0,程序转 NEXT 处

4)10个数据没有比较完,返回到 LOOP1处,继续比较 5)小于0的个数存入RS

(2)简述整个程序的功能。(3分)

统计指定数据区中的10个字节数据中的负数个数,并将其存放到RS中。

(3)程序执行完以后,RS= 3 。(2分)

91.编写一段完整的、运行后返回DOS的源程序,要求能够从键盘读入一行长度不超过80的字符串STRING。在该字符串中寻找空格符,若找到则显示‘FOUND’,若找不到则显示‘NO FOUND’。

(要求写出完整的数据段,代码段和算法源程序)

完整的源程序如下:

data segment

String db 80

db ?

db 80 dup( ?)

B1 db ‘FOUND$’ B2 db ‘NO FOUND$’ data ends

19

code segment assume cs:code,ds:data start: mov ax,data mov ds,ax

mov dx,offset string mov ah,0ah int 21h mov bx,offset string+2 mov cx,[offset string+1] lop: mov al,[bx]

cmp al,’ ’ jz fd inc bx loop lop jmp nofd

fd: mov dx,offset B1 mov ah,9 int 21h jmp end

nofd:mov dx,offset B2 mov ah,9 int 21h end: mov ah,4ch int 21h code ends end start

92 . 编制程序:打印用“*”号组成的三角形

题目要求:从键盘输入3至9之间的数字,用“*”号组成一个三角形图案。如输入数字6,屏幕上应显示如下图案。 ****** ***** **** *** ** *

20


《微机原理与接口技术》复习提纲(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:网银常见问题汇总

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: