




已阅读5页,还剩18页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
苏州微机实验指导书 1、NUMB1DB?NUMB2DW20DUP(?)NUMB3DBUSBMOV AX,TYPE NUMB 12、编写人机对话程序WHAT ISYOUR NAME?输入My nameis.DSEG SEGMENTDATA DB0AH,0DH,WHAT ISYOUR NAME?$BUF DB81DB?DB80DUP (0)DSEG ENDSSTACK1SEGMENT DB200DUP (0)STACK1ENDS CODE SEGMENT ASSUME CS:CODE,DS:DSEG,SS:STACK1START:MOV AX,DSEG MOV DS,AX LEADX,DATA MOV AH,09H INT21H LEADX,BUF MOV AH,0AH INT21H MOVAH,4CH INT21H CODE ENDS END START汇编程序设计有那些步骤,应该注意什么?第页3 一、实验目的 1、复习微机实验环境安装和环境配置 2、练习寻址方式、重点内存寻址方式 3、单步运行程序,通过观察窗口观察指令对寄存器中数据的影响 二、实验内容程序是指令的集合。 指令就是计算机可以识别的命令程序=数据结构+算法。 数据不能凭空产生和凭空存在,必须有其存在的硬件环境。 计算机硬件系统包括CPU、内存、系统总线、接口。 所以数据(操作数)只能存放在CPU、内存、接口中,产生几种寻址方式。 寻址方式是指寻找指令操作数所在地址的方式(为确定数据的和去处)。 四种寻址方式a、立即数寻址操作数代码中例如mov bx,1234H b、寄存器寻址操作数在CPU中的某个寄存器例如mov ax,bx c、外设寻址操作数在外设中(即接口电路中)例如IN ax,23H d、内存寻址操作数在内存中。 例如mov ax,bx根据偏移地址求法内存寻址划分为5种直接寻址偏移地址在指令中可以看到。 寄存器间接寻址偏移地址在CPU寄存器中。 寄存器相对寻址偏移地址由CPU寄存器中数值和另外数值的叠加得到。 基址变址寻址偏移地址由CPU中基址寄存器(BX、BP)中的数值和变址寄存器(SI、DI)中数值得到。 相对基址变址寻址偏移地址由CPU中基址寄存器BX、BP)中的数值和变址寄存器(SI、DI)中数值得到。 举例说明mov ax,1234h;内存寻址方式中的直接寻址(偏移地址在指令中可以看到)mov ax,bx;内存寻址方式中的寄存器间接寻址(偏移地址在CPU寄存器中)mov ax,bx+12H;内存寻址方式中的寄存器相对寻址mov ax,bx+si;内存寻址方式中的基址变址寻址mov ax,bx+si+12H;内存寻址方式中的相对基址变址寻址 三、实验步骤1)完成微机实验环境配置2)新建文件a、选中菜单栏文件新建文件,建立空白文件b、文件,输入以下代码data segment;数据段开始block1dw1234h,5678h,9abch,0def0h dataends;数据段结束end segmentcode segment;代码段开始assume cs:code,ds data;建立代码段寄存器和代码段段名的关系main:;主程序的开始mov ax,data movds,ax;初始化数据段段寄存器?第页4mov bx,offset block1mov si,2mov ax,bx mov ax,ds:bxmov ax,ds:bx+2mov ax,ds:bx+simovax,ds:bx+si+2mov ah,4ch;程序结束,返回DOS int21h codeends;代码段结束end ofsegment endmain;主程序结束3)保存源程序a、注意保存源程序的文件名不能太长(包括路径);b、注意保存源程序的文件名的后缀为.asm4)编译和运行选择菜单栏项目全部编译进行编译工作选择菜单栏执行单步或F8快捷键或图标5)观察窗口观察数据变化a、选择菜单栏窗口CPU窗口b、观察单步执行时CPU内部有名称的寄存器如AX、BX、CX、DX的变化 四、完成思考题,调试成功后,请老师进行实验验收、打分a、程序功能_b、练习其他寻址方式c、写出每个寻址方式 五、本次实验出现问题、解决方法,以及对实验的意见第页5RAM 一、实验目的l、熟悉静态RAM的使用方法,掌握8088微机系统扩展RAM的方法。 2、掌握静态RAM读写数据编程方法。 二、实验内容对指定地址区间的RAM(2000H23FFH)先进行写数据55AAH,然后将其内容读出再写到3000H33FFH中。 三、硬件电路(系统中已连接好) 四、实验步骤l、将实验系统与PC机连接; 2、在PC机上启功win88软件,实验系统进入联机状态; 3、在win88软件环境下、调试程序,将程序调试、编译通过; 4、在系统提示符“P”状态下,输入执行地址后按EXEC键。 5、稍后按RESET键退出,用存贮器读方法检查2000H23FFH中的内容和300033FF中的内容应都是55AA。 第页6DMA8237 一、实验目的1掌握PC机工作环境下进行DNA数据传送方法;2掌握可编程DMA控制器8237的编程方法。 二、硬件连线74HC273Q1Q8接发光二极管L0RL7R,CLK接74HC32的2Y,CLK接VCC。 74HC74CLK接正脉冲按钮,D接VCC,PR接VCC。 74HC244IN1IN8接开关K0K7,CR接PC总线的DACK1,CS244接74HC32的1Y,Q接PC总线的DRQ1。 74HC321A接PC总线的DADK1,2A接PC总线的DACK1,1B接PC总线的-IOR,2B接PC总线的-IOW。 三、实验原理本实验必须在纯MS-DOS方式下进行。 PC机环境下,8237只能工作于单字节方式。 PC机中8237的端口号为000FH,通道1的页面地址寄存器端口号为83H。 四、实验编程及实验内容1在内存6000H0开始存放10个数据,对8237初始化,使正脉冲每产生一次DMA请求发送一字节到发光二极管显示。 2内存6000H0开辟8字节的缓冲区,对8237初始化,使正脉冲每产生一次DMA请求就从74HC244读入一字节(ASCII)存入内存缓冲区中,程序不断显示缓冲区的内容。 3将内容1改为用软件请求方法产生DMA请求,即不用外部的正脉冲,PC机键盘每按一键则DMA传送一字节到74HC273,在发光二极管上显示。 第页78259 一、实验目的1.掌握8259中断控制器的接口方法。 2.掌握8259中断控制器的应用编程。 二、实验内容l.硬件线路原理图如图51图512.硬件线路连接8259的INT连Xl5(8088的INTR)8259的INTA连Xl2(8088INTA)”插孔和8259的3号中断IR3插孔相连,“8259的CS端接X223.编程提示8259芯片介绍中断控制器8259A是专为控制优先级中断而设计的芯片。 它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中。 因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式。 .即中断结构可以由用户编程来设定。 同时,在不需要增加其它电路的情况下,通过多片8259A的级联,能构成多达64级的矢量中断系统。 “”端初始为低电平。 本实验中使用3号中断源IR3,“每按二次AN按钮产生一次中断,满5次中断,显示“8259good”。 如果中断源电平信号不符合规定要求,则自动转到7号中断,显示“Err”。 4.软件框图开始”插孔和IR3相连,中断方式为边沿触发方式。 初始化8259调用显示8259-1子程序第页8结束等待中断IR3中断服务程序开始关中断显示中断次数N判中断次数满5次后调用显示“good”次数加1结束中断返回IR7中断服务程序开始开中断调用显示“ERR”结束 三、实验步骤 1、按图51连好实验线路图 2、将实验系统与PC机连接; 3、在PC机上启功win88软件,实验系统进入联机状态; 4、在win88软件环境下、调试程序,将程序调试、编译通过; 5、运行实验程序在系统处于命令提示符“P.”状态下,输入执行地址后按EXEC键,系统显示8259 16、按AN按钮,按满l0次显示good第页98255A 一、实验目的1.掌握8255A和微机接口方法。 2.掌握8255A的工作方式和编程原理。 3.掌握通过8255A并行口传输数据的方法,以控制发光二极管的亮与灭。 二、实验内容l.8255A芯片简介8255A可编程外围接口芯片是INTEL公司生产的通用并行接口芯片,它具有A、B、C三个并行接口,用+5v单电源供电,能在以下三种方式下工作方式0基本输入/输出方式方式l选通输入/输出方式方式2双向选通工作方式2.硬件原理图如图52图522.硬件线路连接8255A PC0L3PC17PC2L11PC3L15PC4L2PC56PC6L10PC7L14PB4L1PB5L5PB6L9PB7L133.软件框图开始置8255控制字82H,使B口数据保存在BL中读取PB口数据保存在BL中置8255控制字80H,使各端口均为输出口,且均工作于方式0第页10使四个路口的红灯全亮延时一段时间点亮 1、3路口绿灯延时熄灭 1、3路口绿灯 1、3路口黄灯闪烁8次四个红灯全亮点亮 2、4路口绿灯延时熄灭 2、4路口绿灯 2、4路口绿灯闪烁8次四个红灯全亮4.编程提示通过8255A控制发光二极管,PB4-PB7对应黄灯,PC0-PC3对应红灯,PC4-PC7对应绿灯,以模拟交通路灯的管理。 要完成本实验,必须先了解交通路灯的亮灭规律,设有一个十字路口l、3为南北方向, 2、4为东西方向,初始状态为四个路口的红灯全亮,之后, 1、3路口的绿灯亮, 2、4路口的红灯亮, 1、3路口方向通车。 延时一段时间后,l、3路口的绿灯熄灭,而l、3路口的黄灯开始闪烁,闪烁若干次以后,l、3路口红灯亮,而同时 2、4路口的绿灯亮, 2、4路口方向通车,延时一段时间后, 2、4路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到l、3路口方向,之后,重复上述过程。 程序中设定好8255A的工作模式及三个端口均工作在方式0,并处于输出状态。 各发光二极管共阳极,使其点亮应使8255A相应端口的位清0。 三、实验步骤l.按图52连好实验线路 2、将实验系统与PC机连接; 3、在PC机上启功win88软件,实验系统进入联机状态; 4、在win88软件环境下、调试程序,将程序调试、编译通过; 5、运行实验程序输入执行地址后按EXEC键;系统显示执行符“厂”,同时Ll-Ll5发光二极管模拟交通灯显示。 第页118250 一、实验目的 (1)系统扩展以8250为核心的可编程串行异步通讯接口芯片。 (2)对扩展的串行通讯接口实现自发自收。 二、实验内容将寄存器AH的内容从10H开始通过8250发送、接收,每次收发后AH的内容自动增1直到FFH为止,再将每次接收到的数据,依次写到内存3000H30EFH单元中,实现自发自收。 三、编程指南 1、通讯协议1个起始位,8位数据位,1个停止位,波特率4800。 2、8250的内部寄存器的端口地址第页 123、8250的内部寄存器格式(见课本P263) 4、波特率除数锁存器的值与波特率的对应关系(16进制数) 5、8250的初始化编程 (1)设置波特率 (2)设置通讯数据格式 (3)设置操作方式 (4)设置中断允许寄存器 四、实验接线图如图53图53 五、实验步骤 1、用扁平线连BUS(D0D7)到JX3(D0D7),连8000H孔到CS7,连TXD到RXD(8250实验区)。 2、将实验系统与PC机连接; 3、在PC机上启功win88软件,实验系统进入联机状态; 4、在win88软件环境下、调试程序,将程序调试、编译通过; 5、运行程序,当系统显示“8250good”表示自发自收结束,按RST钮,系统返回P态,用内存读写命令检查3000H30EFH内容是否为10HFFH,验证其正确性。 第页13实验八8253定时计数器应用 一、实验目的 (1)学会8253芯片和微机接口原理和方法。 (2)掌握8253定时器计数器的工作方式和编程原理。 二、实验内容8253的0通道工作在方式3,产生方波。 三、程序框图 四、实验电路 五、编程提示8253芯片介绍8253是一种可编程定时/计数器,有三个十六位计数器,其计数频率范围为0-2MHz,用+5V单电源供电。 8253的功能用途 (1)延时中断 (5)实时时钟 (2)可编程频率发生器 (6)数字单稳 (3)事件计数器 (7)复杂的电机控制器 (4)二进制倍频器第页148253的六种工作方式 (1)方式0计数结束中断 (4)方式3方波频率发生器 (2)方式1可编程频率发生 (5)方式4软件触发的选通信号 (3)方式2频率发生器 (6)方式5硬件触发的选通信号8253的0号通道工作在方式3,产生方被。 六、实验步骤 (1)按实验电路图连接线路8253的GATE0接+5V。 8253的CLK0插孔接分频器74LS393(左上方)的T2插孔,分频器的频率源为4.9152MHz(已连好)。 8253的CS孔与138译码器的FFE0孔相连。 (2)编写实验程序并运行 (3)用示波器测量8253的OUT0输出插孔有方波产生。 (4)按复位键RESET返回“P”或按暂停键STOP+MON键返回“P.”。 第页15 一、实验目的了解模/数转换基本原理,掌握ADC0809的使用方法。 二、实验内容1.硬件原理图如图54图542.硬件线路连接将0809CS4连到译码输出8000H插孔。 将通道0模拟量输入端IN0连电位器W1的中心插头05V插孔。 3.软件框图开始启动0809进行本次A/D转换延时等待A/D转换结果读取A/D转换结果将结果转换成显示代码调用显示转换结果子程序 4、编程提示ADC0809的START端为A/D转换启动信号,ALE端为通道选择地址的锁存信号,实验电路中将其相连,以便同时锁存通道地址并开始A/D采样转换,其输入控制信号为CS和WR,故启动A/D转换只须如下两条指令MOV DX,ADPORT;ADC0809端地址OUT DX,AL;发CS和WR信号并送通道地址用延时方式等待A/D转换结果,使用下述指令读取A/D转换结果。 MOV DX,ADPORT第页16IN AL,DX循环不断采样A/D转换的结果,边采样边显示A/D转换后的数字量。 三、实验步骤1.按图54连好实验线路。 2、将实验系统与PC机连接; 3、在PC机上启功win88软件,实验系统进入联机状态; 4、在win88软件环境下、调试程序,将程序调试、编译通过; 5、运行实验程序在系统上显示“0809XX”。 “XX”表示输入的模拟量转换后的数字量。 6、调节电位器Wl,显示器上会不断显示新的转换结果。 模拟量和数字量对应关系的典型值为0V一00H,+2.5V80H。 +5VFFH 7、按RESET键退出或按STOP键后按MON键。 第页17 一、实验目的1了解数字录音技术的基本原理;2进一步掌握A/D转换器和D/A转换器的使用方法。 二、硬件连线8255CS8255接地址译码Y1,PA0接8253的OUT0。 8253CS8253接地址译码Y0,CLK0接1MHz脉冲,GATE0接VCC。 DAC0832CS0832接地址译码Y2,UB接SPEAK INPUT。 ADC0809CS0809接地址译码Y3,CLK接1MHz脉冲,IN2接MIC OUTPUT。 三、实验编程及实验内容以每秒5000次的速率采集IN2输入的语音数据存入内存中,共采集60000个数据(录十二秒),然后再以同样的速率将数据送DAC0832使喇叭发声(放音)。 第页18 一、实验目的1掌握8086及PC机中断处理系统的基本原理及学会编写中断服务子程序;2掌握系统DOS调用方法及应用;3掌握可编程并行口8255的原理与应用;4学会综合运用几种接口芯片编写程序。 二、实验电路图说明由于等PC、IBM等机内有一片8259中断控制器对外提供8个中断源,本设计就选中其中IRQ3,中断类型号为08H,因此,初始化字由于微机系统已设置好,现不用另行设置。 三、实验原理开关SW控制整个电路的开启,并使二极管亮,PC机中8259的IRQ3进行外部中断源控制。 四、实验内容开关SW按下后,按一次单脉冲键钮,产生一次中断,并显示一串字符,按字符提示键盘选择,显示一串字符,再按提示按键盘,最后产生一串字符。 中断前,二极管循环点亮。 按ESC键退出。 五、程序流程图E/新建以本人学号为名的文件夹,将masm拷入;附件/记事本,建立。 asm文件,保存入学号文件夹,将代码写入。 asm文件中;程序/MS-DOS方式进入masm文件夹汇编:/masm。 asm链接:/Link执行:第页19RAM CODE SEGMENT ASSUME CS:CODE ORG1900H;定义起始地址1900B80000START:MOV AX,0H;定义数据段寄存器DS MOV DS,AX19038E D81905BB0020MOV BX,2000H;定义数据地址BX MOV AX,55AAH;置常数为55AA MOV CX,03FFH;置字节数CX RAMW1:MOV DS:BX,AX;常数55AA写入DS;BX中191083C302ADD BX,0002H;地址增量1913E2F9LOOP RAMW1;一直写到字节数0为止1915B80020MOV AX,2000H1908B8AA55190B B9FF03190E890719188B F0MOV SI,AX;置源数据区地址SI191A B80030MOV AX,3000H191D8B F8MOV DI,AX;置目的数据区地址DI;置字节数CX;确定地址变化方向;写数据到目标数据区;结束191F B9FF03MOV CX,03FFH1922FC CLD1923F3A4REP MOVSB1925EB FEJMP$1927CODE ENDSEND START8259CODE SEGMENT ASSUME CS:CODE=0060INTPORT1EQU0060H;定义8253控制口和通道地址INTPORT2EQU0061H=0061INTQ3EQU INTREEUP3INTQ7EQU INTREEUP7ORG13A0H;定义起始地址START:CLD13A0FC;关中断13A1E800F2CALL WBUF1;调用初始显示8259-1子程序CALL WRINTVER;WRITE INTMOV AL,13H;调用写中断向量子程序MOV DX,INTPORT1;8259初始化OUT DX,AL13A4E8001D13A7B01313A9BA006013AC EE第页xxAD B008MOV AL,08H13AF BA0061MOV DX,INTPORT213B2EE OUT DX,AL13B3B009MOV AL,09H13B5EE OUT DX,AL13B6B0F7MOV AL,0F7H13B8EE OUT DX,AL13B9C606070101MOV BYTEPTR DS:0701H,01H;置中断次数;初值01STI;开中断13BE FB13BF E8008A WATING:CALL DISP;调用显示8259-1子程序13C2EB FB JMP WATING;循环等待中断13C4B80000WRINTVER:MOV AX,0H;写中断向量子程序13C78EC0MOV ES,AX13C9BF002C MOVDI,002CH;写3号中断矢量LEA AX,INTQ313CC B813E0r13CF AB STOSW13D0B80000MOV AX,0000h13D3ABSTOSW13D4BF003C MOVDI,003CH13D7B8142Er LEA AX,INTQ7;写7号中断矢量STOSW13DA AB13DB B80000MOV AX,0000h13DE ABSTOSW13DF C3RET;子程序返回13E0FA INTREEUP3:CLI;3号中断服务程序13E1A00701MOV AL,DS:0701H;取中断次数转换成显示13E4E80036CALL CONVERS13E7BB077B MOV BX,077BH13EA B010MOV AL,10H13EC B90005MOV CX,05H13EF8807INTRE0:MOV BYTEPTR DS:BX,AL;显示代码写入;显示缓冲区INC BX13F14313F2E2FB LOOPINTRE013F4B020MOV AL,20H13F6BA0060MOV DX,INTPORT113F9EE OUT DX,AL13FA8006070101ADD BYTEPTR DS:0701H,01H;判中断;次数为5次否13FF803E070106CMP BYTEPTR DS:0701H,06H14047620JNA INTRE21406C706077A191A MOV DS:077AH,191AH;满5次显示“good”MOV DS:077CH,1819H140C C706077C1819第页211412C706077E1010mov DS:077Eh,1010H1418E80031INTRE1:CALL DISP141B EB FB JMPINTRE1141D240F CONVERS:AND AL,0FH141F BB077A MOV BX,077AH14228807MOV DS:BX,AL142443INC BX1425C3RET1426B020INTRE2:MOV AL,20H;不满5次开中断返回MOV DX,INTPORT11428BA0060142B EE OUT DX,AL142C FBSTI142D CFIRET142E FAINTREEUP7:CLI;7号中断服务程序142F B020MOV AL,20H1431BA0060MOV DX,INTPORT1;因触发电平不符合;中断求引起的7号中断OUT DX,AL1434EE1435C706077A1C1C MOVDS:077AH,1C1CH;显示“ERR”MOVDS:077CH,101BH143B C706077C101B1441C706077E1010mov DS:077Eh,1010H1447E80002INTRE3:CALL DISP144A EBFB JMPINTRE3144C BA077F disp:mov dx,077Fh;显示子程序144F B420mov ah,20h1451B900FF disp0:mov cx,00ffh14548B DAmov bx,dx14568A1F movbl,ds:bx1458B700mov bh,0h145A52push dx145B BA FF22mov dx,0ff22h145E2E:8A871479mov al,cs:bx+1479h1463EE OUT DX,AL1464BA FF21mov dx,0ff21h14678A C4mov al,ah1469EE OUT DX,AL146A E2FE disp1:loop disp1146C5A popdx146D4A decdx146E D0EC shrah,01h147075DF jnz disp01472BA FF22mov dx,0ff22h1475B0FF mov al,0FFH1477EE OUT DX,AL1478C3ret第页221479C0F9A4B0999282+data1:db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h F8148180908883C6A186+db80h,90h,88h,83h,0c6h,0a1h,86h,8eh8E1489FF0C89DE C78C F3+db0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh BF149190A3A1868F db90h,0a3h,0a1h,86h,8fh1496BB0000WBUF1:MOV BX,0;初始化显示缓冲区(8259-1)1499C787077A1701MOV WORD PTR DS:BX+077AH,1701H149F83C302ADD BX,214A2C787077A0509MOV WORDPTR DS:BX+077AH,0509H14A883C302ADD BX,214AB C787077A0802MOV WORDPTR DS:BX+077AH,0802H14B1C3RET14B2CODE ENDSEND START8255CODESEGMENT=FF2B IOCONPTEQU0FF2BH;定义8255各寄存器地址=FF28IOAPT EQU0FF28H ASSUME CS:CODE=FF29IOBPT EQU0FF29H=FF2A IOCPTEQU0FF2AH ORG12E0H;定义起始地址12E0B082START:MOV AL,82H12E2BA FF2B MOV DX,IOCONPT;写8255控制字,三个口均工作于方式0OUT DX,AL;B口为输入,A及C口输出MOV DX,IOBPT;读PB口数据存0601H单元IN AL,DX12E5EE12E6BA FF2912E9EC12EA A20601MOV BYTEPTR DS:0601H,AL12ED BA FF2B MOV DX,IOCONPT;写方式控制字均为输出MOV AL,80H12F0B08012F2EE OUT DX,AL12F3BA FF29MOV DX,IOBPT;置PB口高四位,熄黄灯MOV AL,DS:0601H12F6A0060112F90C F0OR AL,0F0H12FB EE OUT DX,AL12FC BA FF2A MOV DX,IOCPT12FF B0F0MOV AL,0F0H;使PC0PC3为0,PC4PC7为1OUT DX,AL;即点亮红灯,熄灭绿灯1301EE第页231302E8005D CALL DELAY1;延时1305B0A5IOLED0:MOV AL,10100101B;使1,3路口绿灯亮,同时2,4路口红灯亮1307BA FF2A MOV DX,IOCPT130A EE OUT DX,AL130B E80054CALL DELAY1;延时CALL DELAY1130E E8005113110C F0OR AL,0F0H OUT DX,AL;灭1,3路口绿灯1313EE1314B90008MOV CX,8H;置计数器值为81317BA FF29IOLED1:MOV DX,IOBPT131AA00601MOV AL,DS:0601H131D24AF AND AL,10101111B;点亮1,3路口黄灯OUT DX,AL131F EE1320E8004C CALL DELAY2;延时较短时间OR AL,01010000B;灭1,3路口黄灯OUT DX,AL13230C501325EE1326E80046CALL DELAY2;延时较短时间LOOP IOLED1;黄灯闪烁8次132B BA FF2A MOV DX,IOCPT1329E2EC132E B0F0MOV AL,0F0H;点亮4个红灯,灭4个绿灯OUT DX,AL1330EE1331E8003B CALL DELAY2;延时MOV AL,01011010B;使1,3路口绿灯亮,同时2,4路口红灯亮OUT DX,AL1334B05A1336EE1337E80028CALL DELAY1;延时CALLDELAY1133A E80025133D0C F0OR AL,0F0H;灭2,4路口绿灯OUT DX,AL133F EE1340B90008MOV CX,8H;置计数初值1343BA FF29IOLED2:MOV DX,IOBPT1346A00601MOV AL,DS:0601H1349245F ANDAL,01011111B;点亮2,4路口黄灯OUTDX,AL134B EE134C E80020CALLDELAY2;延时OR AL,10100000B;灭2,4路口黄灯OUTDX,AL134F0C A01351EE1352E8001A CALLDELAY2;延时1355E2EC LOOPIOLED2;黄灯闪烁8次1357BA FF2A MOV DX,IOCPT135A B0F0MOV AL,0F0H;点亮4个红灯,灭4个绿灯OUTDX,AL135C EE135D E8000F CALLDELAY2;延时JMP IOLED01360EB A3;循环136250DELAY1:PUSH AX136351PUSH CX;延时子程序第页241364B90030MOV CX,0030H1367E80005DELY2:CALLDELAY2136A E2FB LOOPDELY2136C59POP CX136D58POP AX136EC3RET136F51DELAY2:PUSH CX1370B98000MOV CX,8000H1373E2FE DELA1:LOOP DELA1137559POP CX1376C3RET1377CODE ENDSEND START825010000CODESEGMENT2ASSUMECS:CODE3=8000DATA EQU8000H4=8001MSB EQU8001H5=8003LINE EQU8003H6=8005LSTAT EQU8005H7ORG2B00H82B00B080START:MOV AL,80H92B02BA8003MOV DX,LINE102B05EE OUTDX,AL112B06B018MOV AL,18H122B08BA8000MOV DX,8000H132B0B EE OUTDX,AL142B0C BA8001MOV DX,MSB152B0F B000MOV AL,00162B11EE OUTDX,AL17182B12B003MOV AL,03H192B14BA8003MOV DX,LINE202B17EE OUTDX,AL21222B18B000MOV AL,00232B1A BA8001MOV DX,8001H242B1D EEOUTDX,AL252B1E B410MOVAH,10H262B20BB3000MOV BX,3000H第页25272B23E80022MAIN:CALL TXD282B26E8002E CALLRCV292B298807MOVBX,AL302B2B43INC BX312B2C FEC4INC AH322B2E80FC00CMP AH,00H332B3175F0JNZ MAIN342B33E8008D CALL BUF1352B36B900FF MOVCX,00FFH362B3951S3:PUSH CX372B3A E80033CALL DISP382B3D59POP CX392B3EE2F9LOOP S3402B40E800B8CALL BUF3412B43E8002A S1:CALL DISP422B46EBFBJMP S1432B48BA8005TXD:MOVDX,LSTAT442B4B ECWAIT1:IN AL,DX452B4C A820TEST AL,20H462B4E74FB JZWAIT1472B508A C4MOV AL,AH482B52BA8000MOVDX,DATA492B55EEOUTDX,AL502B56C3RET512B57BA8005RCV:MOVDX,LSTAT522B5A ECWAIT2:IN AL,DX532B5B A801TEST AL,01H542B5D74FB JZWAIT2552B5F A80E TESTAL,0EH562B617505JNZ ERR572B63BA8000MOVDX,DATA582B66EC INAL,DX592B67C3RET602B68E80074ERR:CALLBUF2612B6B E80002S2:CALL DISP622B6E EBFBJMPS263642B70B000disp:mov al,00h652B72BA FF21mov dx,0ff21h662B75EE outdx,al672B76BA077F mov dx,077Fh682B79B420mov ah,20h692B7B B900FF disp0:mov cx,00ffh702B7E8B DAmov bx,dx712B808A07mov AL,bx第页26722B8252push dx732B83BA FF22mov dx,0ff22h742B86BB2BAAr MOV BX,OFFSET DATA1752B8951push cx762B8A B500mov ch,00h772B8C8A C8mov cl,al782B8E03D9add bx,cx792B9059pop cx802B912E:8A07mov al,cs:bx81822B94EEOUTDX,AL832B95BAFF21mov dx,0ff21h842B988A C4mov al,ah852B9A EEOUTDX,AL862B9B E2FE disp1:loop disp1872B9D5A popdx882B9E4A decdx892B9F D0EC shrah,01h902BA175D8jnzdisp0912BA3BAFF22mov dx,0ff22h922BA6B0FF mov al,0ffh932BA8EEOUTDX,AL942BA9C3ret952BAA C0F9A4B0999282+data1db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h96F880908883C6A1972BB8868E FF0C89DE C7+db86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH988C F3BF8F992BC3BB0000BUF1:MOV BX,01002BC6C787077A1717MOV WORDPTR DS:BX+077AH,1717H1012BCC83C302ADD BX,21022BCF C787077A0500MOV WORDPTR DS:BX+077AH,0500H1032BD583C302ADD BX,21042BD8C787077A0802MOV WORDPTR DS:BX+077AH,0802H1052BDE C3RET1061072BDF BB0000BUF2:MOVBX,01082BE2C787077A0E18MOV WORDPTR DS:BX+077AH,0E18H1092BE883C302ADD BX,21102BEB C787077A0500MOV WORDPTR DS:BX+077AH,第页270500H1112BF183C302ADD BX,21122BF4C787077A0802MOV WORDPTR DS:BX+077AH,0802H1132BFA C3RET1142BFB BB0000BUF3:MOVBX,01152BFE C787077A1010MOV WORDPTR DS:BX+077AH,1010H1162C0483C302ADD BX,21172C07C787077A000D MOV WORDPTR DS:BX+077AH,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年编程语言实战Python编程技能面试模拟题及答案全收录
- 2025年电力系统中级火电运行值班员考试要点解析
- 甲状腺超声诊断
- 甲状腺的快速康复课件
- 职教数学复习 第3章函数 第8讲函数的单调性 课件
- 甲状腺射频消融术课件
- 田坪镇安全知识培训课件
- 用电安全知识培训课件通讯稿
- 关于萧红教学课件
- 新解读《GB-T 35873-2018农产品市场信息采集与质量控制规范》
- 叉车维修方案(3篇)
- 口腔科护士正确吸唾操作规范
- 中学升旗管理制度
- Odoo面试题及答案
- 2025年全国I卷英语 高考真题
- 专业公路工程知识考察试题及答案
- 陕西西安铁一中学2025届英语八下期末检测试题含答案
- 2025上半年高级软件水平考试《系统分析师(案例分析)》真题及解析
- 赃款退还协议书
- 中华护理学会团体标准|2024 针刺伤预防与处理
- 江西国泰集团股份有限公司考试真题2024
评论
0/150
提交评论