1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| ; FONCTION QUI AFFICHE UN TRAIT HORIZONTAL EN
; FONCTION DES PARAMETRES
;
; -> BX : point de départ
; -> CX : point d'arrivé
; -> SI : ligne/colonne choisie
; -> DX : vertical/horizontal
;
; ------------------------------------------------------------
.AFF_TRAIT_HORIZONTAL:
SUB CX, BX ; calcul de la longueur du trait (arrivé - départ)
MOV DX, CX ; met dans DX la valeur de CX
MOV CX, BX ; on place le curseur au premier point du trait
.BOUCLE_TH:
PUSH DX ; on place la longueur restante à écrire en mémoire
MOV DX, SI ; on met dans DX la ligne choisie
CALL .AFF_POINT ; affichage du point
INC CX ; point suivant
POP DX ; on retire la longueur du trait qu'il reste à écrire de la mémoire
DEC DX ; on la décrémente (car on vient d'écrire un point)
CMP DX, 0 ; on la compare à 0
JNZ .BOUCLE_TH ; si DX <> 0, alors on boucle
RET ; sinon on quitte |
Partager