< C O P Y M F : < < < C O P Y D K M --> D K F : < < < FONCTION : < CE PROGRAMME PERMET LA RECOPIE < DKM --> DKF AFIN DE PREPARER LE < RUN DE CMS5 SUR LE DISQUE FIXE. < < PROG ZERO: EQU $ DZS '20 < < < B U F F E R S : < < LBUFDK: VAL 128 < LONGUEUR EN MOTS D'UN SECTEUR. BUFDK: DZS LBUFDK < BUFFER UN SECTEUR. MCLOSE: ASCI "!CLOSE" BYTE '04;0 PILE: DZS 20 < < < L O C A L : < < LOCAL LOC: EQU $ NSPDKF: VAL '25 < NSP DU DISQUE FIXE, NSPDKM: VAL '24 < NSP DU DISQUE MOBILE. NVP1: VAL 4 NVP2: VAL 5 DASS1: WORD '0003 < !ASSIGN DIRECT, BYTE NVP1;NSPDKM < !ASSIGN NVP1=NSPDKM. WORD 0 DASS2: WORD '0003 < !ASSIGN DIRECT, BYTE NVP2;NSPDKF < !ASSIGN NVP2=NSPDKF. WORD 0 DCLOSE: WORD '0002 < APPEL CCI INTERPRETATIF, WORD MCLOSE-ZERO*2 < !CLOSE. WORD 80 DCCI: WORD '0001 < APPEL DU CCI. DREAD1: BYTE NVP1;'08 < LECTURE DE NVP1 (QUANTA=1). WORD BUFDK-ZERO*2 WORD LBUFDK*2 WORD 0 < ADRESSE SECTEUR COURANTE. DWRIT2: BYTE NVP2;'02 < ECRITURE SUR NVP2. WORD BUFDK-ZERO*2 WORD LBUFDK*2 WORD 0 < ADRESSE SECTEUR COURANTE. DTEMPO: WORD '0005 < TEMPORISATION APRES LE !CLOSE (...). WORD 0 WORD 5 < 5 SECONDES... NSECT: WORD '0FE0 < NOMBRE DE SECTEURS A COPIER. < < < P R O G R A M M E : < < PROG COPY: EQU $ LRM L,K WORD LOC+'80 WORD PILE-1 LAD DCLOSE SVC 0 < !CLOSE. LAD DTEMPO SVC 0 < DODO... LAD DASS1 SVC 0 < !ASSIGN NVP1=NSPDKM, LAD DASS2 SVC 0 < !ASSIGN NVP2=NSPDKF. LX NSECT < X=NOMBRE D'ECHANGES (BEAUCOUP...). COPY1: EQU $ PSR X < SAUVEGARDE DU NOMBRE D'ECHANGES. LAD DREAD1 SVC 0 < LECTURE SUR NVP1, LAD DWRIT2 SVC 0 < RECOPIE SUR NVP2. IC DREAD1+3 < PASSAGE AUX IC DWRIT2+3 < SECTEURS SUIVANTS. PLR X JDX COPY1 < AU SUIVANT... LAD DCLOSE SVC 0 COPY2: EQU $ LAD DCCI SVC 0 < ET C'EST FINI... JMP COPY2 END COPY