1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
.MODEL small
.stack 100h
lg_nombre equ 10 ; chaîne de 10 caractères
.data
nombre db lg_nombre + 1, lg_nombre + 2 dup(?) ; Nb.car.max, nb.car.lus...
pair db 13,10,"Le nombre est pair$"
impair db 13,10,"Le nombre est impair$"
testok db 13,10,"OK"
CRLF db 13,10,"$"
.code
_main proc
mov ax,@data
mov ds,ax
mov ah,10 ; Entrée d'une chaîne de car.
mov dx,offset nombre
int 33
mov ah,9 ; Affiche msg
mov dx,offset CRLF ; Retour à la ligne
int 33
xor cx,cx ; CX = 0
mov cl,byte ptr nombre + 1 ; Total à lire dans le compteur CX
mov si,offset nombre + 2 ; SI pointe 1er car. de la chaîne
mov ah,2 ; Affichage d'un car.
Afficher:
lodsb ; Car. dans AL et SI incrémenté
mov dl,al
int 33
loop Afficher
(...) |
Partager