CODING ★ LES VECTEURS SYSTEME DES CPC: EXEMPLE D'USAGE DES ROUTINES CLAVIER ET TEXTE ★

System - Les Routines System - Exemple d'usage des Routines Clavier et Texte|SOS Programmeurs)

Les effets de cette routine n'ont rien de transcendant , elle se contente  d'afficher un texte , puis un  menu  dans  une fenêtre affiche le résultat de  vos  sélections  à  l'écran  .  Vous  constaterez  toutefois  ,  qu'il  n'est  absolument pas nécéssaire de s'abrutir  avec  toutes  les instructions du Z80  pour commencer a  programmer  .  Vous  jetterez  un  oeil  en particulier sur  l'usage de OR A dans la routine PRT qui permet de vérifier si A vaut 0 (AND A  aurait le même effet) , et noterez que  dans ce cas , votre chaîne à afficher  doit  toujours  se  terminer  pas  0   .  On  peut  utiliser  d'autres  codes  comme marque de fin d'affichage mais ce 0 est le plus commode à tester . Pour  le reste , si cela ne vous parît pas  évident , vous avez besoin de relire le  cours d'Assembleur du numéro 5 .

;
 ;- Demonstration routines clavier et texte -
 ;
         ;ORG 40000
 nolist
 ;
         ;CALL #BC11        ;Determiner mode en cours
         ;LD (OLDMODE),A     ;Et stocker
 ;
         ;CALL #BB99        ;Idem pour PAPER
         ;LD (OLDPAPER),A
 ;
         ;CALL #BB93        ;Et pour PEN
         ;LD (OLDPEN),A
 ;
         ;LD A,1           ; ;Parametre mode écran
         ;CALL #BC0E        ;Fixer Mode 1
 ;
         ;LD A,2           ; ;Parametre PAPER
         ;CALL #BB96        ;Fixer PAPER 2
         ;CALL #BB6C        ;CLS #0
 ;
         ;LD A,1
         ;CALL #BB96        ;PAPER 1
         ;LD A,3
         ;CALL #BB90        ;PEN 3
 ;
         ;LD HL,#0618       ;H=6 , L=24
         ;CALL #BB75        ;LOCATE
 ;
         ;LD HL,TEXTE1      ;Adresse du texte a afficher dans HL
         ;CALL PRT          ;Afficher texte.La routine est a la fin du listing
 ;
         ;LD H,10           ;;Parametre colonne gauche fenetre .
         ;LD L,5           ; ;Ligne haute
         ;LD D,29           ;;Colonne droite
         ;LD E,15           ;;Ligne bas
         ;CALL #BB66        ;Fixer fenetre #0
 ;
         ;CALL #BB6C        ;Effacer canal 0
 ;
         ;LD HL,TMENU       ;Afficher le menu dans la fenetre .
         ;CALL PRT
 ;
 TSTKEY  LD A,7           ; ;Faire BIP (PRINT CHR$(7))
         ;CALL #BB5A
 NXTST   CALL #BB06        ;Attendre l'appui sur une touche
         ;AND #DF           ;;Forcer les majuscules pour le test
         ;CP "Q"
         ;JP Z,QUITTER      ;'Q' ou 'q' enfonce , quitter programme
 ;
         ;CP "A"           ; ;Si caractere plus petit que "A"
         ;JR C,TSTKEY       ;n'est pas valide , faire BIP et retester
         ;CP "G"           ; ;Si caractere plus grand que "F"
         ;JR NC,TSTKEY      ;n'est pas valide non plus , faire BIP et retester
 ;
         ;PUSH AF           ;;A va etre modifie par ce qui suit
         ;LD HL,TEXTE2      ;Afficher texte 2
         ;CALL PRT
         ;POP AF           ; ;Recuperer le caractere donne par #BB06
         ;CALL #BB5A        ;Et l'afficher a la suite de TEXTE2
         ;JR NXTST          ;Et recommencer le test SANS fiare BIP
 QUITTER LD A,(OLDMODE)    ;Restaurer le mode écran sauve en entree
         ;CALL #BC0E
         ;LD A,(OLDPAPER)   ;Idem pour PAPER
         ;CALL #BB96
         ;LD A,(OLDPEN)     ;Idem pour PEN
         ;CALL #BB90
         ;RET             ;  ;C'est fini .
 ;
 PRT     LD A,(HL)         ;;Mettre dans A le caractere pointe par HL
         ;OR A             ; ;Tester si c'est 0
         ;RET Z             ;;Si oui on arrete la sortie des caracteres
         ;CALL #BB5A        ;Si non on affiche
         ;INC HL           ; ;On pointe le caractere suivant
         ;JR PRT           ; ;Et on retourne tester
 ;
 OLDMODE  DB 0
 OLDPAPER DB 0
 OLDPEN   DB 0
 ;
 TEXTE1  DB " Demo. routines texte/clavier ",0
 TMENU   DB 31,1,2," [A] = Option 1",10,13
         ;DB " [B] = Option 2",10,13
         ;DB " [C] = Option 3",10,13
         ;DB " [D] = Option 4",10,13
         ;DB " [E] = Option 5",10,13
         ;DB " [F] = Option 6",10,13
         ;DB " [Q] = QUITTER DEMO",0
 ;
 TEXTE2  DB 31,1,10," Selection faite: ",0

SOS PROGRAMMEURS

★ ANNÉE: ???
★ AUTEUR: MICHEL MAIGROT

★ AMSTRAD CPC ★ DOWNLOAD ★

Other platform tool:
» MICHEL  MAIGROT-les  routines  system-exemple  d  usage  des  routines  clavier  et  texte    SOSPDATE: 2019-03-11
DL: 13 fois
TYPE: text
SIZE: 5Ko

Je participe au site:
» Newfile(s) upload/Envoye de fichier(s)
★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding » Menu - Soft - Vecteurs System
» Coding » Clefs2 09 - Logiciel Interne Table Var Systeme
» Coding » Keyboard - le System de Decodage Amsdos (SOS Programmeurs)
» Coding Src's » Systeme Protection pour Newlog4
» Coding Src's » Pointers - Windows System
» Coding » System - les Routines System - Exemple d'Usage des Routines Graphiques (SOS Programmeurs)

QUE DIT LA LOI FRANÇAISE:

L'alinéa 8 de l'article L122-5 du Code de la propriété intellectuelle explique que « Lorsque l'œuvre a été divulguée, l'auteur ne peut interdire la reproduction d'une œuvre et sa représentation effectuées à des fins de conservation ou destinées à préserver les conditions de sa consultation à des fins de recherche ou détudes privées par des particuliers, dans les locaux de l'établissement et sur des terminaux dédiés par des bibliothèques accessibles au public, par des musées ou par des services d'archives, sous réserve que ceux-ci ne recherchent aucun avantage économique ou commercial ». Pas de problème donc pour nous!

CPCrulez[Content Management System] v8.7-desktop/cache
Page créée en 091 millisecondes et consultée 701 fois

L'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.