zikoasm
Messages postés15Date d'inscriptionmercredi 3 septembre 2003StatutMembreDernière intervention25 juin 2005 5 sept. 2003 à 23:48
a la fin de ta fonction strLoop il faut ajouter
mov al,00h
mov ah,4ch
int 21h
meme un ret n'est pas suffisant
en plus de cela pour le $ il vaut mieu:
Message db 'Hello world !',10,13,'$'
balgrim
Messages postés52Date d'inscriptionvendredi 26 avril 2002StatutMembreDernière intervention28 octobre 2003 8 août 2003 à 03:01
Heu... =) vi c'est pas ske j'ai fait de mieux now que je revoir ça
GeneralDragon
Messages postés4Date d'inscriptionsamedi 15 mars 2003StatutMembreDernière intervention25 août 2004 7 août 2003 à 20:32
Tu doit pas avoir l'abitude de coder en assembleur man c'est klr
cs_steven007
Messages postés150Date d'inscriptionjeudi 24 janvier 2002StatutMembreDernière intervention27 avril 2007 5 déc. 2002 à 12:45
c vraiment du n'importe quoi ton code, faut revoir ça man
cs_Kaid
Messages postés949Date d'inscriptionmardi 2 octobre 2001StatutMembreDernière intervention 8 juillet 20061 4 août 2002 à 18:45
lods[B/W/D] charge dans AL/AX/EAX le Byte/Word/Dword, pointé par SI/ESI et incrémente/décrémente (en fonction du "Direction Flag") SI/ESI de 1/2/4 octets.
stos[B/W/D] place à l'adresse pointée par DI/EDI, le Byte/Word/Dword contenu dans AL/AX/EAX et incrémente/décrémente (en fonction du "Direction Flag") DI/EDI de 1/2/4 octets.
balgrim
Messages postés52Date d'inscriptionvendredi 26 avril 2002StatutMembreDernière intervention28 octobre 2003 2 août 2002 à 16:22
personnelement, je m'y connais peu en asm, et lodsX et stosX je sais pas a coi sa sert :-
sinon pour deadlock: dsl, c vrai que je m'embrouille avec fonction, interrutpion... 8-|
sinon, c koi la difference entre mettre pop bx avant ou apres?
voila, merci pour tous vos commantaires
balgrim
Messages postés52Date d'inscriptionvendredi 26 avril 2002StatutMembreDernière intervention28 octobre 2003 2 août 2002 à 16:22
personnelement, je m'y connais peu en asm, et lodsX et stosX je sais pas a coi sa sert :-
sinon pour deadlock: dsl, c vrai que je m'embrouille avec fonction, interrutpion... 8-|
sinon, c koi la difference entre mettre pop bx avant ou apres?
voila, merci pour tous vos commantaires
cs_Kaid
Messages postés949Date d'inscriptionmardi 2 octobre 2001StatutMembreDernière intervention 8 juillet 20061 2 août 2002 à 14:51
Aucune idée mais lodsX et stosX restent bien pratique
DeadLock
Messages postés1Date d'inscriptionvendredi 2 août 2002StatutMembreDernière intervention 2 août 2002 2 août 2002 à 11:52
Quelques commentaires (plus ou moins pointilleux):
. pourquoi as-tu garder le 13,10 (pour passer a la ligne pour l'int DOS). Tu peux a la rigueur le rajouter dans le code pour passer a la ligne
. 10h = interuption video du bios (pas fonction, c'est 0Eh la fonction)
. il manque pas un ret a la fin ?
. perso j'aurai mis le "pop bx", juste avant et non apres) la comparaison
. pour Kaid, il me semble que maintenant (sur les proc actuels), il vaut mieux utiliser les mov plutot que lodsx/stosx sauf pour les rep (parce que notament, il faut se souvenir de l'etat du flag d (direction), le mettre a 0 (cld) pour incrementer si, puis le restaurer.
cs_Kaid
Messages postés949Date d'inscriptionmardi 2 octobre 2001StatutMembreDernière intervention 8 juillet 20061 16 juil. 2002 à 13:37
Si tu veux utiliser le caractères '$', tu n'as qu'à prendre le 0 comme caractère de fin de chaine, comme en C.
5 sept. 2003 à 23:48
mov al,00h
mov ah,4ch
int 21h
meme un ret n'est pas suffisant
en plus de cela pour le $ il vaut mieu:
Message db 'Hello world !',10,13,'$'
8 août 2003 à 03:01
7 août 2003 à 20:32
5 déc. 2002 à 12:45
4 août 2002 à 18:45
stos[B/W/D] place à l'adresse pointée par DI/EDI, le Byte/Word/Dword contenu dans AL/AX/EAX et incrémente/décrémente (en fonction du "Direction Flag") DI/EDI de 1/2/4 octets.
2 août 2002 à 16:22
sinon pour deadlock: dsl, c vrai que je m'embrouille avec fonction, interrutpion... 8-|
sinon, c koi la difference entre mettre pop bx avant ou apres?
voila, merci pour tous vos commantaires
2 août 2002 à 16:22
sinon pour deadlock: dsl, c vrai que je m'embrouille avec fonction, interrutpion... 8-|
sinon, c koi la difference entre mettre pop bx avant ou apres?
voila, merci pour tous vos commantaires
2 août 2002 à 14:51
2 août 2002 à 11:52
. pourquoi as-tu garder le 13,10 (pour passer a la ligne pour l'int DOS). Tu peux a la rigueur le rajouter dans le code pour passer a la ligne
. 10h = interuption video du bios (pas fonction, c'est 0Eh la fonction)
. il manque pas un ret a la fin ?
. perso j'aurai mis le "pop bx", juste avant et non apres) la comparaison
. pour Kaid, il me semble que maintenant (sur les proc actuels), il vaut mieux utiliser les mov plutot que lodsx/stosx sauf pour les rep (parce que notament, il faut se souvenir de l'etat du flag d (direction), le mettre a 0 (cld) pour incrementer si, puis le restaurer.
16 juil. 2002 à 13:37
Et ensuite tu peux optimiser le code comme ca:
mov si, Message
mov bx, 1
call strLoop
; -----
strLoop:
lodsb
or al, al
jz strLoop_end
push bx
mov ah, 0eh
int 10h
pop bx
jmp strLoop
strLoop_end:
ret