begin process at 2012 05 25 04:47:40
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Assembleur

 > 

Divers

 > 

Aide et documentation

 > 

initiation a l'asm


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

initiation a l'asm

jeudi 15 juin 2006 à 13:07:54 | initiation a l'asm

kalif

bonjour a tous,

je débute dans l'asm, pouriez vous me donner l'adresse de bon tuto pour débutant (des tuto accéléré svp)

je voudrai justre comprendre les instructions comme:

mov edx, dword ptr [esp+28]
ou
push edx

enfin je crois savoir que push ca sert a pousser une valeur sur la pile mais ce n'est que de la théorie tout ca je voudrai un bon tuto avec du concret

merci d'avance
jeudi 15 juin 2006 à 13:55:39 | Re : initiation a l'asm

Nasman

Bonjour,

Tout dépend du type de programmation que tu souhaites faire. Pour le 16 bits (qui devient passablement obsolète) tu peux aller voir sur le site de OPIE (opecheux.free.fr).
Pour la programmation windows, la référence est le site d'Iczelion ( [ Lien ]) avec une partie traduite par MORGATTE ( [ Lien ]).

Je te conseille également de trouver le jeu des différentes instructions assembleur.
Tu pourras trouver également des tas de bonnes choses sur [ Lien ]

Quant aux deux instructions citées:
mov edx, dword ptr [esp+28] (équivalent Nasm mov edx,dword [esp+28])

regarde la valeur du registre esp (pointeur de pile), considère le résultat comme une adresse, rajoute 28 pour avoir une nouvelle adresse, puis met le contenu situé à cette adresse (un dword, soit 4 octets) dans le registre edx. En fait le contenu des 4 octets consécutifs pointés par [esp+28].

L'instruction push edx effectue les opérations suivantes:

L'adresse du sommet de pile est donnée par esp

push edx empile un dword (4 octets) de la façon suivante:

soustrait 4 à esp

place la valeur de edx à la nouvelle adresse pointée par esp;

Ainsi après le push edx tu auras:

[esp] correspondra à la valeur sauvegardée de edx

[esp+4] correspondra à la valeur précédemment empilée sur la pile (avant le push edx).

Typiquement tu trouveras:

push dword paramètre 2
push dword paramètre 1
call procédure
suite:


Procédure
push ebp
mov ebp,esp
; [esp] = ebp sauvegardé
; [esp+4] = adresse de suite (pour le retour)
; [esp+8] = paramètre 1
; [esp+12] = paramètre 2

; en fin de procédure il faut retourner au programme principal
mov esp,ebp
pop ebp
ret xx

;xx est le nombre d'octets dépilés au sortir de la procédure
; si xx = 0 alors c'est au programme appelant de vider les deux dwords (param 1 et 2)
;si xx = 8 (8 octets soit 2 dword) alors la pile est vidée par le sous programme stdcall

A+

jeudi 15 juin 2006 à 14:09:37 | Re : initiation a l'asm

kalif

merci pour les infos ;)


Cette discussion est classée dans : tuto, asm, initiation


Répondre à ce message

Sujets en rapport avec ce message

Compileur ASM [ par fabiin ] SalutQuel compileur ASM me conseillez-vous ???Merci @+Fabs Besoin de conseils en livre sur l'asm! [ par BlackWizzard ] je voudrais m'acheter un livre sur l'asm sans trop de blabla et pas trop cher...qqun a qqchose a me conseiller? virgule flotante en asm [ par webfish ] Bonjour, Je fais de l'assembleur depuis pas longtemps, et j'aimerais savoir comment on fait des calculs avec des nombres à virgule flotante... asm [ par damien174 ] bonjour je viens de commencer a faire de l ASM sur PC, car je connais tres bien sur 68HC11.Avez vous des cours et un logiciel pour assembler et compil ASM pour 68hc11 [ par Sphaxs ] SphaxsSalut tout le monde,J'ai fait une plaque de test pour utiliser un 68hc11 mais je n'arrive pas à le programmer (pb de logiciel???), si quelqu'un passage de paramétres entre VCpp et ASM [ par orchis ] bjr a tous,j'ai ecris un programme en VCpp dont un module est en assembleur, mais je ne sais faire passer des paramétres entre les deux !! pourriez vo Routine asm dans gcc [ par Juke ] quelqu'un connait t'il un txt en francais qui explik comment incorporer de l'asm dans du c++ avec gcc ou dev-c++ ? Reboot de la machine en c/c++ ou asm [ par Juke ] quelqu'un sait t'il comment rebooter ou éteindre l'ordinateur en c/c++ ou en asm ?merci de votre aide.juke objets ASM [ par gblade ] est ce que qqun saurait comment exporter des membres statics d'une classe ecrite en ASM ? je sais faire avec les membres virtuels mais pas les statics Cherche développeurs asm pour OS [ par Shinji ] Salut, je cherche des gens intéressés par le développement d'un système d'exploitation sur x86 en asm (pour commencer).J'essaie seul pour le moment et


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,983 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales