-
-
linmuyishu
丨Lv 1
首先说明一下,汇编程序每一句都 翻译(应为注释),实在没有意义。MAIN: MOV SP, #SP ;传送 SP,立即数SPMOV 30H, #08H ;传送 30H,立即数08HMOV P1, #FFH ;传送 接口1,立即数FFHMOV P0, FFH ;传送 接口0,FFHCLR TR0 ;清0 TR0TO: MOV TMOD, #01H ;传送 TMOD,立即数01HMOV TH0, #3CH ;传送 TH0,立即数3CHMOV TL0, #0B0H ;传送 TL0,立即数0B0HSETB TR0 ;位-置1 TR0T1: MOV 30H, #50 ;传送 30H,立即数50M8: CJNE 30H, #00H, M8 ;比较-不等转移 30H,立即数00H, CJNE 31H, 08H, M7 ;比较-不等转移 31H,08H, MOV P1, FFH ;传送 接口1,FFH MOV P0, FFH ;传送 接口0,FFH DEC 31H ;减1 31H SJMP T1 ;短转移到 T1M7: CJNE 31H, 07H, M6 ;比较-不等转移 31H,07H, MOV P1, FFH ;传送 接口1,FFH MOV P0, 00H ;传送 接口0,00H DEC 31H ;减1 31H SJMP T1 ;短转移到 T1M6: CJNE 31H, 06H, M5 ;比较-不等转移 31H,06H, MOV P1, 00H ;传送 接口1,00H MOV P0, FFH ;传送 接口0,FFH DEC 31H ;减1 31H SJMP T1 ;短转移到 T1M5: CJNE 31H, 05H, M4 ;比较-不等转移 31H,05H, MOV P1, F0H ;传送 接口1,F0H MOV P0, F0H ;传送 接口0,F0H DEC 31H ;减1 31H SJMP T1 ;短转移到 T1M4: CJNE 31H, 04H, M3 ;比较-不等转移 31H,04H, MOV P1, AAH ;传送 接口1,AAH MOV P0, AAH ;传送 接口0,AAH DEC 31H ;减1 31H SJMP T1 ;短转移到 T1M3: CJNE 31H, 03H, M2 ;比较-不等转移 31H,03H, MOV P1, CCH ;传送 接口1,CCH MOV P0, CCH ;传送 接口0,CCH DEC 31H ;减1 31H SJMP T1 ;短转移到 T1M2: CJNE 31H, 02H, M1 ;比较-不等转移 31H,02H, MOV P1, 55H ;传送 接口1,55H MOV P0, 55H ;传送 接口0,55H DEC 31H ;减1 31H LJMP T1 ;长转移到 T1M1: CJNE 31H, 01H ;比较-不等转移 31H,01H MOV P1, 33H ;传送 接口1,33H MOV P0, 33H ;传送 接口0,33H MOV 31H, 08H ;传送 31H,08H LJMP T1 ;长转移到 T1*************************************** ;*************************************** ;中断服务程序 *************************************** ;*************************************** INT1: PUSH 30H ;入栈 30H PUSH 31H ;入栈 31H CLR TR0 ;清0 TR0 MOV TMOD, #01H ;传送 TMOD,立即数01HMOV TH0, #3CH ;传送 TH0,立即数3CHMOV TL0, #0B0H ;传送 TL0,立即数0B0H DEC 30H ;减1 30H POP 31H ;出栈 31H POP 30H ;出栈 30H, SETB TR0 ;位-置1 TR0 RETI ;中断返回