User Tools

Site Tools


code_source_de_menu.to7_v3.2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
code_source_de_menu.to7_v3.2 [2023/05/27 14:34] fool-duplexcode_source_de_menu.to7_v3.2 [2023/05/27 15:19] (current) fool-duplex
Line 3: Line 3:
 <code>* MENU.TO7 version 3.1 <code>* MENU.TO7 version 3.1
  
-RESET  EQU    $FFFE 
 BEGRAM EQU    $6100 BEGRAM EQU    $6100
 ENDRAM EQU    $E000 ENDRAM EQU    $E000
Line 500: Line 499:
        
 LOOP2  EQU    *                LOOP2  EQU    *               
-   BSR    $9548               +       BSR    DIVIZ               
-   BNE    $9532               +       BNE    BEGNB                           ; Dividende non nul -> debut du nombre          
-   DEC    ,S                  +       DEC    ,S                              ; Chiffre suivant          
-   BNE    $9522               +       BNE    LOOP2              
-   LDB    #$30                +
-   STB    ,X+                 +
-   BRA    $9546               +
-   BSR    $9548               +
-   PSHS                     +
-   LDB    ,X                  +
-   ADDB   #$30                +
-   CMPB   #$39                +
-   BLS    $953E               +
-   ADDB   #$07                +
-   STB    ,X+                 +
-   PULS                     +
-   DEC    ,S                  +
-   BNE    $9530               +
-   PULS   A,U,PC              +
-   CLR    ,X                  +
-   SUBD   ,                 +
-   BCS    $9552               +
-   INC    ,X                  +
-   BRA    $954A               +
-   ADDD   ,U++                +
-   TST    ,X                  +
-   RTS                        +
-   ???                        +
-   BEQ    $956A               +
-   COM    <$E8                +
-   NEG    <$64                +
-   NEG    <$0A                +
-   NEG    <$01                +
-   LSR    <$10                +
-   NEG    <$01                +
-   NEG    <$00                +
-   ???                        +
-   NEG    <$4F                +
-   BSR    $9583               +
-   LEAX   -$02,             +
-   LBRA   $94C4               +
-   BSR    $9583               +
-   LEAX   -$05,             +
-   LBRA   $94C4               +
-   BSR    $9583               +
-   LEAX   $95A0,PCR           +
-   LBRA   $94C4               +
-   LEAX   $95A0,PCR           +
-   BSR    $9514               +
-   CLR    ,X                  +
-   RTS                        +
-   LEAX   $95A0,PCR           +
-   PSHS                     +
-   LBSR   $950C               +
-   CLR    ,X                  +
-   PULS                     +
-   LBRA   $94C4              +
  
-...+       LDB    #'                            ; D valait 0 en fait         
 +       STB    ,X+                 
 +       BRA    CVEXIT               
 + 
 +CONTDV EQU    * 
 +       BSR    DIVIZ                           ; Continue la division 
 +               
 +BEGNB  EQU    *               
 +       PSHS                     
 +       LDB    ,X                              ; Chiffre courant                
 +       ADDB   #'               
 +       CMPB   #'               
 +       BLS    NOTHEX                          ; $A-$F ?            
 +       ADDB   #$07                            ; Correction 
 +         
 +NOTHEX EQU    *             
 +       STB    ,X+                             ; Stocke le caractere            
 +       PULS                     
 +       DEC    ,S                              ; Chiffre suivant                  
 +       BNE    CONTDV               
 + 
 +CVEXIT EQU    * 
 +       PULS   A,U,PC    
 +           
 +* Division de D par ,U 
 +* D = reste, ,X = dividende (0..9 ou 0..F) 
 +DIVIZ  EQU    *           
 +       CLR    ,X       
 + 
 +DVLOOP EQU    *            
 +       SUBD   ,                 
 +       BCS    DVEXIT               
 +       INC    ,X                  
 +       BRA    DVLOOP 
 + 
 +DVEXIT EQU    *               
 +       ADDD   ,U++                
 +       TST    ,X                  
 +       RTS                        
 + 
 +BASE10 EQU    *  
 +       FCB    5                               ; 5 chiffres 
 +       FDB    &10000 
 +       FDB    &1000 
 +       FDB    &100 
 +       FDB    &10 
 +       FDB    &1 
 +                 
 +BASE16 EQU    * 
 +       FCB    4                               ; 4 chiffres 
 +       FDB    $1000 
 +       FDB    $0100 
 +       FDB    $0010 
 +       FDB    $0001 
 + 
 +* Affiche no. poste contenu dans B 
 +DISPO  EQU     * 
 +       CLRA                       
 +       BSR    CONV10               
 +       LEAX   -2,                
 +       LBRA   PMSG  
 +     
 +* Affiche un nombre contenu dans D (inutilise) 
 +DISP10 EQU    *              
 +       BSR    CONV10               
 +       LEAX   -5,                     
 +       LBRA   PMSG 
 +              
 +* Affiche un nombre contenu dans D (inutilise) 
 +DSP10B EQU    *                
 +       BSR    CONV10               
 +       LEAX   STRBUF,PCR               
 +       LBRA   PMSG               
 + 
 +* Convertit un nombre 16 bits non signe en chaîne de caracteres (decimal) 
 +* D = nombre, resultat dans STRBUF 
 +CONV10 EQU    *        
 +       LEAX   STRBUF,PCR           
 +       BSR    CV10               
 +       CLR    ,X                              ; Termine la chaine                  
 +       RTS                        
 + 
 +* Affiche un nombre en hexadecimal 16 bits (inutilise) 
 +DISP16 EQU    *            
 +       LEAX   STRBUF,PCR 
 +       PSHS                     
 +       LBSR   CV16               
 +       CLR    ,X                  
 +       PULS                     
 +       LBRA   PMSG      
 +              
 +       FCB    SPACE,SPACE,SPACE,SPACE               
 + 
 +STRBUF EQU    *            
 +       FCB    $00,$00,$00,$00,$00,$00         ; Buffer pour conversion numerique     
 +       
 +MAXLEN FCB    $00                             ; Longueur du plus grand titre 
 +ALINEA FCB    $00                             ; Alignement a gauche       
 +             
 +MSG1   FCB    $1F,$20,$20 
 +       FCB    $1F,$12,$14 
 +       FCB    $1B,$44,$1B,$56,$1B,$66 
 +       FCB    $0C 
 +       FCB    $00 
 +        
 +MSG1B  FCB    $11 
 +       FCC    /NANORESEAU                     poste / 
 +       FCB    $00 
 +         
 +MSG2   FCC    /                / 
 +       FCB    $1B,$4F 
 +       FCC    /MENU/ 
 +       FCB    $1B,$4C 
 +       FCB    $00         
 +         
 +MSG3   FCB    $1F,$58,$4D 
 +       FCC    /Votre choix : / 
 +       FCB    $00                 
 + 
 +* Zone de consigne reseau     
 +CONSIG FCB    $18                             ; Longueur = 24 
 +       FCB    $00                             ; DEST = serveur 
 +       FCB    $09,$37                         ; Tache R = 09, Tache A = 55 (CHBIN) 
 +       FDB    $0000                           ; Nb octets 
 +       FCB    $00                             ; Page 
 +       FDB    $0000                           ; Adresse 
 +       FCB    $00                             ; Ordinateur 
 +       FCB    $00                             ; Application 
 +FILE   FCB    $00                             ; Disque  
 +       FCB    $00,$00,$00,$00,$00,$00,$00,$00 ; Nom du fichier 
 +       FCB    $00,$00,$00                     ; Suffixe 
 +       FCB    $00                             ; Mode de chargement 
 +         
 +* Zone de compte-rendu reseau         
 +CPTRD  FCB    $08                             ; Longueur = 8 
 +       FCB    $00,$00,$00,$00,$00,$00,$00,$00      
  
 ENDPRG EQU    * ENDPRG EQU    *
code_source_de_menu.to7_v3.2.1685190855.txt.gz · Last modified: 2023/05/27 14:34 by fool-duplex

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki