;调用修改系统的子程SCLBITP3
2SDABITP3
3ORG0000HLJMPMAINORG000BHLJMPDING0ORG001BHLJMPDING1ORG0030HMAIN:CLRRSO;共有四种界面 P,A,B,C,显示在第七位数码管上,对应存放地址为内部 RAM 的 47H 单元CLRRS1MOVSP,#5AHMOV5AH,#OOH;已输入的密码位数存于 5AHLCALLQING;调用清屏子程序,清屏子程序包括熄灭显示区 40H~45H 和清除已输入密码的次数MOV46H,#10H;进入准备界面,设置为 P 界面,显示区40H~47H 中,47H 存放一级界面 P,A,B,C,46H 存放二级界面 1,2,3 等MOV47H,#12HLCALLI2CRQ;调用读密码子程序MOVA,36HCJNEA,#55H,LOOP1;判断校验字节是否为 55H,若为 55H,表示该密码为修改之后的密码,否则将密码设置为 6 个 8MOVRO,#3OHMOVR1,#48HLOOP4:MOVA,@ROMOV@R1,AINCROINCR1CJNER1,#4EH,LOOP4LJMPLOOP3LOOP1:MOVRO,#48H;系统密码存于 48H~4DH 单元,输入的密码将存于 4EH~53H,修改密码时的系统密码将暂存于 54H~59HLOOP2:MOV@RO,#O8H;初始密码设置为 888888INCROCJNERO,#4EH,LOOP2LOOP3:LCALLXIAN;调用显示程序LCALLPAN;调用判键程序,无键按下则A为 0,有键按下则 A 为对应键码 1~16JZLOOP3;若无键按下,循环显示和判键若有按键,则调用修改系统子程序,根据按键修改界面LCALLGAILJMPLOOP3MOVR0,#47HGAIPP:CJNE@R0,#12H,GAIAPGAIAP:LCAL