IDP "DIAS - RELEASE 00 - 01/10/80" IDP "P. FRANCONNET" PROG ZERO: EQU $ DZS '10 WORD RUN WORD ENTRY RUN: EQU $ LRP L BR -1,L M: EQU $+256 MINT: BYTE '6D;">";0 MERR: ASCI " ??" WORD 0 MAS: ASCI "DRESSE DKU=" WORD 0 MINCR: ASCI "NCREMENT=" WORD 0 MLONG: ASCI "ONGUEUR MOTS=" WORD 0 MTMPO: ASCI "EMPORISATION=" WORD 0 PILE: DZS 20 COMMON COM: EQU $ ACONVH: WORD CONVH AENVOI: WORD ENVOI AVISTN: WORD VISTN AM: WORD M AXTRAV: WORD ZERO,X INCR: WORD '0017 REP: DZS 2 DMREP: WORD '0101;REP-ZERO*2;1 DM4H: WORD '0101;REP-ZERO*2;4 DMOUT: WORD '0202;0;0 DMDIR: WORD '8A04;0;'4500;0 DMTMPO: WORD '0005;0;0 PAGE PROG ENTRY: EQU $ < < C O M M A N D E S : < < A ENTREE ADRESSE SECTEUR. < I ENTREE INCREMENT. < L ENTREE LONGUEUR MOTS. < + MARCHE AVANT. < - MARCHE ARRIERE. < V VISUALISER IMAGE COURANTE, INCREMENTER ADRESSE COURANTE < ET TEMPORISATION. < G GO; FAIRE V N FOIS (INTERRUPTION PAR ALT-MODE). < T ENTREE VALEUR DE TEMPORISATION (1 A 9). < F FIN. < RETURN EQUIVAUT A V. < LRM C,K WORD COM+'80 WORD PILE-1 DPINT: EQU $ LAI MINT-M < INTERROGATION. BSR AENVOI LAD DMREP < REPONSE. SVC 0 LBY REP < VOYONS... CPI "A" JE DPA CPI "I" JE DPI CPI "L" JE DPL CPI "+" JE DPPLUS CPI "-" JE DPMOIN CPI "V" JE DPV CPI '0D JE DPV CPI "G" JE DPGO CPI "T" JE DPT CPI "F" JE DPF DPERR: EQU $ LAI MERR-M BSR AENVOI JMP DPINT DPF: EQU $ WORD '1E16 JMP ENTRY DPA: EQU $ < ENTREE ADRESSE SECTEUR. LAI MAS-M BSR AENVOI LAD DM4H SVC 0 LA DM4H+1 BSR ACONVH JNE DPERR STA DMDIR+3 JMP DPINT DPI: EQU $ < ENTREE INCREMENT. LAI MINCR-M BSR AENVOI LAD DM4H SVC 0 LA DM4H+1 BSR ACONVH JNE DPERR STA INCR JMP DPINT DPL: EQU $ < ENTREE LONGUEUR MOTS. LAI MLONG-M BSR AENVOI LAD DM4H SVC 0 LA DM4H+1 BSR ACONVH JNE DPERR SLLS 1 STA DMDIR+2 JMP DPINT DPPLUS: EQU $ < MARCHE AVANT. LA INCR JAGE $+2 NGR A STA INCR JMP DPINT DPMOIN: EQU $ < MARCHE ARRIERE. LA INCR JAL $+2 NGR A STA INCR JMP DPINT DPV: EQU $ < VISUALISATION, TEMPO, INCREMENTATION. BSR AVISTN JMP DPINT DPGO: EQU $ < GO. BSR AVISTN JMP DPGO < INTERRUPTION PAR ALT-MODE! DPT: EQU $ < ENTREE TEMPORISATION. LAI MTMPO-M BSR AENVOI LAD DMREP SVC 0 LBY REP ADRI -"0",A CPI 9 JG DPERR JAL DPERR STA DMTMPO+2 JMP DPINT < VISTN: EQU $ < < S/P DE VISUALISATION, INCREMENTATION, TEMPORISATION... < LAD DMDIR SVC 0 JE $+2 ACTD < LA INCR AD DMDIR+3 STA DMDIR+3 < LAD DMTMPO CPZ DMTMPO+2 JE $+2 SVC 0 < RSR PAGE < < CONVERSION EN BINAIRE D'UN NOMBRE HEXADECIMAL SAISI < EN ASCI (PAR EXEMPLE, NUMERO DE SECTEUR) < < ARGUMENTS: < 'A' = ADRESSE OCTET DES 4 CARACTERES ASCI < < RESULTAT: < 'A' = NOMBRE EN BINAIRE, A VALIDER EN FAISANT AU RETOUR: < JE OK OU < JNE ERREUR < CONVH: EQU $ PSR B,X,Y,W < SAUVEGARDES LR A,Y < Y = ADRESSE CARACTERE EN COURS LXI 4 < INIT COUNT CONVH1: EQU $ LR X,W < SAUVEGARDE COUNT LR Y,X < INDEX CARACTERE LBY &AXTRAV < CARACTERE CPI "0" JL CONVH3 < ERREUR CPI "9" JLE CONVH2 CPI "A" JL CONVH3 < ERREUR CPI "F" JG CONVH3 < ERREUR ADRI -7,A CONVH2: EQU $ ADRI -'30,A SLLS 12 SCLD 4 < CHIFFRE HEXA DANS 'B' ADRI 1,Y < CARACTERE SUIVANT LR W,X < RESTAURATION COUNT JDX CONVH1 < AU SUIVANT < SLLD 16 < CONVERSION OK JMP CONVH9 < CONVH3: EQU $ LBI 1 < ERREUR CONVH9: EQU $ CPZR B < POUR TEST AU RETOUR. PLR B,X,Y,W < RESTAURATIONS RSR PAGE ENVOI: EQU $ < < ENVOI D'UN MESSAGE SUR UL '02 < < EN ENTREE < < A=DEPLACEMENT MOTS DU MESSAGE A ENVOYER PAR RAPPORT < A M. TOUT MESSAGE EST DELIMITE PAR '00 < < < NOTA: ON A < EN TABLE: M: EQU $+256 < MES1: ASCI "TEXTE..." < WORD 0 < EN COMMON: AM: WORD M < APPEL PAR: LAI MESI-M < BSR AENVOI < PSR A,X AD AM < @ MOT MESSAGE ADR A,A < @ OCT MESSAGE STA DMOUT+1 STZ DMOUT+2 LR A,X ENV1: EQU $ < BOUCLE JUSQU'A DELIM '00 LBY &AXTRAV JAE ENV2 IC DMOUT+2 < LONGUEUR='+1 ADRI 1,X JMP ENV1 ENV2: EQU $ LAD DMOUT SVC 0 PLR A,X RSR END