Les interruptions BIOS
mov ah,0 ;numéro de fonction
mov al,3 ;mode vidéo 80x25, 16 couleurs
int 10h
mov ah,1 ;numéro de fonction
mov ch,50 ;ligne de départ du curseur
mov cl,50 ;ligne de fin du curseur
int 10h
mov ah,2 ;numéro de fonction
mov bh,0 ;numéro de page écran
mov dh,lig ;ligne de l'écran
mov dl,col ;colonne de l'écran
int 10h
mov ah,6 ;numéro de fonction
mov al,nbr_lig ;nombre de lignes
mov bh,couleur ;couleur des nouvelles lignes
mov ch,yh ;ligne haute de la fenêtre
mov cl,xg ;colonne gauche de la fenêtre
mov dh,yb ;ligne basse de la fenêtre
mov dl,xd ;colonne droite de la fenêtre
int 10h
mov ah,7 ;numéro de fonction
mov al,nbr_lig ;nombre de lignes
mov bh,couleur ;couleur des nouvelles lignes
mov ch,yh ;ligne haute de la fenêtre
mov cl,xg ;colonne gauche de la fenêtre
mov dh,yb ;ligne basse de la fenêtre
mov dl,xd ;colonne droite de la fenêtre
int 10h
mov ah,8 ;numéro de fonction
mov bh,0 ;numéro de page écran
int 10h
mov ah,couleur ;couleur du caractère
mov car,al ;code ASCII du caractère
int 10h
mov ah,9 ;numéro de fonction
mov al,car ;code ASCII du caractère
mov bh,0 ;numéro de page écran
mov bl,couleur ;couleur du caractère
mov cx,nbr_rep ;nombre de répétitions du caractère
int 10h
mov ah,0ch ;numéro de fonction
mov al,couleur ;couleur du pixel
mov cx,col ;colonne du pixel
mov dx,lig ;ligne du pixel
int 10h
mov ah,0dh ;numéro de fonction
mov cx,col ;colonne du pixel
mov dx,lig ;ligne du pixel
int 10h
mov couleur,al ;couleur du pixel
mov ah,10h ;numéro de fonction
mov al,3 ;numéro de sous-fonction
mov bl,0 ;clignotement interdit
int 10h
mov ah,11h ;numéro de fonction
mov al,12h ;numéro de sous-fonction
mov bl,0 ;jeu de caractères
int 10h
mov ah,12h ;numéro de fonction
mov bl,20h ;numéro de sous-fonction
int 10h
mov ah,0 ;numéro de fonction
mov al,251 ;8 bits de données (bits 0 et 1)
;1 bit d'arrêt (bit 2)
;parité paire (bits 3 et 4)
;9600 bauds (bits 5, 6 et 7)
mov dx,num_port ;0=COM1, 1=COM2, etc...
int 14h
mov ah,1 ;numéro de fonction
mov al,car ;code ASCII du caractère
mov dx,num_port ;0=COM1, 1=COM2, etc...
int 14h
mov ah,2 ;numéro de fonction
mov dx,num_port ;0=COM1, 1=COM2, etc...
int 14h
mov car,al ;code ASCII du caractère
mov ah,3 ;numéro de fonction
mov dx,num_port ;0=COM1, 1=COM2, etc...
int 14h
and ah,1
cmp ah,1 ;caractère présent ?
jne fin
mov car,ah ;code ASCII du caractère
mov ah,83h ;numéro de fonction
mov bx,ds
mov es,bx ;segment du flag
mov bx,offset flag ;offset du flag
mov cx,mot_fort ;mot fort du temps (µs)
mov dx,mot_faible ;mot faible du temps (µs)
int 15h
mov ah,86h ;numéro de fonction
mov cx,mot_fort ;mot fort du temps (µs)
mov dx,mot_faible ;mot faible du temps (µs)
int 15h
mov ah,0 ;numéro de fonction
int 16h
mov car,al ;code ASCII du caractère
mov ah,1 ;numéro de fonction
int 16h
je fin
mov car,al ;code ASCII du caractère
mov ah,0 ;numéro de fonction
mov al,car ;code ASCII du caractère
mov dx,0 ;numéro d'imprimante
int 17h
mov ah,1 ;numéro de fonction
mov dx,0 ;numéro d'imprimante
int 17h
mov ax,0 ;numéro de fonction
int 33h
mov ax,1 ;numéro de fonction
int 33h
mov ax,2 ;numéro de fonction
int 33h
mov ax,3 ;numéro de fonction
int 33h
mov etat,bx ;1 -> clic sur bouton gauche
;2 -> clic sur bouton droit
mov pos_hor,cx ;position horizontale
mov pos_ver,dx ;position verticale
mov ax,7 ;numéro de fonction
mov cx,pos_hor_min ;position horizontale minimale
mov dx,pos_hor_max ;position horizontale maximale
int 33h
mov ax,8 ;numéro de fonction
mov cx,pos_ver_min ;position verticale minimale
mov dx,pos_ver_max ;position verticale maximale
int 33h
mov ax,0fh ;numéro de fonction
mov cx,nbr_hor ;nombre de mickeys horizontaux représentant 8 pixels
mov dx,nbr_ver ;nombre de mickeys verticaux représentant 8 pixels
int 33h
mov ax,10h ;numéro de fonction
mov cx,xg ;colonne gauche de la fenêtre
mov dx,yh ;ligne haute de la fenêtre
mov si,xd ;colonne droite de la fenêtre
mov di,yb ;ligne basse de la fenêtre
int 33h