AMSDOS : RSXS DE LECTURE ET D'ECRITURE SECTEUR Le petit programme suivant permet d'installer deux nouvelles instructions dans le Basic sous forme de RSXs. 1- Encodez le programme Basic. 2- Sauvez-le sur disque. 3- Lancez-le (RUN). 4- Effacez-le (NEW). 5- Deux nouvelles instructions sont à votre disposition. |LECTSEC, piste,secteur,tampon
Cette instruction permet de lire un secteur et d'écrire son contenu en mémoire centrale : — piste est un nombre compris entre 0 et 39 qui indique le numéro de piste ; — secteur est un numéro de secteur compris entre 0 et 8 qui indique le secteur logique à lire ; — tampon représente l'adresse d'une zone mémoire vive disponible de 512 octets où l'on retrouvera le secteur lu. |ECRISEC,pi ste,secteur,tamponCette instruction permet d'écrire le contenu d'un tampon présent en mémoire vive (512 octets) dans un secteur spécifié. Remarque : ces instructions fonctionnent uniquement pour les disquettes au format système ou données. Vous trouverez le listing de la source assembleur de la routine à la suite du programme Basic. Programme Basic 10 REM installe RSX LECTSEC ECRISEC 20 MEMORY &9FFF 30 FOR I=&A000 TO &A08F 40 READ A$ 50 POKE I,VAL("&"+A$) 60 NEXT I 70 CALL &A000 80 DATA 01,0A,A0,21,8E,A0,CD,D1,BC,C9,12,A0,C3,21,A0,C3,5B,A0,4C,45,43,54,53,45,C3,45,43,52,49,53,45,C3,00,F5,AF,32,8D,A0,F1,FE,03,20,38,DD,7E,00,DD,56,02,DD,6E,04,DD,66,05,C6,41,1E,00,F5,0E,07,CD,0F,B9,F1,C5,4F,F5,3A,8D,A0,FE,00 90 DATA 28,06,F1,CD,4E,C6,18,04,F1,CD,66,C6,C1,CD,18,B9,C9,F5,AF,3C,32,8D,A0,18,C3,21,70,AO,7E,FE,00,CB,CD,5A,BB,23,18,F6,4E,4F,4D,42,52,45,20,44,27,41,52,47,55,4D,45,4E,54,53,20,49,4E,43,4F,52,52,45,43,54,00,00,00,00Listing Assembleur Hisoft GENA3.1 Assembler. Page 1. Pass 1 errors: 00 ; 10 ; RSX LECTSEC & ECRISEC ; 20 ; D. MARTIN LIEGE 1985 ; 30 ; ; 40 ; |LECSECT,TAMPON,PISTE,SECTEUR ; 50 ; |ECRISEC,TAMPON,PISTE,SECTEUR ; 60 ; BCD1 ;70 INIRSX: EQU #BCD1 BB5A ;80 PRINT: EQU #BB5A B90F ;90 SELROM: EQU #B90F B918 100 DESROM: EQU #B918 C666 110 LECT: EQU #C666 C64E 120 ECRIT: EQU #C64E A000 130 ORG #A000 A000 010AA0 140 LD BC,COMEXT A003 218EA0 150 LD HL,TAMPON A006 CDD1BC 160 CALL INIRSX A009 C9 170 RET A00A 12A0 180 COMEXT: DEFW TABLE AOOC C321A0 190 JP LSEC AOOF C35BA0 200 JP ESEC A012 4C454354 210 TABLEs DEFM "LECTSE A018 C3 220 DEFB "C"+#80 A019 45435249 230 DEFM "ECRISE" A01F C3 240 DEFB "C"+#80 A020 00 250 DEFB 00 A021 F5 260 LSEC: PUSH AF A022 AF 270 XOR A A023 328DA0 280 LD (TYPE),A A026 F1 290 MAIN: POP AF A027 FE03 300 CP 3 A029 2038 310 JR NZ,ERREUR A02B DD7E00 320 LD A,(IX+0) A02E DD5602 330 LD D,(IX+2) A031 DD6E04 340 LD L,(IX+4) A034 DD6605 350 LD H,(IX+5) A037 C641 360 ADD A,#41 Hisoft GENA3.1 Assembler. Page 2. ; 365 *E A039 1E00 370 LD E,0 A03B F5 380 PUSH AF A03C 0E07 390 LD C,7 A03E CD0FB9 400 CALL SELROM A041 F1 410 POP AF A042 C5 420 PUSH BC A043 4F 430 LD C,A A044 F5 440 PUSH AF A045 3A8DA0 450 LD A,(TYPE) A048 FE00 460 CP 0 A04A 2806 470 JR Z,LIT A04C F1 480 POP AF A04D CD4EC6 490 CALL ECRIT A050 1804 500 JR SUITE A052 F1 510 LIT: POP AF A053 CD66C6 520 CALL LECT A056 C1 530 SUITE: POP BC A057 CD18B9 540 CALL DESROM A05A C9 550 RET A05B F5 560 ESEC: PUSH AF A05C AF 570 XOR A A05D 3C 580 INC A A05E 328DA0 590 LD (TYPE),A A061 18C3 600 JR MAIN A063 2170A0 610 ERREUR: LD HL,MESERR A066 7E 620 ENVOI: LD A,(HL) A067 FE00 630 CP 0 A069 C8 640 RET Z A06A CD5ABB 650 CALL PRINT A06D 23 660 INC HL A06E 18F6 670 JR ENVOI A070 4E4F4D42 680 MESERR: DEFM "NOMBRE D'ARGUMENTS A083 494E434F 690 ;DEFM " INCORRECT" A08C 00 700 DEFB 0 A08D 710 YPE: DEFS 1 A08E 720 TAMPON: DEFS 4CPCrulez[Content Management System] v8.7-desktop/c Page créée en 321 millisecondes et consultée 1578 foisL'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko. |
|