; HEXOUT ; ; affichage en hexa caractère par caractère ; ex: 12AB ; ;Instruction ROLA ; ;L'instruction ROLA effectue une rotation cyclique à gauche (L pour left) d'une position du contenu du ;registre associé au code de condition C. Le bit de droite du registre reçoit le code de condition C, ce ;dernier reçoit comme nouvelle valeur le bit sorti du registre. Seul le témoin C est affecté. ; ;En fait, un bit est décalé vers la gauche à partir des 17 bits (Témoin C + 16 bits du registre A), ;le bit perdu est inséré à la droite du registre. ; ; 1) après 4 rotations à gauche: 12AB -> 2AB0 -> à conserver pour le prochain caractère ; 2) après 5 rotations à gauche: 12AB -> 5561 ; 3) on effectue un AND avec x000F afin de ne conserver que la dernière position 5561 -> 0001 -> '1' ; 4) on refait les étapes 1 à 3, 3 autres fois pour afficher les 3 autres caractères hexa ; ; 1) après 4 rotations à gauche: 2AB0 -> AB09 -> à conserver pour le prochain caractère ; 2) après 5 rotations à gauche: 2AB0 -> 5612 ; 3) on effectue un AND avec x000F afin de ne conserver que la dernière position 5612 -> 0002 -> '2' ; 4) on refait les étapes 1 à 3, 2 autres fois pour afficher les 2 autres caractères hexa ; ; 1) après 4 rotations à gauche: AB09 -> B09D -> à conserver pour le prochain caractère ; 2) après 5 rotations à gauche: AB09 -> 613A ; 3) on effectue un AND avec x000F afin de ne conserver que la dernière position 613A -> 000A -> 'A' ; 4) on refait les étapes 1 à 3, 1 autre fois pour afficher l'autre caractère hexa ; ; 1) après 4 rotations à gauche: B09D -> 09DD ; 2) après 5 rotations à gauche: B09D -> 13BB ; 3) on effectue un AND avec x000F afin de ne conserver que la dernière position 13BB -> 000B -> 'B' ; LDX 3,i ; 4 caractères hexa à afficher boucleh: LDA nombre,d ROLA ; déplacement du premier caractère vers l'extrême droite ROLA ; ROLA ; ROLA ; STA nombre,d ; prochaine position ROLA ; ANDA 0x000F,i ; élimination des 3 autres caractères ADDA '0',i ; conversion en chiffre CPA '9',i ; lettre ? BRLE chiffr ADDA 7,i ; conversion en lettre chiffr: STBYTEA car,d ; caractère à afficher CHARO car,d SUBX 1,i ; caractère suivant BRGE boucleh STOP nombre: .WORD 0x12AB car: .BLOCK 1 .END