1、 实验题目 8253定时/计数器实验 一、实验目的与要求: 1. 学会8253芯片和微机接口原理和方法。2. 掌握8253定时器/计数器的工作方式和编程原理。二、实验内容: 1、实验原理 本实验原理图如图1所示,8253A的A0、A1接系统地址总线A0、A1,故8253A 有四个端口地址,如端口地址表1所示。8253A的片选地址为48H 4FH。 因此, 本实验仪中的8253A四个端口地址为48H、49H、4AH、4BH,分别对应通道0、通道1、通道2和控制字。采用8253A通道0,工作在方式3(方波发生器方式),输入时钟CLK0 为1MHZ, 输出OUTO 要求为1KHZ的方波,并要求用接在
2、GATE0引脚上的导线是接地(0电平)或甩空(1电平)来观察GATE对计数器的控制作用,用示波器观察输出波形。2、 实验线路连接 (1) 8253A芯片的CLK0引出插孔连分频输出插孔1MHZ。 (2) 8253A的GATE0接+5V。3、 实验步骤 (1) 按图1连好实验线路 (2) 运行实验程序 1.按“调试”按钮 2。选“窗口”“进入示波器窗口”,然后最小化 3.按“运行按钮” 4.将模拟示波器窗口打开,选择“串行口2”,再按 ctrlF2 按钮即可看到波形 图1 显示“8253-1”用示波器测量8253A的OUT2输出插孔,应有频率为1KHZ的 方波输出,幅值04V三 、实验代码:CO
3、DE SEGMENTASSUME CS:CODETCONTRO EQU 004BHTCON2 EQU 004AHCONTPORT EQU 00DFHDATAPORT EQU 00DEHDATA1 EQU 0500HSTART:JMP TCONTTCONT:CALL FORMATCALL LEDDISPMOV DX,TCONTROMOV AL,0B6H ;要使用方式2,0B6H要改为0B4HOUT DX,ALMOV DX,TCON2MOV AL,00 ;输入频率(即时间常数)OUT DX,AL ;要修改频率,只需更改送给AL的值(注意先送低8位, MOV AL,10H ;后送高8位)OUT DX
4、,AL HLTLEDDISP:MOV AL,90H ;显示数据方式命令字送8279控制字MOV DX,CONTPORT ;8279命令状态口OUT DX,ALMOV BYTE PTR DS:0600H,00 ;置显示位数初值为0LED1:CMP BYTE PTR DS:0600H,07H ;判断显示位数满8为否?JA LED2 ;满8位转子程序返回MOV BL,DS:0600H;未满8位从数据区取数MOV BH,0HMOV AL,CS:BX+DATA1MOV DX,DATAPORT;8279数据口OUT DX,ALADD BYTE PTR DS:0600H,01H;显示位数加1JNZ LED1
5、LED2:RET;子程序返回FORMAT: MOV BX,0 ;显示8253-1MOV WORD PTR DS:BX+0500H,4006HADD BX,2MOV WORD PTR DS:BX+0500H,4040HADD BX,2MOV WORD PTR DS:BX+0500H,6D4FHADD BX,2MOV WORD PTR DS:BX+0500H,7F5BHRETCODE ENDSEND START四、思考题 若改用方式2,并改变时间常数,如何编写程序。答:,若使用方式2,根据8253控制字原理,控制字必须设置为B4H,相应的修改在代码中在上述代码中,修改时间常数的方法也在程序中注明。
6、 实验题目 8255并行接口实验 一、实验目的与要求1. 掌握8255A和微机接口方法。2. 掌握8255A的工作方式和编程原理二、实验内容1、实验原理如实验原理图1所示,PC口8位接8个开关K1 K8,PB口8位接8个发光二极管,从PC口读入8位开关量送PB口显示。拨动K1 K8,PB口上接的8个发光二极管L1 L8对应显示K1 K8的状态。2、实验线路连接(1)8255A芯片PC0 PC7插孔依次接K1 K8。(2)8255A芯片PB0PB7插孔依次接L1 L8。(3)8255A的CS插孔接译码输出070H07FH插孔。3. 实验主要仪器设备和材料 PC机、DVCC-8086JH实验系统及
7、连接导线4、实验步骤 (1) 按图1连好线路。 (2) 运行实验程序。1。按“调试”按钮 2按“运行”按钮 在DVCC8086JH数码管上显示“8255-1”,同时拨动K1K8,L1L8会跟着亮灭三、实验程序CODE SEGMENTASSUME CS:CODEIOCONPT EQU 0073HIOCPTEQU 0072HIOBPTEQU 0071HCONTPORT EQU 00DFHDATAPORT EQU 00DEHDATA1 EQU 0500HSTART:JMP IOLEDIOLED:CALL FORMATCALL LEDDISPMOV AL,89H MOV DX,IOCONPTOUT D
8、X,ALNOP NOPNOPIOLED1: MOV DX,IOCPT IN AL,DXMOV DX,IOBPT OUT DX,ALMOV CX,0FFFFHDELAY:LOOP DELAYJMP IOLED1LEDDISP:MOV AL,90H MOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:0600H,00LED1:CMP BYTE PTR DS:0600H,07HJA LED2MOV BL,DS:0600HMOV BH,0HMOV AL,CS:BX+DATA1MOV DX,DATAPORTOUT DX,ALADD BYTE PTR DS:0600H,01HJ
9、NZ LED1LED2:RETFORMAT: MOV BX,0 MOV WORD PTR DS:BX+0500H,4006HADD BX,2MOV WORD PTR DS:BX+0500H,4040HADD BX,2MOV WORD PTR DS:BX+0500H,6D6DHADD BX,2MOV WORD PTR DS:BX+0500H,7F5BHRETCODE ENDSEND START四、思考题 试将B口与C口的功能对调(连线对调),如何编写程序答: 把IOLED段的89H改为82H,把IOLED1段中的IOCPT和IOBPT对换。82H(1000 0010)表示用B口输入,C口输出,均
10、使用方式0.IOCPT和IOBPT分别对应B、C口的地址。程序代码如下:CODE SEGMENTASSUME CS:CODETCONTRO EQU 004BHTCON2 EQU 004AHCONTPORT EQU 00DFHDATAPORT EQU 00DEHDATA1 EQU 0500HSTART:JMP TCONTTCONT:CALL FORMAT CALL LEDDISP MOV DX,TCONTRO ;将控制口地址给 MOV AL,10110101B ;选通道二,先写低字节,后高字节,方式2,数字控制用BCD码 OUT DX,AL;写控制字 MOV DX,TCON2;计数器二的地址给
11、MOV AX,10D;计数初值为10(十进制) OUT DX,AL;写低字节 MOV AL,AH OUT DX,AL;写高字节 HLT ;停机LEDDISP:MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:0600H,00LED1:CMP BYTE PTR DS:0600H,07HJA LED2MOV BL,DS:0600HMOV BH,0HMOV AL,CS:BX+DATA1MOV DX,DATAPORTOUT DX,ALADD BYTE PTR DS:0600H,01HJNZ LED1LED2:RETFORMAT: MOV BX,0MOV
12、 WORD PTR DS:BX+0500H,4006HADD BX,2MOV WORD PTR DS:BX+0500H,4040HADD BX,2MOV WORD PTR DS:BX+0500H,6D4FHADD BX,2MOV WORD PTR DS:BX+0500H,7F5BHRETCODE ENDSEND START按实验要求,修改后的实验程序如上。在思考题实验中,用了方式二控制计数端口二,计数初值设为10,即当用CLK(1MHz)进行计数时,每次当计完十个时钟周期,OUT输入端就由高电平变为低电平,就是先有十个周期的高电平,接着低电平出现的只有一个时钟周期,比较短;实现将1MHz的CL
13、K转化为1KHz的信号;实验题目 数字式时钟(电子钟) 一、实验目的与要求1. 学习8253编程定时/计数器的工作方式2. 掌握终端控制器8259A与微处理机接口的原理和方法3. 掌握中断控制器8259A的综合应用编程二、实验内容和要求1. 实验原理用8253和8259实现数码管显示时钟。利用8253的定时器功能。8253有三个端口地址为48H,49H,4AH,本实验采用8253的通道2,工作在方式3(方波发生器方式)输入CLK2为1MHZ。先给8253的初始值0C350H,循环计数。即一次记数完后,自动装入初始值。输出OUT2作为8259的输入脉冲。8259有两个口地址,本实验为20H和21
14、,其中用来写ICW1,21H用来写ICW2、ICW4,本实验中8259为单片,边沿触发,采用3号中断源,即IR3和8253输出口OUT2相连,每过1/20秒接收到一个中断,向8259发出中断请求信号,如果电平信号不符合要求,则自动转到7号中断,显示ERR,CPU响应后,在中断处理程序中,对终端次数进行记数,记满20次,把时间缓冲区中的时间加1,并将其输入到显示缓冲区,以便显示器显示更新后的时间。记数初值的计算:1/1000000*X=1/20X=50000D0C350H(用1MHZ信号产生1/20秒方波).2. 实验线路连接(1)8253A芯片的CLK2引出插孔连分频输出插孔IMHZ(2)82
15、53A的GATE2接+5V(3)8259A的IR3插孔和8253A的OUT2插孔相连 图13. 实验主要仪器设备和材料PC机、DVCC-8086JH实验系统及连接导线4. 实验步骤1、 按图1连好线路2、 打开DVCC86H目录下的CLOCK子目录中的Eclock.asm3、 运行实验程序:按“调试”按钮 按“运行”按钮在DVCC-8086JH数码管上显示器“00-00-00”,然后开始计时三、实验程序CODE SEGMENTASSUME CS:CODEINTPORT1 EQU 0020HINTPORT2 EQU 0021HINTQ3 EQU INTREEUP3INTQ7 EQU INTREE
16、UP7CONTPORT EQU 00DFHDATAPORT EQU 00DEHDATA0 EQU 0580HDATA1 EQU 0500HDATA2 EQU 0508HDATA3 EQU 0518HDATA4 EQU 0520H ORG 1800HSTART:JMP Tint1Tint1:CALL FORMATCLDMOV DI,DATA0MOV CX,08HXOR AX,AXREP STOSWMOV SI,DATA3CALL LEDDISPMOV AX,0HMOV DS,AXCALL WRINTVERMOV AL,13H;写初始化命令字ICW1为13HMOV DX,INTPORT1OUT D
17、X,ALMOV AL,08H;写初始化命令字ICW2为08HMOV DX,INTPORT2OUT DX,ALMOV AL,09H;写初始化命令字ICW4为09HOUT DX,ALMOV AL,0F7H ;写操作控制字OCW1为F7H,即IR3开放,其他IR屏蔽OUT DX,ALMOV BYTE PTR DS:0601H,01HSTIWATING: JMP WATINGWRINTVER:MOV AX,0H MOV ES,AX MOV DI,002CH ;使用3号中断源 中断矢量地址为2CH2FH LEA AX,INTQ3 STOSW MOV AX,CS STOSW MOV DI,003CH LE
18、A AX,INTQ7 STOSW MOV AX,CS STOSW RETINTREEUP3:CLI MOV AL,DS:0601H CALL CONVERS MOV SI,DATA0 CALL LEDDISPD MOV AL,20H;写操作命令字OCW2为20H,选择中断结束方式 MOV DX,INTPORT1 OUT DX,AL ADD BYTE PTR DS:0601H,01H CMP BYTE PTR DS:0601H,06H JNA INTRE1 MOV SI,DATA4 CALL LEDDISPINTRE3: JMP INTRE3CONVERS:MOV BH,0HAND AL,0FH
19、MOV BL,ALMOV AL,CS:BX+DATA2MOV BX,DATA0MOV DS:BX,ALRETINTRE1: MOV AL,20H MOV DX,INTPORT1 OUT DX,AL STI IRETINTREEUP7: CLI MOV SI,DATA1 CALL LEDDISP MOV AL,20H MOV DX,INTPORT1 OUT DX,AL IRETLEDDISP:MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:0600H,00LED1:CMP BYTE PTR DS:0600H,07HJA LED2MOV BL,D
20、S:0600HMOV BH,0HMOV AL,CS:BX+SIMOV DX,DATAPORTOUT DX,ALADD BYTE PTR DS:0600H,01HJNZ LED1LED2:RETLEDDISPD:MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:0600H,00LEDD1: CMP BYTE PTR DS:0600H,07HJA LEDD2MOV BL,DS:0600HMOV BH,0HMOV AL,DS:BX+SIMOV DX,DATAPORTOUT DX,ALADD BYTE PTR DS:0600H,01HJNZ LEDD1
21、LEDD2: RETFORMAT: MOV BX,0MOV WORD PTR DS:BX+0500H,5050HADD BX,2MOV WORD PTR DS:BX+0500H,0079HADD BX,2MOV WORD PTR DS:BX+0500H,0000HADD BX,2MOV WORD PTR DS:BX+0500H,0000HADD BX,2MOV WORD PTR DS:BX+0500H,063FHADD BX,2MOV WORD PTR DS:BX+0500H,4F5BHADD BX,2MOV WORD PTR DS:BX+0500H,6D66HADD BX,2MOV WORD
22、 PTR DS:BX+0500H,077DHADD BX,2MOV WORD PTR DS:BX+0500H,6F7FHADD BX,2MOV WORD PTR DS:BX+0500H,7C77HADD BX,2MOV WORD PTR DS:BX+0500H,5E39HADD BX,2MOV WORD PTR DS:BX+0500H,7179HADD BX,2MOV WORD PTR DS:BX+0500H,4006HADD BX,2MOV WORD PTR DS:BX+0500H,4040HADD BX,2MOV WORD PTR DS:BX+0500H,6D6FHADD BX,2MOV
23、WORD PTR DS:BX+0500H,7F5BHADD BX,2MOV WORD PTR DS:BX+0500H,3F5EHADD BX,2MOV WORD PTR DS:BX+0500H,5C3FHADD BX,2MOV WORD PTR DS:BX+0500H,6D6FHADD BX,2MOV WORD PTR DS:BX+0500H,7F5BHRETCODE ENDSEND START四、思考题 查看程序中的SI寄存器是如何传递要显示的数据的。答:将原程序中WRINTVER子程序中的 MOV DI,002CH ;使用3号中断源 中断矢量地址为2CH2FH改为 MOV DI,0028H
24、 ;使用2号中断源 中断矢量地址为28H2BH并将Tint1:子程序中的MOV AL,0F7H ;写操作控制字OCW1为F7H,即IR3开放,其他IR屏蔽改为 MOV AL,0FBH ;写操作控制字OCW1为FBH,即IR2开放,其他IR屏蔽。此外,在MOV SI,DATA4中将时间显示缓冲区的起始地址发给SI,然后调用显示子程序,从而显示出时间。再将时间变化,再显示。五、实验体会通过这次实验,使我进一步对中断的使用有了更深一层的了解,对芯片的端口选择、控制字的确定和写入有了进一步的了解,对SI寄存器传递显示的数据和数码管的使用有了初步的映象,我更加了解8253、8259芯片原理的应用。经过编
25、写程序成功运行后实现了数字时钟,实验之初,出现的问题还比较多。主要是因为预习的时候对实验原理还不是理解的很透彻,但通过后来自己的多次实践还有老师的帮助下,最终还是完成了任务。这些遇到的问题也让我意识到预习实验时,要认真思考。此次实验,同时让我进一步理解了计算机和各种外设通讯的很多原理和技术。自己的动手能力也明显增强了,通过实验,更进一步理解了课本的知识。实验题目 D/A(数/模)转换实验 一、实验目的与要求熟悉DAC0832数模转换器的特性和接口方法,掌握D/A 输出程序的设计和调试方法。二、实验内容1、实验原理实验原理如图 1所示,由于DAC0832有数据锁存器、选片、读、写控制信号线,故可
26、与 8088CPU 总线直接接口。图中是只有一路模拟量输出, 且为单极型电压输出。DAC0832工作于单缓冲方式,它的ILE接+5V,/CS和/XFER相接后作为0832芯片的片选0832CS。这样, 对DAC0832执行一次写操作就把一个数据直接写入DAC寄存器、模拟量输出随之而变化。 2、 实验线路的连接 将0832片选信号0832CS插孔和译码输出070H07FH插孔相连。3、 实验软件编程提示 显示方波本实验要求在AOUT端输出方波信号,方波信号的周期由延时时间常数确定。 根据Vout =VREF(输入数字量的十进制数)/256,当数字量的十进制数为256(FFH)时,由于VREF =
27、5V,Vout = +5V。当数字量的十进制数为0(00H) 时, 由于VREF = 5V,Vout = 0V。因此,只要将上述数字量写入DAC0832端口地址时,模拟电压就从AOUT 端输出 。显示锯齿波本实验在AOUT端输出锯齿波。根据VouT=-(VERFEX(输入数字量的十进制)/256即可知道,只要将数字量0-256(00H-FFH)从0开始逐渐加1递增直至256为止,不断循环,在AOUT端会输出连续不断的锯齿波。4、 实验主要一起设备和材料 PC机,DVCC-8086JH实验系统及连接导线5、实验步骤 (1) 根据原理图正确连接好实验线路 (2) 正确理解实验原理(3) 运行实验程
28、序:1.按“调试”按钮 2.选“窗口”下拉菜单里的“进入示波器窗口”然后将其最小化 3.按“运行”按钮 4.将模拟示波器窗口打开,选择“串行口2”,再按“CtrlF2”即 可看到波形在DVCC-8086JH数码管上显示“0832-1(0832-2)”,用真示波器测量DAC0832下AOUT插孔,应有方波(锯齿波)输出三、 实验代码(方波代码)CODE SEGMENTASSUME CS:CODEDAPORTEQU 0070HCONTPORT EQU 00DFHDATAPORT EQU 00DEHDATAEQU 0500HSTART:JMP DACONTORLDACONTORL:CALL FORM
29、ATCALL LEDDISPMOV DX,DAPORTMOV AL,00HDACON1: OUT DX,ALMOV CX,0400HDACON2: LOOP DACON2NOT ALJMP DACON1LEDDISP:MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:0600H,00LED1:CMP BYTE PTR DS:0600H,07HJA LED2MOV BL,DS:0600HMOV BH,0HMOV AL,CS:BX+DATAMOV DX,DATAPORTOUT DX,ALADD BYTE PTR DS:0600H,01HJNZ LE
30、D1LED2:RETFORMAT: MOV BX,0MOV WORD PTR DS:BX+0500H,4006HADD BX,2MOV WORD PTR DS:BX+0500H,4040HADD BX,2MOV WORD PTR DS:BX+0500H,4F5BHADD BX,2MOV WORD PTR DS:BX+0500H,3F7FHADD BX,2RETCODE ENDSEND START(锯齿波代码)CODE SEGMENTASSUME CS:CODEDAPORTEQU 0070HCONTPORT EQU 00DFHDATAPORT EQU 00DEHDATAEQU 0500HSTAR
31、T:JMP DACONTORLDACONTORL:CALL FORMATCALL LEDDISPMOV DX,DAPORTMOV AL,00HDACON1: OUT DX,ALINC ALMOV CX,08HDACON2: LOOP DACON2JMP DACON1 LEDDISP:MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:0600H,00LED1:CMP BYTE PTR DS:0600H,07HJA LED2MOV BL,DS:0600HMOV BH,0HMOV AL,CS:BX+DATAMOV DX,DATAPORTOUT DX,
32、ALADD BYTE PTR DS:0600H,01HJNZ LED1LED2:RETFORMAT: MOV BX,0MOV WORD PTR DS:BX+0500H,405BHADD BX,2MOV WORD PTR DS:BX+0500H,4040HADD BX,2MOV WORD PTR DS:BX+0500H,4F5BHADD BX,2MOV WORD PTR DS:BX+0500H,3F7FHRETCODE ENDSEND START四思考题编写一个三角波的程序,并对程序写注释。其中三角波的最高点为0FFH,最低点为00H,步长为1(即每次加1)答:CODE SEGMENTASSUM
33、E CS:CODEDAPORTEQU 0070HCONTPORT EQU 00DFHDATAPORT EQU 00DEHDATAEQU 0500HSTART:JMP DACONTORLDACONTORL:CALL FORMATCALL LEDDISPMOV DX,DAPORT ;将DAC0832的地址给DXMOV AL,00H ;设置转换的数字量为最小,转换后的电平为0VDACON1: OUT DX,AL ;启动数模转换INC AL ;将输入的数字量加一,输出的电平增加256分之一MOV CX,08H ;设置循环重复次数DACON2: LOOP DACON2 ;循环延时CMP AL,FFH ;
34、比较AL和FFHJL DACON3 ;当AL的值为FFH(最大)时,转移指令JMP DACON1 ;循环加一转换输出,当增加到FFH时加一自动归零DACON3:OUT DX,AL ;启动转换DEC AL ;AL值减一,输出的电平减少256分之一JMP DACON3 ;循环减一转换输入对应模拟量CMP AL 00H ;比较AL和00HJL DACON1 ;当AL减少到00H时,表示已经输出一个三角波,循环LEDDISP:MOV AL,90HMOV DX,CONTPORTOUT DX,ALMOV BYTE PTR DS:0600H,00LED1:CMP BYTE PTR DS:0600H,07HJ
35、A LED2MOV BL,DS:0600HMOV BH,0HMOV AL,CS:BX+DATAMOV DX,DATAPORTOUT DX,ALADD BYTE PTR DS:0600H,01HJNZ LED1LED2:RETFORMAT: MOV BX,0MOV WORD PTR DS:BX+0500H,405BHADD BX,2MOV WORD PTR DS:BX+0500H,4040HADD BX,2MOV WORD PTR DS:BX+0500H,4F5BHADD BX,2MOV WORD PTR DS:BX+0500H,3F7FHRETCODE ENDSEND START改变延时即MO
36、V CX,08H改变MOV后面的数字量。改变步长即将INC AL和DEC AL的步骤重复多几次即可;当改变了延时或是步长,很表示的三角波形状也就是底长会相应变化,高度不变。_ 实验题目 A/D(模/数)转换实验 一、实验目的与要求加深理解逐次逼近法模数转换器的特征和工作原理,掌握ADC0809的接口方法以及A/D输入程序的设计和调试方法。二、 实验内容1 、实验原理 本实验采用 ADC0809 做 A/D 转换实验。ADC0809 是一种8路模拟输入、8位数字输出的逐次逼近法A/D器件,转换时间约100us,转换精度为1/512,适用于多路数据采集系统。ADC0809片内有三态输出的数据锁存器
37、,故可以与8088微机总线直接接口。图中ADC0809的CLK信号接CLK=2.385MHZ,基准电压Vref(+)接Vcc。一般在实际应用系统中应该接精确+5V,以提高转换精度,ADC0809片选信号0809CS和/IOW、/IOR经逻辑组合后,去控制ADC0809的ALE、START、ENABLE信号。ADC0809的转换结束信号EOC未接, 如果以中断方式实现数据采集,需将EOC信号线接至中断控制器8259的中断源输入通道。本实验以延时方式等待A/D转换结束,ADC0809的通道号选择线ADDA、ADDB、ADDC 接系统数据线的低3位,因此ADC0809的8个通道值地址分别为00H、0
38、1H、02H、03H、04H、05H 、 06H、07H。 启动本A/D转换只需如下三条命令: MOV DX,ADPORT;ADPORT为ADC0809端口地址。 MOV AL,DATA ;DATA为通道值。 MOV DX, AL ; 通道值送端口。 读取A/D转换结果用下面二条指令: MOV DX,ADPORT IN AL,DX2、实验线路的连接 在原理图中,粗黑线是学生需要连接的线, 粗黑线两端是需连接的信号名称。 (1)IN0插孔连W1的输出V1插孔。 (2)0809CS连译码输出060H06FH插孔。4、实验方法、步骤及结果测试 1.正确连接好实验线路 2.理解实验原理 3.打开原程序
39、,仔细阅读,弄懂实验程序 4.运行实验程序:1)按“调试”按钮 2)按“运行”按钮在DVCC-8086JH实验箱上应显示“0809-XX” 5.调节电位器W1,以改变模拟电压值,显示器上会不断显示新的A/D转换结果。用ADC0809做A/D转换,其模拟量与数字量对应关系的典型值为+5VFFH,2.5V80H,0V00H。三、实验程序CODE SEGMENTASSUME CS:CODEADPORTEQU 0060HCONTPORT EQU 00DFHDATAPORT EQU 00DEHSTART:JMP ADCONTORLDATA1EQU 0580HDATA2EQU 0500HADCONTORL:CALL FORMATMOV AX,0HMOV DS,AXMOV BX,DATA1MOV DS:BX,ALADD BX,01HMOV DS:BX,ALADD BX,01HMOV AL,40HMOV DS:BX,ALADD BX,01HMOV AL,