begin process at 2010 02 09 23:14:50
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Tutoriels

 > ALLOCATION DYNAMIQUE DE MEMOIRE POUR LA PILE DANS MASM

ALLOCATION DYNAMIQUE DE MEMOIRE POUR LA PILE DANS MASM


 Information sur la source

Note :
10 / 10 - par 1 personne
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Tutoriels Classé sous :memoire, virtualalloc, pile, stack, masm32 Niveau :Débutant Date de création :09/04/2004 Date de mise à jour :04/12/2006 14:56:25 Vu / téléchargé :4 583 / 318

Auteur : ToutEnMasm

Ecrire un message privé
Site perso
Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

 Description

Le sujet manquant dans a peu près tous les sites et pourtant ,l'allocation dynamique de mémoire pour la pile d'un exécutable présente les avantages suivants.
Nul besoin de modifier les options de link pour gérer la pile
Sécurité renforcé du programme puisque la pile ne peut plus débordé et est étroitement surveillé par le système.
Souplesse dans les modifications et possibilité d'économiser la mémoire.
Le programme mem est un tutorial bati pour vous permettre de le modifier et de le suivre
Deux choses importantes
align 4 pour la structure MEMORY_BASIC_INFORMATION
Le pointeur de pile est initialisé en fin de tampon mémoire.Ceci oblige
a descendre les pages une a une pout trouver la taille de la région avec
VirtualQuery.La fonction cherche les pages de même nature en incrémentant
les adresses.Pour retrouver la région de la pile , il faut décrémenter les
adresses.
Modifications:
Un affichage complet de l'état de la mèmoire
toutes les manipulations sont sans risque.

                           ToutEnMasm



 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   mem
    • ajour.batTélécharger ce fichier [Réservé aux membres club]Voir ce fichier112 octets
    • data.incTélécharger ce fichier [Réservé aux membres club]2 007 octets
    • declare.incTélécharger ce fichier [Réservé aux membres club]3 470 octets
    • except.incTélécharger ce fichier [Réservé aux membres club]17 491 octets
    • MAINICON.ICOTélécharger ce fichier [Réservé aux membres club]Voir ce fichier766 octets
    • MAKEIT.BATTélécharger ce fichier [Réservé aux membres club]Voir ce fichier625 octets
    • mem.asmTélécharger ce fichier [Réservé aux membres club]Voir ce fichier15 531 octets
    • mem.binTélécharger ce fichier [Réservé aux membres club]1 564 octets
    • mem.exeTélécharger ce fichier [Réservé aux membres club]18 735 octets
    • mem.rcTélécharger ce fichier [Réservé aux membres club]Voir ce fichier350 octets
    • mem.RESTélécharger ce fichier [Réservé aux membres club]1 040 octets
    • winmain.incTélécharger ce fichier [Réservé aux membres club]6 903 octets
    • wndproc.incTélécharger ce fichier [Réservé aux membres club]3 537 octets

Télécharger le zip


 Historique

04 décembre 2006 14:56:27 :
Simplification du code Affichage plus complet de l'état mémoire Commentaires plus précis

 Sources du même auteur

Source avec Zip RÉSOUDRE LES PROBLÈMES DE VERSIONS DU SYSTÈME OU DE DLL
Source avec Zip DEXPLORE INTERFACE HELP2 MICROSOFT DOCUMENT EXPLORER
Source avec Zip DEXPLORE INTERFACE HELP2 MICROSOFT DOCUMENT EXPLORER
Source avec Zip OBTENIR LA VERSION DU SYSTEME,SON ENVIRONNEMENT,LE SERVICE P...
Source avec Zip TÉLÉCHARGER UN FICHIER DEPUIS UNE URL ET/OU ORGANISER DES CL...

 Sources de la même categorie

Source avec Zip FLOATTOHEX CODE DE BRUNEWS RETRENSCRIS EN ASM PAR MOI par quoi
Source avec Zip [TUTO]PRISE EN MAIN ET CRÉATION DE .EXE À L'AIDE D'UN DÉBUGU... par rt15
Source avec Zip FPU SAMPLE 2. par tomart2005
Source avec Zip STARFIELD, SPHERE, CUBE, ROTATION 3D ET 2D EN UTILISANT LE F... par tomart2005
Source avec Zip REPRÉSENTATION D'UNE SPHÈRE EN 3D (FLAT SHADING) par Nasman

 Sources en rapport avec celle ci

Source avec Zip ECRIRE DANS BDR, DEMO MINIMALE (WIN32) par BruNews
Source avec Zip Source avec une capture RESOLUTION DE SUDOKU par noel70
Source avec Zip OBTENIR LA VERSION DU SYSTEME,SON ENVIRONNEMENT,LE SERVICE P... par ToutEnMasm
Source avec Zip CONNECTIONS INTERNET HTTP.. DIAL-UP CONNECTIONS par ToutEnMasm
Source avec Zip Source avec une capture SOLITAIRE EN MASM32 POUR WINDOWS par BLUEBIBUBBLE

Commentaires et avis

Commentaire de theXman le 12/04/2004 10:04:24

Bravo et merci à toi

je jetterai un oeuil kand le temps m'en laissera le temps...

Commentaire de patatalo le 28/04/2004 19:00:42 administrateur CS

salut,

l'allocation dynamique ca se fait pas dans le heap ?
y'a pas déjà une fonction pour ca ?
invoke GlobalAlloc,GPTR,cbBloc ?
and     eax,eax
je        badalloc

la pile, c'est pas pour les variables locales ?

@++

Commentaire de ToutEnMasm le 16/05/2004 20:43:32

                   Salut,
L'allocation dynamique pour la pile doit gérer de la mémoire paginée.La seule fonction mémoire capable de faire ça est virtualalloc qui travaille en adressage linéaire.
la pile sert effectivement pour les variables locales mais aussi pour les variables passées en paramètres.C'est elle qui contient les adresses de retour pour les proc,c'est elle enfin qui permet de faire du debuggage post-mortem par recherche dans son contenu.
Sa grosse faiblesse est qu'en cas de fautes il est extrèmement difficile de ratrapper le programme fautif.
                  TouEnMasm

Commentaire de patatalo le 21/05/2004 10:02:34 administrateur CS

salut,

toute la mémoire du process est mappé en passant par la mémoire paginée que ce soit du code, des données, la pile, le heap, ...

la gestion du heap fait exactement ca, il réserve un bloc de mémoire  avec VirtualAlloc, dans ce bloc réservé, une partie est allouée ( comit permet d'associer les blocs de memoire physique au reservations virtuelles ), si tu a besoin, le heap commit s'agrandi et sinon, on libère la memoire physique ( la memoire virtuelle restant réservée ).

ce que je ne comprends pas , c pourquoi le faire dans la pile alors que ca doit se faire dans le heap ?

@++

Commentaire de BABASSE le 19/07/2007 17:15:53

Salut,
Je me rappel que sur Atari (devpac) je définissais la taille de la pile dans le source et je me demandais bien comment cela se présentait sur pc. Ben voilà une réponse plus+ que complète, mais je dois avoué qu'il va me falloir un peu de temps pour digérer. En tout cas chapeau, je ne sais pas ou vous trouvez les infos pour faire un truc pareil mais sa mérite un 10.
@+

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

La gestion de la pile dans masm32 [ par ToutEnMasm ] Par défaut la pile d'un programme masm32 est fixé a 4096 octets soit une page.je sais comment modifier cette taille au link mais je ne sais pas commen Scolling Text masm32 [ par Bros ] HelloJ'aimerais bien faire un scrolling text de bas en haut en masm32 (un peu comme dans le about de emule)Quelqu'un aurait-il une idée de comment pro segment partagé en masm32 [ par anthraxx ] bonjour a tous,je connais l'assembleur mais je suis pas tres habitué a masm32, et je me demandais ce qu'il faut mettre pour qu'un segment donné de ma MASM32 et Performances ???? [ par gor00 ] Salut à tous, Je me posé une question à propos des programmes en assembleur réalisés à l'aide de MASM32. Cet outil propose plusieurs fonctions et libr Différence entre stack et heap [ par Stormy ] salut à tous,Quelqu'un aurait-il la gentillesse de m'expliquer la différence entre la pile (stack) et le tas (heap). Je sais que le tas alloue une mém MASM32 et EDITASM ??? [ par DeAtHCrAsH ] Salut,Je viens de faire un tour sur le site de ToutEnAsm et j'ai dl masm32.Maintenant j'aimerai apprendre le MASM mais je n'ai trouvé aucun bien struc CommandLine - Difficulté de compilation [ par juki_webmaster ] Bonjour à tous,Je vien de télécharger MASM32 (masm32g_13) sur telecharger.com.Je vien de le lancer et d'ouvrir un fichier asm, j'usqu'à la tout va bie pourquoi masm32 [ par kiki127 ] quel est l'interet d'utiliser masm32, plutot que de compiler avec masm.exe ?existe t'il des cours ou des conseils pour utiliser au mieux masm32.merci Stack [ par AlexMAN ] Bonsoir, Je me pose une kestion :Si au debut d'une fonction, je fais : lea edx, [esp - 32]mov esp, edxcall CreateRectRgnOn est d'accord, la pile est r Programme console avec Masm32 [ par LordBob ] Bonjour a tous,voila je me lance dans la programmation assembleur... et j'aimerais si avec masm32, il était possible de créer des programmes consoles


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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 : 1,030 sec (4)

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