PROGRAMME EN NASM : pas du tout facile

eishtein Messages postés 52 Date d'inscription dimanche 6 décembre 2009 Statut Membre Dernière intervention 23 janvier 2014 - 19 août 2010 à 14:17
eishtein Messages postés 52 Date d'inscription dimanche 6 décembre 2009 Statut Membre Dernière intervention 23 janvier 2014 - 25 août 2010 à 16:23
bonjour tout le monde;
je me demandais si vous pouvez m'aider à la résolution d'un certain problème au niveau suivant : en fait j'ai un prg en NASM [16 bits] qui est le suivant:
bits 16
org 0x100
segment .data
msg db 'veuillez entrer votre nombre','$'

segment .bss
resultat resb 13

segment .text
mov ax,03
int 10h

mov dx,msg
mov ah,09
int 21h

;appel de la fct:
call convert
call just_do

;fin:
mov ax,4c00h
int 21h

convert:
mov si,1
a:
inc si
cmp byte[msg+si],13
jne a
mov bx,si
mov dl,10
mov al,1
ba:
mul dl
dec si
cmp si,1
jne ba
mov si,bx
mov cx,0
mov ah,0
c:
dec si
xchg cx,si
mov al,byte[resultat+si]
sub al,'0'
add ah,al
xchg si,cx
inc cx
cmp si,1
jne c
mov byte[resultat],al
ret
just_do:
mov al,byte[resultat]
cbw
mov si,ax
mov dx,40
mov cx,50
ac:
mov ah,0Ch
int 10h
inc dx
inc cx
dec si
cmp si,0
jne ac
ret
ce programme a pour but de donner la chance à l'utilisateur de saisir un numéro à partir duquel est défini la longueur d'une ligne qu'on doit afficher.
le problème c'est que quand j'appuie sur la touche "Ctrl+F9" le programme m'envoie un message d'erreur comme quoi il existe une instruction non autorisée et qu'il faut quitter le programme. je vous serais donc très reconnaissant si vous m'aidez à le résoudre
ET MERCI D'AVANCE

6 réponses

cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
19 août 2010 à 18:55
Je sais pas ce que t'utilises comme IDE mais il a un sérieux problème. J'ai en sortie un .COM de 137 octets ...

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
eishtein Messages postés 52 Date d'inscription dimanche 6 décembre 2009 Statut Membre Dernière intervention 23 janvier 2014
21 août 2010 à 14:19
MERCI POUR LA RÉPONSE
l'IDE que j'utilise s'appelle NASMEdit IDE [==> c'est ressemblant à l'environnement connu en DEV-C++ si vous le connaissez déjà] et çà s'assemble aussi sur NASMIDE [qui est l'assembleur traditionnel]
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
21 août 2010 à 19:06
Développe déjà ton programme sous DOS avec un bon éditeur ...

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
21 août 2010 à 19:08
(Et non, tu n'es pas obligé de l'installer vraiment ... Une machine virtuelle telle que VirtualBox suffit amplement )

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_patatalo Messages postés 1466 Date d'inscription vendredi 2 janvier 2004 Statut Modérateur Dernière intervention 14 février 2014 2
23 août 2010 à 12:47
salut,


137 octets ne me paraît pas si mal pour un programme de cette taille.

Par contre, je ne vois pas d'appel de fonction d'entrée clavier ?!?


@++
0
eishtein Messages postés 52 Date d'inscription dimanche 6 décembre 2009 Statut Membre Dernière intervention 23 janvier 2014
25 août 2010 à 16:23
merci les gars
0
Rejoignez-nous