Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .DATA
- chaine DW "Somos los mejores." ; Chaine à afficher
- .CODE
- LEA SP, STACK ; Initialisation de la pile
- LD R0,%0000 ; Commande pour effacer l'écran
- OUT R0, 5 ; Commande envoyée au port 5
- LEA R0, chaine ; R0 <- @chaine
- LD R1, 10 ; Coordonnées x du début de la chaine
- LD R2, 10 ; Coordonnées y du début de la chaine
- CALL afficher ; Appel de la procédure Afficher
- IN R3, 1 ; On récupère la coordonnée du dernier x dans R3
- IN R4, 2 ; On récupère la coordonnée du dernier y dans R4
- ADD R2, 5 ; On ajoute 5 pixels pour le premier y
- ADD R4, 5 ; on ajoute 5 pixels pour le deuxième y
- OUT R1, 1 ; Placement du premier x
- OUT R2, 2 ; Placement du premier y
- OUT R3, 3 ; Placement du deuxième x
- OUT R4, 4 ; Placement du deuxième y
- LD R5,%11110010 ; Commande graphique dans R5
- OUT R5, 5 ; Envoie de la commande tracer un trait blanc
- HLT ; Arrêt du processeur
- afficher: OUT R1, 1 ; Envoie du x sur le port 1
- OUT R2, 2 ; Envoie du y sur le port 2
- boucle: CMP [R0], '.' ; Comparaison entre @RO et le point
- BEQ fin ; Si @R0 = . alors on termine le programme
- OUT [R0], 3 ; On envoie le caractère
- LD R4,%11110111 ; R4 = commande graphique pour afficher le caractère
- OUT R4,5 ; On envoie la commande pour afficher le caractère
- INC R0 ; R0++
- JMP boucle ; On refait un tour de boucle
- fin: RET ; Fin de la procédure
- .STACK 50 ; Allocation de la pile
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement