![]() |
| Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé. | |||||||
|
|||||||
| Assembleur Forum d'entraide Assembleur. Avant de poster -> F.A.Q Assembleur Tutoriels Assembleur |
![]() |
|
|
Outils de la discussion |
|
|
#1 (permalink) |
|
Membre régulier
![]() Date d'inscription: août 2008
Localisation: Canada
Messages: 125
|
Je ne connais absolument rien en assembleur . . .
En apprenant le c, je me suis rendu compte que la mémoire est gérée automatiquement (je veut dire, l'endroit dans la mémoire ou est stockée la variable) . . En assembleur, j'imagine qu'il faut faire cela manuellement non?? Si c'est le cas, comment faire pour ne pas utiliser un espace déjà utilisé par une autre application?? . . . Aussi . . . J'avais une question stupide . . . Un octet, c'est 8 bits . . . Pourquoi c'est 8 bits Merci beaucoup Alex |
|
|
|
|
|
#2 (permalink) | |||
|
Membre expérimenté
![]() Date d'inscription: septembre 2007
Localisation: Évry
Âge: 32
Messages: 544
|
Citation:
Citation:
D'une manière générale, malloc(), vis-à-vis de la RAM, ne correspond à aucun prérequis technique. C'est juste qu'il faut qu'il y ait une autorité qui tienne le compte de tout ça, et qui soit la même pour tous les programmes. Ça se complexifie un peu avec le swap, bien sûr. Pour étendre cela encore plus loin, avant l'apparition du mode protégé dans les processeurs, tout ceci était purement consultatif : un programme DOS, par exemple, réclamait de la mémoire au système mais rien ne l'empêchait d'aller écrire ailleurs si bon lui semblait. Ça veut dire aussi que les segfaults n'existaient pas. Si un étudiant faisait une connerie avec un pointeur, ça corrompait le système entier et, souvent le disque avec (loi de Murphy). Ça n'a pas empêché l'informatique de se développer. À l'époque, on faisait attention. Mais il faut dire aussi que les machines personnelles étaient souvent monotâches. Citation:
En fait, la taille des mots manipulés par un processeur est très variable. Les premières familles utilisaient des longueurs bâtardes comme 6, 7 ou 9 bits. Huit bits se sont rapidement imposés car 8 est une puissance de deux (en plus d'être un multiple) et que le nombre de combinaisons est suffisamment important pour que l'on puisse faire quelque chose avec, sans pour autant nécessiter une parallélisation massive au niveau électronique ! À l'époque, les techniques de gravures n'étaient pas ce qu'elles étaient et faire circuler un bus de huit bits sur une carte-mère, c'était autre chose qu'un bus de 64. L'octet est devenu l'unité de référence parce que la plus pratique à manipuler, mais les processeurs modernes 32 bits, par exemple, exploitent en coulisses des mots de 32 bits, d'où l'importance de l'alignement de certaines instructions sur une adresse multiple de 4. Certains microcontrôleurs ou µP spécialisés, par exemple les PIC12xxxx, utilisent directement des mots de 12 bits visibles par le programmeur. |
|||
|
|
|
|
|
#3 (permalink) | |
|
Membre éprouvé
![]() Date d'inscription: juillet 2007
Localisation: Belgique
Messages: 410
|
Citation:
C'est le boulot de l'OS aussi. Chaque programme a un espace d'adressage virtuel séparé des autres et l'OS s'occupe de faire la correspondance avec la mémoire et le swap de la machine.
__________________
:wq |
|
|
|
|
|
![]() |
![]() |
||
Gestion de la mémoire en Assembleur, octet ?
|
||
| Outils de la discussion | |
|
|