User Tools

Site Tools


files.asm

This is an old revision of the document!


Retourner à la liste des fichiers

* NRDOS.MO5 version 3.5
* FILES.ASM (Gestion de fichiers)

************************************************************************************************************
* FOPENR
* Ouvre un fichier en lecture
************************************************************************************************************
FOPENR SET    *              
       LDA    #OUVFL          ; Consigne OUVFL    
       STA    CSGNTA,PCR
       LBSR   XCNSGN          ; Exécute la consigne
       BNE    ONEND         
                             
       LDA    CRBUFF+1,PC   
       STA    FNHNDL,PCR      ; Récupère le descripteur de fichier
       LDA    #FBFSIZ         ; et initialise les variables de gestion du buffer
       STA    BUFPOS,PCR
       LDD    #0            
       STD    FP242,PCR       ; Position dans le fichier sur 24 bits
       STA    FP240,PCR
       STA    FRERR,PCR
       LDA    #$FF          
       STA    FOFLG,PCR
ONEND  RTS                   
                             
FNHNDL FCB    0              ; Descripteur de fichier
FOFLG  FCB    0              ; Flag de fichier ouvert
BUFPOS FCB    FBFSIZ         ; Position courante dans le buffer de lecture de fichier
FP242  FCB    0              ; Position courante dans le fichier (24 bits)
FP241  FCB    0              
FP240  FCB    0              
BREAD  FCB    0              ; Nombre d'octets effectivement lus
FRERR  FCB    0              ; Résultat de la lecture (erreur ou EOF)
FBUFFR RMB    FBFSIZ         ; Buffer de lecture de fichier

************************************************************************************************************
* FCLOSE
* Ferme le fichier courant
************************************************************************************************************
FCLOSE SET    *              
       TST    FOFLG,PCR
       BEQ    FCEND         
       LDA    #0
       STA    CSGNOP,PCR
       LDA    #SYSFIC       
       STA    CSGNTR,PCR
       LDA    FNHNDL        
       STA    CSGNDK,PCR
       LDA    #FERFI          ; Consigne FERFI        
       STA    CSGNTA,PCR
       LEAX   CNSGN,PCR
       JSR    RESEAU          ; Exécute la consigne
       CLR    FOFLG,PCR
       LDA    #$FF          
       STA    FNHNDL,PCR
FCEND  RTS                   
                             
************************************************************************************************************
* FGETCH
* Lit un caractère depuis un fichier en ignorant les LF
************************************************************************************************************
FGETCH TST    FOFLG,PCR
       BNE    FGREAD        

       RTS                   
                             
FGREAD BSR    FREAD           ; Lit un octet brut
       CMPB   #LF             ; Ignore les LF
       BEQ    FGREAD        

       RTS                   

Retourner à la liste des fichiers

files.asm.1765475723.txt.gz · Last modified: by fool-duplex

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki