Bonjour à tous. Pour m’entraîner, je me suis fait un petit code qui affiche un nombre. Ma fonction affiche le nombre (à l'aide des int du bios), mais j'ai l'impression que l’exécution de mon programme s'arrête après son appel... SI vous voyez où se trouve la quille, j'en serais très reconnaissant. Merci.
Voici mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
;Fonction pour afficher un nombre entier sur 16 bits, stocké dans dx    
putNb:
	push ax
	push bx
	mov ax, dx
	mov cx, 1
	jmp .boucleNb
 
	.boucleNb:
		inc cx
		;On divise ax par 10, en mettant 10 dans bh
		mov bh, 10
		div bh
		mov dl, al
		mov dh, 0
		mov al, ah
		mov ah, 0
		add al, '0'
		push ax
		mov ax, dx
		xor ax, 0
		jz .boucle2Nb
		jmp .boucleNb
 
	.boucle2Nb:
		pop ax
		dec cx
		xor cx, 0
		jz .stopNb
		mov ah, 0x0E
		mov bx, 0x07
		int 0x10
		jmp .boucle2Nb
 
	.stopNb:
		pop bx
		pop ax
		ret