感覺比現(xiàn)在在論壇上貼出來的簡單點(diǎn) 不過沒帶控制 寫好了貼上 org 0h jmp begin org 0bh jmp to_int begin:mov a,#0 mov r0,#70h mov r1,#7bh again:mov @r0,a inc r0 djnz r1,again mov tmod,#0h mov ie,#10000010b mov tl0,#24 mov th0,#99 mov r2,#200 setb tr0 loop: call scan jmp loop to_int: PUSH a PUSH psw clr et0 clr tr0 mov tl0,#24 mov th0,#99 setb tr0 djnz r2,out0 mov r2,#200 mov r0,#75h call add1 mov a,r4 cjne a,#60h,out0 call clean mov r0,#73h call add1 mov a,r4 cjne a,#60h,out0 call clean mov r0,#71h call add1 mov a,r4 cjne a,#24h,out0 call clean out0: pop psw pop a setb et0 reti add1: mov a,@r0 dec r0 swap a orl a,@r0 swap a inc a da a mov r4,a anl a,#0fh inc r0 mov @r0,a mov a,r4 anl a,#0f0h swap a dec r0 mov @r0,a ret clean:mov a,#0 mov @r0,a inc r0 mov @r0,a ret scan: MOV R1,#70H mov a,#0feh mov r5,#6 mov dptr,#tab again1:PUSH a mov a,@r1 movc a,@a+dptr mov p0,a pop a mov p2,a call delay rl a inc r1 djnz r5,again1 ret TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0fFH delay:mov r6,#200 djnz r6,$ ret
|