一、填空题(每空1分)
1. 微型计算机系统的主要性能指标有: 字长 、 存储容量 、 指令系统 、 运算速度 、 系统配置 。
2. 微型计算机系统硬件包括: 运算器 、 控制器 、 存储器 、 输入设备 、 输出设备 等部件,这些部件通过 数据总线 、 地址总线 、 控制总线 相连接。
3. 8086的标志寄存器中控制标志有: IF 、 DF 、 TF 。
4. 8086的标志寄存器中状态标志有: CF 、 AF 、 ZF 、 PF 、 SF 、 OF 。
5. 随机存储器RAM可分为 双极型 和 MOS型 两大类。
6. 只读存储器ROM可分为: ROM 、 PROM 、 EPROM 、 EEPROM 。
7. 8255A是 可编程并行输入/输出接口 ,它有 3 个 8 位端口, 3 种工作方式。
8. 8253是 可编程定时器/计数器 ,它有 3 个计数通道, 6 种工作方式。
9. 串行通信中的数据传送模式有: 单工 , 半双工 , 全双工 。
10. 串行通信中最基本的通信方式: 异步通信 , 同步通信 。
11. ADC0809有 8 个模拟量输入信号,可用 3 位地址信号控制,有 8 位数据输出。
12. DAC0832是 可编程数/模转换器 ,有 8 位数字量输入信号, 2 个模拟量输出信号,可设置 3 种工作方式。
13. 8259A是 可编程中断控制器 ,它有 4 个初始化命令字, 3 个操作命令字。
14.汇编语言指令语句格式:
[标号:] 操作码助记符 [操作数1] [,操作数2] [;注释]
15. CPU和输入/输出设备之间传送的信息有 数据信息 、 状态信息 、 控制信息 。
16. 串行通信中信号传输时的调制解调方式有: 调频 、 调幅 、 调相 。
17. DAC0832可工作在 直通 、 单缓冲 、 双缓冲 三种方式。
18.地址译码的方式有 线译码 、 部分译码 、 全译码 三种。
19.RS-232C串行通信接口TXD和RXD信号的电气性能中“1”= -3~-25V ;“0”= +3~+25V 。
20.8237是 可编程DMA控制器 ,它有 4个的DMA 通道。
21. 8253每个计数器有 2 种计数方式,计数范围分别为: BCD 0~9999 ; 二进制 0~FFFFH 。
22.TTL电平经 1488 转换为RS-232C电平,RS-232C电平经 14 转换为TTL电平。
23. 8086处理器的基本数据类型是 字节 、 字 、 双字 。
24. 8086指令的操作数寻址方式有: 立即数 、 寄存器 、 存储单元 、 I/O端口 。
25.常见A/D转换器的类型有: 并行比较型 、 双积分型 、 逐次比较型 。
二、选择题(单选、多选)
1.计算机中信息存储的最小单位( A )。
(A)位 (B)字节 (C)字 (D)存储单元
2.存储器中存储信息的最小单位( B )
(A)位 (B)字节 (C)字 (D)存储单元
3.微处理器中处理信息的最小单位( C )
(A)位 (B)字节 (C)字 (D)存储单元
4.微处理器由( D )组成。
(A)运算器和存储器 (B)运算器和接口电路
(C)控制器和存储器 (D)运算器和控制器
5.指令MOV AX, [SI]的寻址方式是( D )
(A)立即寻址 (B)直接寻址 (C)寄存器寻址 (D)寄存器间接寻址
6. ( A )是总线控制器芯片。
(A)8288 (B)8253 (C)8282 (D)8251
7. ( C D )是地址锁存器芯片。
(A)74LS245 (B)74LS244 (C)74LS373 (D)8282
8. ( B C )是总线驱动器芯片。
(A)74LS373 (B)74LS245 (C)8286 (D)8259
9. ( A D )是随机存储器RAM芯片。
(A)21 (B)8284 (C)28128 (D)62
10. ( A C )是只读存储器EPROM芯片。
(A)27256 (B)8284 (C)2732 (D)62
11. ( B D )是只读存储器EEPROM芯片。
(A)8284 (B)28256 (C)2732 (D)28
12.8253( C )的输出是方波速率发生器。
(A)工作方式1 (B)工作方式2 (C)工作方式3 (D)工作方式4
13.DAC0832的输出信号是( B )
(A)电压信号 (B)电流信号 (C)数字信号 (D)开关信号
14. 8086微处理器的寄存器中( A )是专用的堆栈指针寄存器。
(A)SP (B)BP (C)SI (D)DI
15. 8086微处理器的寄存器中( C )是专用的源变址指针寄存器。
(A)SP (B)BP (C)SI (D)DI
16. 8086微处理器的寄存器中( D )是专用的目的变址指针寄存器。
(A)SP (B)BP (C)SI (D)DI
17. 8086微处理器的寄存器中( A )是通用的累加器。
(A)AX (B)BX (C)CX (D)DX
18. 8086微处理器的寄存器中( B )是通用的数据指针。
(A)AX (B)BX (C)CX (D)DX
19. 8086微处理器的寄存器中( C )是通用的计数器。
(A)AX (B)BX (C)CX (D)DX
20. 8086微处理器的寄存器中( D )是通用的I/O指针。
(A)AX (B)BX (C)CX (D)DX
21.( A B )是地址译码器芯片。
(A)74LS139 (B)74LS138 (C)74LS244 (D)74LS273
三、判断题
1.【 √ 】汇编语言的语句与机器指令是一一对应关系。
2.【 × 】汇编语言的指示性语句与机器指令是一一对应关系。
3.【 × 】8086物理地址 = 段基址×10+偏移地址。
4.【 √ 】段基址×16+偏移地址。
5.【 × 】某种存储器芯片容量为16KB*8/片,它需要的片内寻址地址线根数是13根。
6.【 √ 】某种存储器芯片容量为16KB*8/片,它需要的片内寻址地址线根数是14根。
7.【 × 】8255A有4个输入/输出端口,3种基本工作方式。
8.【 √ 】8255A有3个输入/输出端口,3种基本工作方式。
9.【 √ 】8259A是可编程的中断控制器芯片。
10.【 × 】8237是可编程的中断控制器芯片。
11.【 × 】8086数据总线有20位,地址总线有16位。
12.【 √ 】8086数据总线有16位,地址总线有20位。
13.【 √ 】OUT 80H, AL
14.【 × 】OUT 80H, CL
15.【 √ 】IN AX, DX
16.【 × 】IN BX, DX
17.【 √ 】8253有3个计数通道,6种工作方式。
18.【 × 】8237是可编程的并行接口芯片。
19.【 × 】8255A的B口可工作在方式0、方式1、方式2。
20.【 √ 】8255A的A口可工作在方式0、方式1、方式2。
21.【 √ 】8251是一个全双工的可编程通信接口。
22.【 × 】8251是一个半双工的可编程通信接口。
23.【 × 】8253 的最大计数范围:0~7500000。
24.【 √ 】8253 的最大计数范围:K×K×K
25.【 × 】延时子程序中时间常数增大时,延时时间减小。
26.【 √ 】延时子程序中时间常数增大时,延时时间增大。
四、解释题
1. 指令——计算机能够识别和执行的基本操作命令
2. 指令系统——计算机所能执行的全部指令的集合。
3. 程序——为实现某一任务所作的指令(语句)的有序集合。
4. 堆栈——一个按照后进先出原则组织的一段内存区域。
5. 并行通信——利用多根传输线将多位数据的各位同时传送。
6. 串行通信——利用一条传输线江数据一位一位按顺序分时传送。
7. 串行异步通信——收、发双方在约定的波特率下,不需要有严格的同步,允许有相对的迟延,既两端的频率差别在1/10以内。
8. 串行同步通信——是指在约定的波特率下,发送端和接收端的频率保持一致(同步),收、发双方的每一位数据均保持同步。
9. 中断源——引起中断的原因,或者说能发出中断请求的来源。
10. EPROM——可用紫外线擦除信息、多次改写的只读存储器。
11.位(bit)—— 1个二进制位,计算机中信息存储的最小单位。
12.字节(Byte)——相邻的8个二进制位,存储器的最小单位。
13.字(Word)——计算机处理数据的最小单位。
14.指令操作码——表示计算机执行什么操作。
15.指令操作数——表示参加操作的数或操作数所在的地址。
16.机器语言——指令机器码编制的源程序。
17.汇编语言——助记符编制的源程序。
18. 8255A中的——选通输入,低电平有效。用来将外设输入的数据送入8255A的输入缓冲器。
19.8255A中的IBF——输入缓冲器满,高电平有效输出。作为STB的回答信号,
20.8255A中的——输出缓冲器满,低电平有效。当CPU已将要输出的数据送入8255A时有效,用来通知外设可以从8255A取数。
21. 8255A中的——响应信号,低电平有效。作为对的响应信号,表示外设已将数据从8255A的输出缓冲器中取走。
22.8255A中INTR——中断请求信号,高电平有效。可作为CPU的查询信号,或作为向CPU发送的中断请求信号。
23.8255A中INTE——中断允许,由C口的相应位控制。
24.波特率——单位时间内线路状态变化(电信号变化)的数目。 单位时间里传送的数据位数,即:1波特率 = 1bit/s = /bps,波特率的倒数即为每位所需的时间。
五、简答题
1、微处理器、微型计算机和微型计算机系统三者之间有何不同?
答:微处理器——运算器+控制器+内部总线,CPU,MPU;
微型计算机——微处理器+存储器+输入/输出接口+系统总线,称为计算机的硬件;微型计算机系统——微型计算机+外围设备+系统软件。
2、在8086总线周期的T1、T2、T3、T4状态,CPU分别执行什么动作?
答:T1周期:8086发出20位地址信号,同时送出地址锁存信号ALE;
T2周期:8086开始执行数据传送;
T3周期:下降沿采样READY,若有效则T3结束后进入T4 ,若无效则插入等待周期TW,在TW继续采样READY,直至其变为有效后再进入T4 ;
T4周期:8086完成数据传送。
3、指示性语句有哪几种?
答:符号定义、数据定义、段定义、过程定义、结束语句。
4、总线的分类有哪几种?
答:按位置分:片内总线、片总线(局部总线)、内总线(系统总线)、外总线(通信总线)
按功能分:数据总线、地址总线、控制总线、电源和地线、备用线
5、总线的特性
答:物理特性——物理连接方式,根数、插头、引脚排列
功能特性——每一根线的功能
电气特性——每一根线信号传送方向、有效电平范围
时间特性——每一根线的时序
6.常用总线类型
答:ISA——工业标准体系结构总线
PCI——外部设备互连总线
USB——通用串行接口总线
7. 8086CPU怎样解决地址线和数据线复用问题?ALE信号何时有效?
答:采用分时复用的方式,在总线周期的T1周期ALE信号有效,传送地址信号,在总线周期的T1周期以后,ALE信号失效,传送数据信号。
8.8086的基本总线周期有哪几种?
答:存储器读或写; I/O端口读或写;中断响应周期;总线保持请求与保持响应周期。
9.RAM存储器与CPU连接时应注意的问题。
答:CPU总线的负载能力; CPU的时序和存储器的存取速度之间的配合;存储器的地址分配和选片;
控制信号的连接。
10.CPU与外设的数据传送方式。
答:程序控制传送方式、中断传送方式、直接数据通道传送DMA
11. 如果用74LS273作输入接口,是否可行?说明原因;用74LS244作输出接口,是否可行?说明原因。
答:否。74LS244是三态门构成的缓冲器,只能用于输入信号的缓冲操作;74LS273是由D触发器和三态门构成的锁存器,只能用于输出信号的锁存,所以不能交换使用。
12. 8086的总线接口单元(BIU)由哪几部分组成?
答:段寄存器CS,DS,SS,ES;指令指针寄存器IP;指令队列缓冲器;加法器和内部总线组成。
13.8086的执行单元(EU)由哪几部分组成?
答:算术逻辑单元(ALU);通用寄存器AX、BX、CX、DX;可分为8个8位的寄存器(AL、AH;BL、BH;CL、CH;DL、DH)使用;4个专用寄存器:SP、BP、DI、SI;状态标志寄存器FLAGS和内部总线组成。
14.8086的中断系统包括哪些部分?试用文字或图例描述8086的中断系统。
答:
包括外部中断和内部中断。
外部中断:可屏蔽中断INTR,非屏蔽中断NMI。
内部中断:除法出错INT0,单步执行INT1,溢出中断INTO,软件中断INT n。
15.8253有几种工作方式?写出每种工作方式的功能。
方式 | 功能 | 启动条件 | 改变计数值 | GATE | 输出波形 |
0 | 计数完中断 | 写计数初值 | 立即有效 | 有影响 | 电平信号 |
1 | 硬触发单拍脉冲 | 写计数初值+ 外部触发 | 外部触发有效 | 有影响 | 宽度为N个CLK周期的负脉冲 |
2 | 频率发生器 | 写计数初值 | 计数到1后有效 | 有影响 | 宽度为一个CLK周期的连续负脉冲 |
3 | 方波速率发生器 | 写计数初值 | 1、外触发后有效 2、计数到0后有效 | 有影响 | 连续方波 |
4 | 软件触发选通 | 写计数初值 | 立即有效 | 有影响 | 宽度为一个CLK周期的负脉冲 |
5 | 硬件触发选通 | 写计数初值+ 外部触发 | 外部触发后有效 | 有影响 | 宽度为一个CLK周期的负脉冲 |
答:LED——显示高、低电平;
数码管——显示数字,需要进行显示码转换;
点阵显示器——显示字符、汉字,需要代码转换;
液晶显示器——显示数字、字符、汉字,需要代码转换;
CRT——显示数字、字符、汉字和图像
17.8253的CLK0接2MHZ时钟, 3个计数器级联均设为工作方式3,要求OUT2输出1HZ方波,问3个计数器的计数值如何设定(方案不是唯一的)。
答: 计数器0初值 × 计数器1初值 × 计数器2初值
方案1: 1000 100 20
方案2: 100 100 200
………
18.8253计数器/定时器中,时钟信号CLK和门脉冲信号GATE各起什么作用?
答:CLK:时钟输入引脚。输入脉冲若周期精确,8253一般工作在定时方式;输入脉冲若周期不定,8253一般工作在计数方式;输入时钟周期不得小于380ns,即输入时钟信号的频率不得高于2.6MHZ。其功能是作为计数脉冲,每输入一个CLK脉冲,计数值减1。
GATE:门控输入引脚,控制计数器输入脉冲。其功能是禁止、允许或启动计数过程。
19.8255A的方式.1有什么特点?
答:方式1是一种选通I/O方式,A口和B口仍作为两个的8位I/O数据通道,可单独连接外设,通过编程分别设置它们为输入或输出。而C口则要有6位(分成两个3位)分别作为A口和B口的应答联络线,其余2位仍可工作在方式0,可通过编程设置为基本输入或输出。
20.8255A的方式2有什么特点?
答:双向选通I/O方式,只有A口才有此方式。此时,端口C有5根线PC7~PC3用作A口的应答联络信号,其余3根线可用作方式0,也可用作B口方式1的应答联络线。方式2:就是方式1的输入与输出方式的组合,各应答信号的功能也相同。而C口余下的PC0~PC2可以充当B 口方式1的应答线,若B口不用或工作于方式0,则这三条线也可工作于方式0。
21.试述D/A转换器的主要技术指标。
答:① 分辨率(Resolution):单位数字量所对应模拟量增量。即D/A转换器模拟输出电压能够被分离的等级数。
② 精度(Accuracy):分绝对精度(Absolute Accuracy)和相对精度(Relative Accuracy)
绝对精度(绝对误差)指的是在数字输入端加有给定的代码时,在输出端实际测得的模拟输出值(电压或电流)与应有的理想输出值之差。它是由D/A的增益误差、零点误差、线性误差和噪声等综合引起的。
相对精度指的是满量程值校准以后,任一数字输入的模拟输出与它的理论值之差。
③ 建立时间(Settling Time):在数字输入端发生满量程码的变化以后,D/A的模拟输出达到稳定时,所需要的时间。
21.试述A/D转换器的主要技术指标。
答:分辨率(Resolution):单位数字量所对应模拟量增量。
精度:绝对精度(Relative Precision):绝对精度指的是A/D转换器的输出端所产生的数字代码中,分别对应于实际需要的模拟输入值与理论上要求的模拟输入值之差。相对精度(Absolute Precision):相对精度指的是满度值校准以后,任一数字输出所对应的实际模拟输入值(中间值)与理论值(中间值)之差。
转换时间(Conversion Time):转换时间指的是A/D完成一次转换所需要的时间。
量程:所能转换的模拟输入电压范围,分单极性和双极性。
输出逻辑电平:多数A/D转换器的输出逻辑电平与TTL电平兼容。
22.能否用8253的OUT信号直接驱动继电器,试说明原因。
答:否,8253的OUT信号为TTL电平,输出电流不足以直接驱动继电器。
(电平是个电压范围,规定输出高电平>2.4V,输出低电平<0.4V。在室温下,一般输出高电平是3.5V,输出低电平是0.2V。最小输入高电平和低电平:输入高电平>=2.0V,输入低电平<=0.8V,噪声容限是0.4V。)
23.半导体存储器的分类。
24.ADC0809如果需要多通道巡回采样,硬件如何设置?软件如何设置?
答:ADC0809中ADD A、ADD B、ADD C为8选1模拟开关的三位通道地址输入端,用来选择对应的输入通道。巡回采样时,硬件引脚C、B、A通常与系统地址总线的A2、A1、A0连接;软件循环修改端口地址轮流采样。如下表例:
C(A2)、B(A1)、A(A0) | 模拟开关输出Vx |
000 | IN0 |
001 | IN1 |
010 | IN2 |
011 | IN3 |
100 | IN4 |
101 | IN5 |
110 | IN6 |
111 | IN7 |
1.阅读下列程序,写出各语句的注释,说明本程序功能并写出运行结果。(10分)
MOV AL, 00H ;设置计数初值
AGAIN:OUT 80H, AL ;输出到端口
CALL DELAY ;调用延时子程序
INC AL ;计数值递增
JMP AGAIN ;返回,再次输出
DELAY:MOV CX,10 ;设置延时时间常数
DEALY1:LOOP DELAY1 ;循环,实现延时
RET ;延时子程序返回
本程序功能:在相应输出端口输出一个数据序列,00H递增至FFH,返回00H再次递增至FFH,循环。
若输出至DAC,则可输出一个锯齿波信号。
2.已知X以补码形式存放在RAM的3000H单元中,试编程实现下列函数,函数值送回原单元。
X ;当X ﹥0 (10分)
Y = 20 ;当X = 0
X+5 ;当X ﹤0
……
START:MOV BX,3000H ;设置指针
MOV AL,[BX] ;取数
AND AL,AL ;建立标志
JZ NEXT1 ;若X = 0,则转移
JS NEXT2 ;若X ﹤0,则转移
MOV [BX],AL ;X ﹥0,将X送回原单元
JMP LP ;跳转到下面程序
NEXT1:MOV [BX], 20 ;X = 0,将20送回原单元
JMP LP ;跳转到下面程序
NEXT2:ADD AL,5 ;X ﹤0,
MOV [BX],AL ;将X+5送回原单元
LP:……
3.已知X以补码形式存放在RAM的1000H单元中,试编程实现下列函数,函数值送回原单元。
+1 ;当X ﹥0
Y = 0 ;当X = 0
-1 ;当X ﹤0
……
START:MOV BX,1000H ;设置指针
MOV AL,[BX] ;取数
AND AL,AL ;建立标志
JZ NEXT1 ;若X = 0,则转移
JS NEXT2 ;若X ﹤0,则转移
MOV [BX],01H ;X ﹥0,将+1送回原单元
JMP LP ;跳转到下面程序
NEXT1:MOV [BX], 0 ;X = 0,将0送回原单元
JMP LP ;跳转到下面程序
NEXT2:MOV [BX],0FFH ;X ﹤0,将-1送回原单元
LP:……
4. 阅读下列程序,写出各语句的注释,说明本程序功能并写出运行结果。 (10分)
MOV AH, 0 ;累加器高位清零
MOV AL, 10 ;累加器低位赋初值10
SAL AX, 1 ;左移1位,(初值×2)
MOV BX, AX ;(初值×2)送入BX保存
MOV CL, 2 ;计数器赋值为2
SAL AX, CL ;左移2次,(初值×2)×2×2
ADD AX,BX ;累加,(初值×2)×2×2+(初值×2)
说明:本程序功能为将累加器中数值×10,运行结果是:累加器AX中为100.
5. 自BLOCK开始的内存缓存区中,有100个8位无符号数,求出其中最大值,存入MAX单元。
MOV BX, OFFSET BLOCK ;设置地址指针
MOV AX, [BX] ;取首个数据
INC BX ;修改指针,指向下一个数据
MOV CX, 99 ;设置计数器,比较次数为N-1
AGAIN: CMP AX, [BX] ;比较两个数
JNC NEXT ;无借位即AX中为大数
MOV AX, [BX] ;有借位即AX中为小数,替换为大数
NEXT: INC BX ;修改指针,指向下一个数据
DEC CX ;修改计数器
JNZ AGAIN ;计数器≠0返回继续比较
MOV MAX, AX ;计数器=0存入最大值
HLT
6. 自BLOCK开始的内存缓存区中,有100个8位无符号数,求出其中最小值,存入MIN单元。
MOV BX, OFFSET BLOCK ;设置地址指针
MOV AX, [BX] ;取首个数据
INC BX ;修改指针,指向下一个数据
MOV CX, 99 ;设置计数器,比较次数为N-1
AGAIN: CMP AX, [BX] ;比较两个数
JC NEXT ;有借位即AX中为小数
MOV AX, [BX] ;无借位即AX中为大数,替换为小数
NEXT: INC BX ;修改指针,指向下一个数据
DEC CX ;修改计数器
JNZ AGAIN ;计数器≠0返回继续比较
MOV MIN, AX ;计数器=0存入最小值
HLT
7.判断下列指令的对错,如有错,请说明原因。
MOV AL, BX ;错,数据类型不匹配
MOV AL, CL ;对,寄存器传送
INC [BX] ;对,存储单元内容加1
MOV 5, AL ;错,不能给立即数赋值
MOV [BX], [SI] ;错,不能在存储单元间传送
MOV BL, F5H ;对
MOV DX, 2000H ;对
POSH CS ;对,代码段寄存器内容可以保存
POP CS ;错,不能对代码段寄存器赋值
XCHG CS, AX ;错,不能对代码段寄存器赋值
XCHG BX, IP ;错,不能对指令指针寄存器赋值
IN BX, DX ;错,只能输入到累加器
MOV BYTE[BX], 1000 ;错,字节数的最大值只能到255
七、分析题
1.8086CPU中断响应时序如下图示,试写出中断响应过程。(6分)
答:CPU在当前指令周期的最后一个T采样中断请求信号,若INTR信号有效且中断系统开放(IF=1),则进入中断响应周期。中断响应周期由2个基本指令周期组成,第一个中断响应周期CPU回应一个中断响应信号INTA给中断源;第二个中断响应周期仍有INTA,中断源必须在T3前将中断向量号送至CPU的数据总线,CPU在T4采样数据总线,获得中断向量号,进入中断处理序列。
2.内存扩展电路如下图示,试写出各芯片的信号名称和存储器地址空间。(10分)
控制信号:CE、WE、OE (2分)
地址信号:A12~A0 (1分)
地址信号:A15、A14、A13 (1分)
RAM 62:Y0 —— 0000 0000 0000 0000 ~ 0001 1111 1111 1111
0000H ~ 1FFFH (3分)
EEPROM 28C:Y7 —— 1110 0000 0000 0000 ~ 1111 1111 1111 1111
E000H ~ FFFFH (3分)
3. 内存扩展电路如下图示,试写出各芯片的信号名称和存储器地址空间。
控制信号:CE、WE、OE (2分)
地址信号:A12~A0 (1分)
地址信号:A15、A14、A13 (1分)
RAM 62:Y1 —— 0010 0000 0000 0000 ~ 0011 1111 1111 1111
2000H ~ 3FFFH (3分)
EPROM 27:Y7 —— 1110 0000 0000 0000 ~ 1111 1111 1111 1111
E000H ~ FFFFH (3分)
4、在下列图形中填写各功能模块的名称并说明该结构框图为何种接口电路。(8分)
该接口电路为:可编程定时计数器8253 (2分+每空1分,共8分)
5、在下列图形中填写各功能模块和I/O信号的名称并说明该结构框图为何种接口电路。(10分)
该接口电路为:可编程并行接口8255A
6、在下列图形中填写各功能模块和I/O信号的名称并说明该结构框图为何种接口电路。(10分)
8位D/A转换器DAC0832
7、在下列图形中填写各功能模块和I/O信号的名称并说明该结构框图为何种接口电路。(10分)
ADC0808(0809)
8、电路如下图,编制在输出端得到锯齿波的程序。(10分)
code segment
assume cs:code
start: mov cl,0
mov dx,io0832a
LLL: mov al, cl
out dx,al
call delay ;调延时子程序
inc cl
jmp LLL ;若无则转LLL
code ends
end start
delay proc near ;延时子程序
mov bx,100
111: mov cx,0
11: loop 11
dec bx
jne 111
ret
delay endp