LEX 'ACBATLEX' * (c) 1988, PPC Paris et l'Auteur ID #5C MSG 0 POLL 0 ENTRY eBAT CHAR #F KEY 'CLKSPEED' TOKEN 99 =FNRTN1 EQU #0F216 =HDFLT EQU #1B31B =TIMER2 EQU #2E2F8 ENDTXT NIBHEX #00 eBAT GOSUB stD0D1 Sauve D0 D1 dans R4 clkspd SETHEX P= 0 NÅcessaire si 2 ÅxÅcutions B=0 A Compteur nombre de boucle A=R4 R4[A]=0... A=0 A afin de dÅterminer... R4=A s'il y a eu interruption D0=(5) =TIMER2 INTOFF A=DAT0 B Lit l'octet de pds faible clks10 C=DAT0 B Attend une mise È jour ?C=A P Top ? GOYES clks10 Non. 7 cycles si passe C=DAT0 B Relecture 15 cycles. P= 1 DÅtermine la durÅe. 2 c C=C-1 P 1/32 de sec. 4 cycles C=C-1 P 1/16 de sec. 4 cycles. clks20 B=B+1 X Compteur+1 6 cycles. A=DAT0 B Lecture du timer. 15c ?C#A B Temps ÅcoulÅ ? non 15c GOYES clks20 Continue si temps. 8c A=0 A "coton" de 7c B=B+1 X termine le compte. 6c A=DAT0 B VÅrification. 15c ?C#A B Erreur ? si oui 15c GOYES clks20 INTON A=R4 Y-a-t-il eu interruption ?A#0 A GOYES clkspd Recommencer P= 0 B=B+B A A=0 W A=B A 2*B ASL A 20*B B=B+B A 4*B A=A+B A 24*B C=0 A LCHEX 13 A=A-C A 24*B-13 (HEX) ASL A res*16 GOSBVL =HDFLT Conversion en dÅcimal C=A W GOSUB rcD0D1 GOVLNG =FNRTN1 * stD0D1 AD0EX ASL W ASL W ASL W ASL W ASL W AD1EX ASL W ASL W ASL W ASL W ASL W R4=A rcD0D1 A=R4 ASR W ASR W ASR W ASR W ASR W AD1EX ASR W ASR W ASR W ASR W ASR W AD0EX RTNCC