Chronoklazm | Voila je galere pas mal a chopper les parametres de la lignes de commande, j'arrive a chopper argc mais apres il veut plus :
Code :
- section .data
- msg: db 'UNE DONNE %d',10,0 ; sur 8 bits
- section .text
- global _main
- extern _printf
- _main:
- mov ecx, [esp+4] ; le nombre d'arguments
- push ecx
- push msg
- call _printf
- add esp, 8
-
- push ebp
- mov ebp,esp
- pushad
- ;;;;;;;;;;;;;;;;;;;;;;;;;;
-
- ;push byte [al]
-
-
- ;;;;;;;;;;;;;;;;;;;;;;;;;;
- popad
- xor eax, eax
- mov esp, ebp
- pop ebp
- ret
|
Ca ca marche impec mais ca
Code :
- section .data
- msg: db 'UNE DONNE %d, %d',10,0 ; sur 8 bits
- section .text
- global _main
- extern _printf
- _main:
- mov ecx, [esp+4] ; le nombre d'arguments
- mov edx, [esp+8] ; le premier param
- push edx ; le premier param
- push ecx ; le nb d'arg
- push msg ; la chaine
- call _printf
- add esp, 12 ; on depile
- ;; LA c'est des trucs qui servent a faire marcher ce binz sous cygwin
-
- push ebp
- mov ebp,esp
- pushad
- ;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;;;;;;;;;;;;;;;;;;;;;;;;;
- popad
- xor eax, eax
- mov esp, ebp
- pop ebp
- ret
|
Ca marche pas, enfin il me sort un 168769876987 à la place du premier param, je pige pas le probleme ? Message édité par Chronoklazm le 27-01-2005 à 17:21:33 ---------------
Scheme is a programmable programming language ! I heard it through the grapevine !
|