main: mov al,0
call disp;显示当前楼层
mov bl,0;bl 为第一次输入的要去的楼层
mov ch,0;ch 为在中途中再次输入的要去的楼层
call disp8led
mov ah,01;键盘输入 bl
int 21h
cmp al,1bh;是 esc 则退出
je exit1
cmp al,31h;判断输入的楼层在 1-8 之间?如不是重新输入
jl main
cmp al,38h
jg main
mov bl,al
call disp8led;8led 显示 bl 对应的楼层
cmp bl,cl;bl 与 cl 比较
je main;相等则返回重新输入
jg up;大于则向上运行
jl down;小于则向下运行
up: call stop;调用暂停子程序
goup: add cl,1
call updelay;调用向上运行延时子程序
call disp;调用显示子程序,用于显示当前楼层 cl
cmp cl,bl;cl,bl 不等则继续
je main;相等则返回
jmp goup
exit1: jmp exit
tomain:jmp main
upgetch:mov ah,1;在上升过程中如在有按键则跳转此处
int 21h