2022年《微机原理及应用》期末自测题答案版 .pdf

上传人:Che****ry 文档编号:35294944 上传时间:2022-08-21 格式:PDF 页数:15 大小:134.54KB
返回 下载 相关 举报
2022年《微机原理及应用》期末自测题答案版 .pdf_第1页
第1页 / 共15页
2022年《微机原理及应用》期末自测题答案版 .pdf_第2页
第2页 / 共15页
点击查看更多>>
资源描述

《2022年《微机原理及应用》期末自测题答案版 .pdf》由会员分享,可在线阅读,更多相关《2022年《微机原理及应用》期末自测题答案版 .pdf(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、微机原理及应用期末自测题一、基本概念与术语1、8086 是( 16 )位计算机。 8086 地址线有(20 )条,可直接寻址的空间最大为( 1M ) 。2、总线周期是指(进行一次总线操作的时间) 。基本总线周期有(4 )T 状态。Tw 状态是指(等待周期) 。3、8086CPU 允许的 I/O 地址线最多可达 ( 16 )条,最大寻址 I/O 空间为(64K ) 。4、8086CPU 由( 总线接口部件BIU ,执行部件EU )两部分组成,其功能为(总线接口部件BIU ,负责控制存储器与I/O 端口的信息读写,包括指令获取与排队、操作数存取等。执行部件EU 负责从指令队列中取出指令,完成指令译

2、码与指令的执行行。) 。其中 8086CPU 中标志寄存器的作用是( 记录指令运行的状态标志和控制标志) ,指令队列的作用是(完成指令的获取和排队) ,20 位地址加法器的作用是(将执行单元提供的 16 位非重定位地址重定位为20 位的存储器物理地址, 用于存储器接口访问总线上实际的物理存储器) 。代码段物理地址由CPU 的(CS,IP )两个寄存器确定。堆栈段物理地址由 CPU 的(SS,SP )两个寄存器确定。5、8086 中断源有(系统外部中断,内部中断两)个。 8086 中断服务程序入口地址由( 中断向量表)组成。中断类型号为20H,其中断向量为(80H ) 。6、 I/O 指令 IN

3、/OUT ,传送数据的寄存器为(AL,AX ) ,间接寻址时使用寄存器(DX ) ,其中IN AL,DX 的含义是(将 DX 中的数据写入到AL 中) 。OUT 60H,AL 的含义是(将AL 读出到地址为60H 的端口中) 。7、一片 8259A 可以管理(8 )级中断; 3 片 8259A 可以管理(16 )级中断。8、硬件中断是(外部引发,随机的,执行总线周期,中断类型码由中断控制器提供),软件中断是(内部引发,确定的,不执行总线周期,中断类型确定)软件中断优先级与硬件中断优先级相比, ( 软件中断)的级别高。9、在中断服务程序结束前,为正确返回,必须设置一条指令(IRET ) 。在子程

4、序调用结束前,为正确返回,必须设置一条指令(RET ) 。10、若中断控制器8259 的中断请求寄存器IRR 状态为 10100000B,说明(IR5,IR7引脚上有中断请求) 。ISR 状态为 10100000B 说明(出现了中断嵌套) 。11、可编程定时器8253 的地址有(16 )个。共有(3 )独立定时通道。工作方式有(6 )个。12、并行接口8255 有(4 )个数据端口,有(3 )种工作方式。13、假设 8253 的端口地址为40H43H ,那么控制端口地址为(43H ),通道 0、1、2 的端口地址为(40H,41H,42H ) 。14、假设 8255 的端口地址为330H333

5、H ,那么控制端口地址为(333H ) ,端口 A、B、C 的地址为(330H,331H,332H )15、定时器8253 的门控信号GATE 作用是(门控输入端,用于外部控制计数器的启动或停止计数的操作) ,CLK端的作用是(计数器的时钟脉冲输入端,用于输入定时脉冲或计数脉冲信号) ,OUT 端作用是(定时器的输出端) 。16、初始化定时器8253 需要先写(控制字) ,后写(定时初值) 。17、伪指令的作用是(指出汇编程序应如何对源程序进行汇编,如何定义变量,分配存储单元,以及指示程序的开始和结束) , (不)产生机器代码。名师资料总结 - - -精品资料欢迎下载 - - - - - -

6、- - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 15 页 - - - - - - - - - 二、简单应用与简答题1、简述微型计算机的组成。微型计算机是由微处理器、存储器、输入/输出接口电路和系统总线构成的裸机系统。2、总线分为哪几种类型?微型计算机采用总线结构有什么优点? 分为地址总线,数据总线与控制总线三类,又称三总线。微型计算机的三总线结构是一个独特的结构。采用总线结构,系统中各功能部件之间的相互关系 ,变成了各功能部件面向总线的单一关系。一个部件只要符合总线标准,就可以连接到采用这种总线标准的系统中,使系统功能得到扩展。3、80

7、86 CPU 在内部结构上由哪几部分组成?其功能是什么 ? 8086 的内部结构分成两部分。总线接口部件BIU ,负责控制存储器与I/O 端口的信息读写,包括指令获取与排队、操作数存取等。执行部件EU 负责从指令队列中取出指令,完成指令译码与指令的执行行。4、8086 的总线接口部件由那几部分组成? 其功能是什么? 8086 的总线接口部件主要由下面几部分组成:4个段寄存器CS/DS/ES/SS,用于保存各段地址;一个 16 位的指令指针寄存器IP,用于保存当前指令的偏移地址;一个 20 位地址加法器,用于形成20 位物理地址;指令流字节队列,用于保存指令;存储器接口,用于内总线与外总线的连接

8、。5、8086 的执行单元(部件)由那几部分组成?有什么功能 ? 8086 的执行单元部件主要由下面几部分组成:控制器、算数逻辑单元、标志寄存器、通用寄存器组。(1)控制器,从指令流顺序取指令、进行指令译码,完成指令的执行等。(2)算数逻辑单元ALU ,根据控制器完成8/16 位二进制算数与逻辑运算。(3)标志寄存器,使用9 位,标志分两类。其中状态标志6 位,存放算数逻辑单元ALU运算结果特征;控制标志3 位,控制8086 的 3 种特定操作。(4)通用寄存器组,用于暂存数据或指针的寄存器阵列。6、简述 8086CPU 的流水线思想,与传统计算机有何不同。在 8086CPU 中,指令的提取与

9、执行分别由总线接口部件BIU 与执行部件EU 完成,两个单元重叠并行工作,这种机制称为流水线,这种工作方式有力的提高了CPU 的工作效率。传统的计算机一般按照取指令、指令译码与执行指令的串行步骤工作。7、8086 和 8088 是怎样解决地址线和数据线的复用问题的? ALE 信号何时处于有效电平? 8086/8088 采用时间分隔技术与地址锁存技术,通过地址锁存允许信号ALE 锁存 CPU送出的地址,有效解决地址线和数据线的复用问题。ALE 在 T1 状态有效,将CPU 送出的 20 位地址锁存。8、计算机对I/O 端口编址时通常采用哪两种方法?在8086/8088 系统中,用哪种方法对I/O

10、端口进行编址?对端口编址的两种方法。计算机对内存和I/O 端口统一编址;计算机对内存和I/O 端口名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 15 页 - - - - - - - - - 分别进行编址。在 8086/8088 系统中用计算机对内存和I/O 端口独立编址。9、一般的IO 接口电路安排有哪三类寄存器?它们各自的作用是什么?(1)安排数据寄存器、状态寄存器、控制寄存器。(2)数据寄存器:存放 CPU 与外设之间传送的数据信息。状态寄存器: 存放当前外设所处的

11、工作状态。控制寄存器: 存放 CPU 通过接口向外设传送控制信息。10 简述 CPU 与外设进行数据交换的几种常用方式与特点。CPU 与外设之间的数据传输有以下三种方式:程序方式、中断方式、DMA 方式。(1)程序方式又分为无条件传送方式和条件传送方式两种方式,接口简单。无条件传送方式用于简单外设,如LED 显示器。条件传送方式用于外设较少、需要联络信号的情形。(2)中断传送方式需要专门的中断控制电路。CPU 利用率高,速度快,用于外设较多的实时系统。(3)DMA 方式需要专用硬件电路。外设直接和存储器进行数据传送,效率高,适合大量、快速数据传送,例如硬盘读写等。11、简述条件传送方式的工作过

12、程,主要适用的场合。条件传送数据有三个环节:(1)CPU 从接口中读取状态字。 (2)CPU 检测状态字的对应位是否满足“就绪”条件,如不满足,则回到前一步读取状态字。(3)如状态字表明外设已处于就绪状态,则传送数据。主要用于需要联络信号(如选通信号)的外设较少的系统。12、 8086 CPU 响应中断的条件?8086 CPU 响应中断后自动完成的任务是什么?(1)有中断源发出的中断请求信号,并保存在中断请求触发器中,直至 CPU 响应此中断请求之后才清除。 (2)开放总中断。 (3)在现行指令结束后响应中断。关中断,断点保护,形成中断入口地址。即获得中断服务程序的入口地址,从而进入中断服务程

13、序。13、软件中断有哪些特点?硬件中断有那些特点?软件中断是由CPU 内部事件引起的中断,是确定的;与硬件无关,不执行中断响应周期;除单步中断外,软件中断(内部中断)不可屏蔽;优先级高于硬件中断(外部中断)。硬件中断由外部事件引起,是随机的, 需要执行总线周期,中断类型码由中断控制器提供。14、什么是中断向量?它放在哪里?对应于类型号1CH 的中断向量在哪里?如1CH 中断程序从 5110H :2030H 开始,则中断向量应怎样存放?中断向量是中断处理子程序的入口地址,它放在中断向量表中。由 1ch*4=70H 知中断向量存放在0000:0070 处。由于中断处理入口地址为5110H:2030

14、H,所以2030H 应放在0070H,0071H 两个存储单元, 5110H 应放在 0072H、0073H 这 2 个单元。15、简述定时器/计数器芯片8253 的主要功能。说明OUT 、CLOCK 与 GATE 信号的作用。(1)具有 3 个独立的16 位定时 /计时器,采用二进制计数时最大计数范围为065535,采用 BCD 码计数时, 最大计数值为09999 (2) 每个定时 /计数器都有自己的时钟输入CLK ,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 15

15、 页 - - - - - - - - - 定时的输出OUT 和门控信号GATE(3)每个定时 /计数器均可以按二进制或BCD 码计数,计数频率可达2MHz ( 4)每个定时 /计数器都有6 种工作方式,通过编程设置,计数器可做计数用,也可做定时用(5)所有输入和输出电平都与TTL 兼容OUT 是计数器的输出端,用于计数信号输出,CLOCK 是计数器的时钟脉冲输入端,用于输入定时脉冲或计数脉冲信号,GATE 是门控输入端, 用于外部控制计数器的启动或停止计数的操作16、 8253 内部有几个独立通道?8253 有几种工作方式?初始化8253 的步骤是什么?若8253 端口地址为200H-203H

16、 ,对应的端口是哪个?8253 内部有 3 个独立通道, 8253 有,6 种工作方式, 初始化 8253 的步骤是: 选择计数器,确定计数器数据的读写格式,确定计数器的工作方式,确定计数器计数的数制,写入计数初值,若 8253 端口地址为200H-203H ,计数器 0,1,2 和控制字寄存器端口的地址分别为200H,201H,202H 和 203H 17、并行接口8255 有几个数据端口?若端口地址为300H-303H ,对应的端口是哪个?怎样初始化 8255?并行接口 8255 有 4 个数据端口,若端口地址为300H-303H ,对应的端口是,:端口 A、B、C 和控制端口的地址分别为

17、300H,301H, 302H 和 303H 18、假设8255A 的端口 A 工作于方式0,外设需要提供两个联络信号,一个为输出选通,一个为外设就绪信号输入,试选择端口并说明理由。若 8255A 的端口 A 工作于方式0 输出,外设需要提供两个联络信号,把端口C 的高 4位某位,例如PC7 规定为输出口,用来输出选通信号;而把端口C 的低 4 位规定为输入口,例如用 PC0 用来读入外设的状态。就是这样,利用端口C 来配合端口A 和端口 B 的输入 /输出操作。19、中断控制器8259 的主要功能?简述8259 的工作过程。中断控制器8259 具有 8 级优先权管理,可用 9 片扩展为64

18、级中断系统, 接受中断请求,提供中断类型号,具有屏蔽与开放中断的功能,可编程选择不同工作方式8259 的工作过程:(1). 有请求输入时,将IRR 相应位置位;(2). 经 IMR 屏蔽电路处理后(IRR 与 IMR 相与) ,送 PR;(3). PR 检测出最高的中断请求位,并经嵌套处理考虑是否发送INT ;(4). 若可发 INT 信号,则控制逻辑将INT 信号送给 CPU 的 INTR 引脚(6). 若 CPU 处在开中断,则在当前指令完成后,发两个INTA 信号;(7). 8259A 接到第一个INTA 信号后,使ISR 位置位, IRR 相应位复位;(8). CPU 启动另一个响应周

19、期,输出第二个INTA 脉冲, 8259A (9). 向数据总线送出中断类型码;同时,CPU 取出此向量乘以4,(10). 得到中断服务程序的入口地址;(11). 中断响应周期完成,CPU 执行中断服务程序,8259A 工作(12).在自动结束 AEOI 或普通结束EOI 模式下,使ISR 清 0。三、编程应用题1、编程计算(X+Y)*10)+Z)/X,X、Y、Z 都是 16 位无符号数,结果存在RESULT 开始的名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 15 页

20、 - - - - - - - - - 单元。DATA SEGMENT RESULT DW 2 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA START: MOV AX,DATA MOV DS,AX ;初始化MOV BX,0 MOV AX,X ADD AX,Y JNC S0 MOV BX,1 S0: MOV DX,0 MOV CX,10 MUL CX ADD DX,BX ADD AX,Z ADC DX,0 MOV BX,X DIV BX LEA SI,RESULT MOV SI,AX ADD SI,2 MOV SI,DX MOV AH

21、,4CH INT 21H CODE ENDS END START 2、将 BUF1 开始的 100 字节传送到BUF2 开始的单元,然后从中检索字符“#” ,并将此单元换成空格字符。DATA SEGMENT BUF2 DB 100 DUP(?) DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DA TA MOV DS,AX ;初始化MOV ES,AX LEA SI,BUF1 LEA DI,BUF2 MOV CX,100 CLD 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - -

22、 - - - - 名师精心整理 - - - - - - - 第 5 页,共 15 页 - - - - - - - - - REP MOVSB MOV CX,100 LEA BUF2 S : MOV AL,#COM AL,DI JNZ COUN MOV AL, MOV DI,AL COUN: INC DI LOOP S MOV AH,4CH INT 21H CODE ENDS END START 3、编写一段程序,比较两个5 字节的字符串OLDS 和 NEWS ,若相同,在RESULT 置 0,否则置 0FFH。DATA SEGMENT OLDS DB 1,2,3,4,5 NEWS DB 1,2

23、,3,4,A N = $-NEWS RESULT DB 0 DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DA TA MOV DS,AX ;初始化MOV SI,OFFSET OLDS MOV DI,OFFSET NEWS MOV CX,N DON: MOV AL, SI CMP AL, DI JNZ NOEQU ;串不相等转INC SI INC DI LOOP DON MOV AL,0 JMP OUTPUT NOEQU: MOV AL,0FFH OUTPUT: MOV RESULT,AL STOP: JMP STOP ;

24、程序陷阱CODE ENDS END START 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 15 页 - - - - - - - - - 4、累加数组中的元素,将和存于SUM 开始单元,数据段定义如下DATA SEGMENT ARRAY DW 10,10,12,4,5,6,7,8,9,10 COUNT DW ($-ARRAY)/2 SUM DW ?,? DATA ENDS ASSUME CS:CODE,DS:DA TA START: MOV AX,DA TA MOV

25、DS,AX MOV AX,COUNT MOV BX,2 MUL BX MOV CX,AX MOV AX,0 LEA SI,ARRAY S: ADD AX,SI ADD SI,2 LOOP S LEA SI,SUM MOV SI,AX MOV AH,4CH INT 21H CODE ENDS END START 5、编写程序完成求123 ,N 的累加和,直到累加和超过1000 为止。统计被累加的自然数的个数送CN 单元,累加和送SUM。DATA SEGMENT CN DW ? SUM DW ? DATA ENDS ASSUME CS:CODE,DS:DA TA START: MOV AX,DA

26、TA MOV DS,AX MOV CX,0 MOV AX,0 MOV BX,1 S: ADD AX,BX INC CX CMP AX,1000 JA OK INC BX JMP S OK: LEA SI,SUM 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 15 页 - - - - - - - - - MOV SI,AX LEA DI,CN MOV DI,CX MOV AH,4CH INT 21H CODE ENDS END START 6、从给定串中寻找最大值,并放到

27、MAX 单元,元素放在BUFFER 开始的字节单元中。DATA SEGMENT BUFFER DB 10,32,56,11,90,56,89,21 N EQU $-BUFFER MAX DB ? DATA ENDS ASSUME CS:CODE,DS:DA TA START: MOV AX,DATA MOV DS,AX MOV CX,N-1 LEA SI,BUFFER S: MOV AL,SI CMP AL,SI+1 JNA S1 XCHG SI+1,AL XCHG SI,AL S1: INC SI LOOP S MOV AL,SI LEA SI,MAX MOV SI,AL MOV AH,4C

28、H INT 21H CODE ENDS END START 7、把 BUF 表中的字节元素按值的大小升序排列。数据段定义如下:BUF DB 10,32,56,11,90,56,89,21 N = $-BUF DATA SEGMENT BUF DB 10,32,56,11,90,56,89,21 N EQU $-BUF DATA ENDS ASSUME CS:CODE,DS:DA TA 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 15 页 - - - - - - - -

29、 - START: MOV AX,DATA MOV DS,AX MOV DX,N-1 S1: MOV BL,0 MOV CXDX LEA SI,BUF S2: MOV AL,SI CMP AL,SI+1 JNA NO XCHG SI+1,AL XCHG SI,AL MOV BL,0FFH NO: INC SI LOOP S2 DEC DX CMP DX,0 JNE S1 MOV AH,4CH INT 21H CODE ENDS END START 8、类型号为20H 的中断服务程序入口符号地址为INT-5 ,试写出中断向量的装入程序片断。CLI PUSH DS PUSH AX XOR AX ,

30、AX MOV DS,AX MOV AX,OFFSET INT-5 MOV WORD PTR 080H,AX MOV AX,SEG INT-5 MOV WORD PTR 082H,AX POP AX POP DS STI 9、设一个 8253 的计数器0 产生周期为20ms 的定时信号, 计数器 1 产生周期为100ms 的定时信号。设外部时钟频率为f=2MHZ ,端口地址为330H333H 。试对它进行初始化编程。MOV AL,00110100B MOV DX, 333H OUT DX,AL MOV AX,40000 MOV DX, 330H OUT DX,AL 名师资料总结 - - -精品资

31、料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 15 页 - - - - - - - - - MOV AL,AH OUT DX,AL MOV AL,01110100B MOV DX, 333H OUT DX,AL MOV AX,5 MOV DX, 331H OUT DX,AL MOV AL,AH OUT DX,AL 10、已知某8253 占用 I/O 空间地址为40H43H ,设定时器0、定时器1 工作于方式3,外部提供一个时钟, 频率 f=2MHZ 。要求定时器1 连续产生 5ms 的定时信号, 定

32、时器 0 连续产生 5 秒的定时信号。MOV AL,00110110B OUT 43H,AL MOV AX,1000 OUT 40H,AL MOV AL,AH OUT 40H,AL MOV AL,01110110B OUT 43H,AL MOV AX,5000 OUT 41HAL MOV AL,AH OUT 41H,AL 11、用 8255A 控制三个发光二极管依秩序循环显示。假设开关闭合时,点亮发光二极管,开关断开时息灭二极管。 (1)画出原理图,并说明工作原理;(2)选择 8255 工作方式;( 3)编写 8255 初始化程序与控制程序。见课本 P226 12、 8255 连接一组开关与一

33、组LED 显示器,如图所示。开关状态用LED 显示,若闭合,则点亮。 8255 端口地址为310H313H 。 (1)选择 8255 工作方式;编写8255 初始化程序与控制程序。见课本 P233 四、常用指令与读程序名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 15 页 - - - - - - - - - 1、8086 CPU 执行如下指令后的结果,以及标志CF、ZF 的值。MOV AL, 80H SUB AL, 10H ;(AL)=70H ADD AL, 89H

34、;(AL)=F9H ,CF=0,ZF=0 2、CPU 执行如下指令后的结果。MOV AX,1234H MOV BX,5678H PUSH AX POP CX AX=1234H, BX=5678H, CX=1234H 写出执行下列指令结果. MOV AX, TABLE MOV BX, OFFSET TABLE MOV CX, N MOV DX, LENGTH ZER AX=0 BX=1000H CX=8 DX=24 3、单独执行下列指令的结果MOV AL,10110101B AL=10110101B AND AL,00011111B AL=00010101B OR AL,11000000B AL

35、=11010101B XOR AL,00001111B AL=11011010B 4、单独执行下列指令的结果假设 (AL)=10101111B , CF=0,CL=4 ,写出分别执行下列指令后的结果以及标志位CF、ZF 的值。SHL AL ,CL AL=11110000B CF=0 ZF=0 SHR AL ,CL AL=00001010B CF=1 ZF=0 ROL AL ,CL AL=11111010B CF=0 ZF=0 6、读程序,写出结果。MOV AL,5BH TEST AL ,80H JZ LP MOV BL, 1 JMP STOP LP:MOV BL,0 HLT 执行上述程序段后A

36、L=5BH BL=0 五、程序设计与完善1、读程序,写出结果。DATA SEGMENT ;数据段定义BUF DB 8,2,3,4 ;定义一段字节存储空间,内容为8,2,3,4 COUNT EQU $-BUF ;计算 BUF 的字节长度DATA ENDS ;数据段定义名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 15 页 - - - - - - - - - CODE SEGMENT ;代码段定义ASSUME CS:CODE,DS:DATA START: MOV AX,D

37、A TA ;程序执行起始点MOV DS,AX ;将数据段地址寄存器指向用户数据段LEA SI,BUF ;BUF 偏移地址指向SI MOV CX,COUNT ;设定循环次数CALL ADDONE ;填空,调用子程序ADDONE HLT ADDONE PROC NEAR ;子程序代码段定义ADD BYTE PTRSI,1 ;SI 中数据加 1,送回 SI INC SI ;SI 地址加 1 LOOP DON ;循环判断RET ;返回主程序ADDONE ENDP ;子程序代码段定义CODE ENDS ;代码段定义END START ;程序结束(1)执行上述程序段后BUF 存储区的内容为:9,3,4,5

38、 。(2)给程序加上完整段定义。(3)给程序加上注释,说该程序功能。程序功能是将BUF 中数据分别加1,结果送回原存储空间2、读程序并完善。DATA SEGMENT ;数据段定义AR1 DB 1,2,3, 4,5,7 ;定义一段字节存储空间,内容为1,2,3,4,5,7 N = $-AR1 ;计算 AR1 的字节长度AR2 DB N DUP(0) ;定义 N 字节存储空间,内容为0,0,0,0,0,0 DATA ENDS ;数据段定义CODE SEGMENT ;代码段定义ASSUME CS:CODE,DS:DATA START: MOV AX,DATA ;程序执行起始点MOV DS,AX ;将

39、数据段地址寄存器指向用户数据段MOV CX,N ;设定循环次数MOV SI,offset AR1 ;取 AR1 偏移地址送SI 寄存器MOV DI,offset AR2 ;取 AR2 偏移地址送DI 寄存器again: MOV AL,SI ;将 SI 中数据送入AL MOV DI,AL ;AL 内容送数据到DI 所指单元INC DI ;DI 所指地址加1 INC SI ;SI 所指地址加1 LOOP again ;循环 again MOV AH, 4CH ;返回 DOS INT 21H CODE ENDS ;代码段定义END START ;程序结束名师资料总结 - - -精品资料欢迎下载 -

40、- - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 15 页 - - - - - - - - - 1)程序执行前,AR2 单元内容为:0,0,0,0,0,0 2)程序执行后,AR2 单元内容为: 1,2,3,4,5,7 3)给程序加上注释,说明程序功能;将 AR1 内存单元中数据复制到偏移地址AR2 中4)给程序加上完整段定义。3、下面是程序主要片段: DATA SEGMENT ;数据段定义BUF DB 0, 1,2, 3 ;定义一段字节存储空间,内容为0,1,2,3 COUNT = $- BUF ;计算 BUF 的字

41、节长度ASCII DB 0, 0,0,0 ;定义一段字节存储空间,内容为,0,0,0,0 DATA ENDS ;数据段定义CODE SEGMENT ;代码段定义ASSUME CS:CODE,DS:DATA START: MOV AX,DA TA ;程序执行起始点MOV DS,AX ;将数据段地址寄存器指向用户数据段LEA SI, BUF ;BUF 偏移地址指向SI LEA DI, ASCII ;ASCII 偏移地址指向DI MOV CX, COUNT ;设定循环次数DON: MOV AL ,SI ;SI 地址内数据送入AL ADD AL, 30H ;AL 中数据加 30H,转换为该数据的ASC

42、II 码MOV DI, AL ;AL 中数据送入DI 所指地址中INC SI ;SI 所指地址加1 INC DI ;DI 所指地址加1 LOOP DON ;循环 DON MOV AH, 4CH ;返回 DOS INT 21H CODE ENDS ;代码段定义END START ;程序结束(1)根据需要加上完整数据段段定义、代码段定义、程序结束等;(2)写出每行代码的注释,说明程序实现的功能。程序的功能是将BUF 存储空间数据装换为ASCII 码存入 ASCII 所指偏移地址完善程序,说明程序功能(15 分) 下面是程序主要片段: DATA SEGMENT ;数据段定义BUF DW 1234H,

43、 5678H ;定义一段字存储空间,内容为 1234H,5678H MAX DW ? ;定义一个字存储空间DATA ENDS ;数据段定义CODE SEGMENT ;代码段定义ASSUME CS:CODE,DS:DATA START: MOV AX,DA TA ;程序执行起始点名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 15 页 - - - - - - - - - MOV DS,AX ;将数据段地址寄存器指向用户数据段MOV SI, OFFSET BUF ;BUF

44、偏移地址指向SI MOV AX ,SI ;SI 所指地址数据送入AX MOV BX, SI+2 ;SI+2 所指地址数据送入BX CALL SUBRUT ;调用子程序SUBRUT JMP LP1 :转移到 LP1 SUBRUT PROC NEAR ;子程序代码段定义CMP AX, BX ;比较 AX 与 BX 内数据大小JA LP1 ;AX 中数据大于BX 中数据转移到LP1 XCHG AX ,BX ;否则,交换AX 与 BX 中数据RET ;返回主程序SUBRUT ENDP ;子程序代码段定义LP1: MOV MAX, AX ;将 AX 中数据送入MAX 所指偏移地址MOV AH, 4CH

45、;返回 DOS INT 21H CODE ENDS ;代码段定义END START ;程序结束(1)根据需要加上完整数据段段定义、代码段定义、程序结束,初始化数据段等;(2)写出每行代码的注释,说明程序实现的功能。程序功能是比较BUF 中两数据大小,将大数送入MAX 所指内存单元3、(习题 5.7, 教材 P145) 现有一输入设备,其数据端口的地址为FFE0H,并于端口FFE2H 提供状态,当其D0位为 1 时表明输入数据备好。采用查询方式进行数据传送的程序段,要求从该设备读取100个字节并输入到从2000H 开始的内存中。按要求完善程序,写出完整段定义。;-补充数据段定义- ;数据段段开始

46、ORG 2000H ; 定位到 2000H 单元BUF 120 DUP(0) ; 定义输入缓存区;数据段段结束;-补充代码段定义- START: MOV SI,offset BUF ;初始化数据区地址MOV CX,100 ;- 查询时输入 - LL: MOV DX,0FFE2H ;状态口地址送DX IN AX,DX ;读状态到 AL TEST AL,01H ;测试外设状态是否满足就绪?名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 15 页 - - - - - - -

47、- - JZ LL ;不满足,继续读状态MOV DX,0FFE0H ;就绪,准备输入数据IN AX,DX ;从输入端口读取数据CALL delay ;延时MOV SI ,AX ;存数据INC SI ;准备接受下一个数据LOOP LL ;数据没有输入完,继续MOV AH,4CH INT 21H DELAY PROC ;程序略RET DELAY ENDP CODE ENDS ;代码段定义结束END START 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 15 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁