background image

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