; ; SWITCH section 8.2.3 page 86 ; ; modifié pour les 12 mois de l'année ; affiche le nombre de jours pour le mois désiré ; SWITCH31:NOP0 ;switch(Ind) { DECI mois,d LDX mois,d ; CPX 1,i ; BRLT OTHER31 ; Vérifier si Ind est CPX 12,i ; dans les limites [1..12] BRGT OTHER31 ; SUBX 1,i ; ramener à [0..11] ASLX ; * 2 => indice réel dans BR TAB31,x ; table (adresse = 2 octets) TAB31: .ADDRSS jours31 .ADDRSS jours28 .ADDRSS jours31 .ADDRSS jours30 .ADDRSS jours31 .ADDRSS jours30 .ADDRSS jours31 .ADDRSS jours31 .ADDRSS jours30 .ADDRSS jours31 .ADDRSS jours30 .ADDRSS jours31 jours28: NOP0 ; à modifier pour année bissextile LDA 28,i STA jours,d BR ENDCAS31 ; break; jours30: NOP0 ; LDA 30,i STA jours,d BR ENDCAS31 ; break; jours31: NOP0 ; LDA 31,i STA jours,d BR ENDCAS31 ; break; OTHER31: NOP0 ; default: LDA 0,i STA jours,d ENDCAS31:NOP0 ;} DECO jours,d STOP mois: .BLOCK 2 ; #2d jours: .BLOCK 2 ; #2d .END