文档详情

交通燈汇编程序设计.doc

发布:2017-01-12约6.78千字共9页下载文档
文本预览下载声明
;*************定义数据段*********************************************** data segment title1 db Traffic-System deng db # # # sing1 db South-North sing2 db East - West sing3 db Red time(scend): time db Time: sing4 db Yellow time(scend): buff db 4 ;键盘缓冲区 buff1 db 3 dup(?) ;工作计数区 buff2 db 3 dup(?) ;数据保存区 yellow db ? ;黄灯时间 mode db Mode:auto(Y/N)?: ans db ? ting3 db Red time(scend):030 ting4 db Yellow time(scend):5 ;************************主程序段********************************************** data ends code segment assume cs:code,ds:data,es:data start:mov ax,data mov ds,ax mov es,ax call title2 ;初始化标题 q0: call mode1 ;模式选择 自动或手动 call scanf call atuo ; 默认设置参数启动 lea si,ans cmp byte ptr[si],y jz q1 cmp byte ptr[si],n jnz q0 call ask1 ;设置红灯时间 call scanf0 call ask2 ;设置黄灯时间 call scanf1 q1: call init1 ; 初始化灯光 call init2 lea si,buff;复制数据buff-buff1,保存显示时间 inc si inc si lea di,buff1 cld mov cx,3 REP movsb lea si,buff1;复制数据buff1-buff2,保存显示时间 lea di,buff2 cld mov cx,3 REP movsb ;********************子程序设计************************************** ;*******状态一:南北方向红灯,东西方向绿灯***************************** start1:lea si,buff2 ;复制数据buff2-buff1,保存显示时间 lea di,buff1 cld mov cx,3 REP movsb lea di,buff1 a0: cmp byte ptr[di+2],30h ;数据处理部分 ja a1 add byte ptr[di+2],10 sub byte ptr[di+1],1 a1: sub byte ptr[di+2],1 cmp byte ptr[di+1],30h jnc a2 add byte ptr[di+1],10 sub byte ptr[di],1 a2: cmp byte ptr[di],30h jnc a3 jmp start2 ; 换灯 a3: call nr call write0 call write1 lea si,yellow mov al,[si] cmp byte p
显示全部
相似文档