Accueil > Forum > > > > MOV CX,ES:[DI] ???
MOV CX,ES:[DI] ???
mardi 19 avril 2005 à 12:08:39 |
MOV CX,ES:[DI] ???

Arnaud16022
|
hello tout le monde question de newbie, je comprends pas cette command:
MOV CX,ES:[DI]
bon le mve ca va, le CX itou, mais apres ca coince...
plus généralament, je n'ai pas bien saisi pour le coup du segment:offset
j'ai lu de la doc a ce sujet, alors OK, segment ca 'pointe' (mouais...)
vers une table qui donne différentes infos, mais je vois pas bien le
pourquoi du comment de la chose
Quelqu'un pourrait -il m'expliquer ca a sa maniere svp ? j'en connais d'autres que ca pourrait aider mdr
merci bien
++
ad _______________________
Omnia vincit labor improbus
|
|
samedi 23 avril 2005 à 18:36:23 |
Re : MOV CX,ES:[DI] ???

ShareVB
|
salut,
bon, déjà dans les premiers ordi, tu avais un bus d'adresse de 20bits et des registres de 16 : ce qui pose un prb, il manque 4 bits. Il faut dons 2 registres pour pointer une zone mémoire
ta mémoire conventionnelle est de 1Mo (2 puissance (20bits d'adresse) octets), divisée en 65536 segments de 16 octets...
le premier segment est d'indice 0, le dernier d'indice 65535 : normale puisque tu es en 16bits et que en 16bits, tu as des nombres compris entre 0 et 65535...
CS,DS,ES,FS et GS permettent de contenir un numéro de segment
SI et DI (voire d'autres) permette de pointer un des 16 octets du segment : c'est un offset depuis le début du segment
une adresse mémoire c'est donc segment:offset (adresse physique segment * 16 + offset)
donc pour adresser physiquement la zone mémoire B8004h, tu mets dans un registre de segment (sauf CS) B800h et 4h dans un registre d'index (DI ou SI)
le début de ton code est à l'adresse CS:0000h le début de tes données est à l'adresse DS:0000h par ex : un MOV AX,[DI] se traduit par MOV AX,word ptr DS:[DI] et accède à la zone mémoire DS:DI pour lire un mot (adresse physique DS*16+DI)
dans ES, tu peux mettre le numéro de segment que tu veux
donc, en conclusion, MOV CX,ES:[DI] veut dire "met dans CX, le mot à l'adresse ES:DI". Après tout dépend des valeurs de ES et DI : si par ex, c'est ES=0B800h et DI=0, ca te donne dans CH, le premier caractère de l'écran (coin sup gauche) et dans CL, son attributs
ShareVB
|
|
samedi 23 avril 2005 à 19:47:39 |
Re : MOV CX,ES:[DI] ???

Arnaud16022
|
...
waou
t'es un bon prof tu sais ;)
Merci bcp.... j'ai qd meme une autre question: la tu me parles du mode réel, mais en protégé, le segment dans segment:offset il ne pointe pas vers une adresse mémoire mais vers une tableau de renseignements (si j'ose dire)
ca change qqch point de vue programmation?
et puis si t'avais une bonne url qui explique tout ca... moi j'ai
imprimé le cours de paul Carter (pov imprimante, 180 pages dans les
dents :) ) il est super mais comme tu vois il résouds pas tous mes pbs.
pour l'instant j'ai pas d'autre pb de ce genre, mais c'est que (honte a
moi) je n'ai jamais écrit une ligne d'asm, j'ai trop de progs c++ a
terminer, au moins 5 en cours ... affaire a suivre
en tt cas merci
++
ad
_______________________
Omnia vincit labor improbus
|
|
samedi 23 avril 2005 à 20:40:50 |
Re : MOV CX,ES:[DI] ???

ShareVB
|
salut,
dans le mode protégé, tous les registres de segment sont égaux (sauf FS qui pointe vers les infos sur le processus dont PEB), donc on s'en "fout", on met simplement des trucs comme MOV [eax],5 ; ADD [ebx+2],12. On n'utilise plus les segment:offset mais simplement le offsets 32bits entre []....tout est dans un même espace d'adressage de 4Go max...c'est le processeur (ou l'OS je sais plus) qui se débrouille...enfin le 32bits protégé c'est pour Windows, avec les apis et pas le int 21h (me semble-t-il...)
Tout ce que j'ai dis dans le post d'avant, c'est uniquement quand tu fais du 16bits mode réel : du DOS ou un boot loader, un OS...Quant à un mode 16bits protégé, je sais pas si ca existe...
ShareVB
|
|
lundi 25 avril 2005 à 00:04:05 |
Re : MOV CX,ES:[DI] ???

Funto66
|
Ouais cool merci pr ces infos aussi :)
--------------------------------------------------------- Patience et longueur de temps font plus que force ni que rage.... Coucous flingueurs 3D : http://www.freewebs.com/cf3d/
|
|
Cette discussion est classée dans : mov, cx, di, segment
Répondre à ce message
Sujets en rapport avec ce message
boot system [ par henri12 ]
salut je viens de trouver ce code qui permer de lancer un fichier sur une disquettr a: exemple systemje voudrais qu il me lance le jeu pong sur a: j
Erreur de segment avec si [ par benstan ]
Bonjour j'ai un probleme que j'arrive pas a comprendre alors que je sais que c'est à cette endroit. Mon probleme c'est que quand je passe les 3 lignes
message d'erreur [ par kaka83185 ]
slt a tous, je suis débutant en langage assembleur,j'essaye de faire mon premier programme en MASM, et c'est en fait l'addition d'un nombre avec un au
interruption [ par aboulkhir ]
salut j essaye de gerer le clavier en interruption en asselmbleur voila mon programme je travaille sous debug en invite de commande de windowsclimo
problem en asm [ par tahsgh ]
salam, j'ai le code suivant: ; bubble sort and swap subroutines saving and restoring registers ;[org 0x0100] jmp start data: dw
ERREUR DE SEGMENTATION en asm [ par tahsgh ]
salam; jai le code suivant ----------------------------------------- global main SECTION . text main :
PROGRAMME EN NASM : pas du tout facile [ par eishtein ]
bonjour tout le monde; je me demandais si vous pouvez m'aider à la résolution d'un certain problème au niveau suivant : en fait j'ai un prg en NASM [1
verification d'un code [ par marooh ]
Bonjour, j'ai écrit un code assembleur qui consiste à créer un tableau de 20 cases , de les remplir,de trouver le maximum et de faire la moyenne.mais
je bloque!!!! [ par marooh ]
bonjour, j'ai ecrit un code assembleur qui compte le nombre des séparateurs dans une chaine saisie,en assemblant tout va bien mais l'execution ne donn
Simple addition [ par nostra ]
Big totoJe n'arrive pas à afficher les valeurs A (=3) et B(=2) ainsi que le résultat de l'addition. Merci de trouver le ou les erreurs commises.;-----
Livres en rapport
|
Derniers Blogs
[FRAMEWORK 4] LES TASKS ET LE THREAD UI[FRAMEWORK 4] LES TASKS ET LE THREAD UI par fathi
Je viens de passer quelques temps au TechDay's et j'ai pu voir pas mal de session intéressante. Par contre une chose m'a un peu étonné lors de certaines de ces sessions qui abordaient les améliorations du framework .NET (donc le 4.5) : en gros, bea...
Cliquez pour lire la suite de l'article par fathi WORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBEWORKFLOW FOUNDATION 3 A UN PIED DANS LA TOMBE par JeremyJeanson
Depuis déjà un an, je conseille vivement les utilisateurs de Workflow Foundation 3 à migrer vers la version 4. L'information qui va suivre ne devrait donc pas trop prendre au dépourvu les personnes qui m'ont suivi. Je profite de ce poste, pour faire le re...
Cliquez pour lire la suite de l'article par JeremyJeanson TECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PCTECHDAYS PARIS 2012 : NOUVELLES TENDANCES DU POSTE DE TRAVAIL - BRING YOUR OWN PC par ROMELARD Fabrice
Speakers: Thierry Rapatout, Antoine Petit et Xavier Trebbia Cette session entre dans le cadre des RDV Décideurs des TechDays 2012, elle est liée à la consumérisation de l'IT et la mise en place du "DeskTop as a Service" dans de plus en ...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLETECHDAYS PARIS 2012 : SYSTEM CENTER SERVICE MANAGER 2012 VUE D'ENSEMBLE par ROMELARD Fabrice
Speakers: Julien Marechal, Gautier Confiant, Sébastien MEYER La session débute par le positionnement de la solution System Center par rapport aux concepts d'organisation ITIL. Le portail du catalogue de se...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice TECHDAYS PARIS 2012 : PLEINIèRE SECOND JOURTECHDAYS PARIS 2012 : PLEINIèRE SECOND JOUR par ROMELARD Fabrice
Après une première journée dédiée aux développeurs, cette seconde journée est dédiée au monde des entreprises et de ses applications. Ainsi, cette pleinière est dédiée à faire un 360 de l'évolution des applications Business aux demandes ac...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning COLLECTOR PLUS (3.00B)COLLECTOR PLUS (3.00B)COLLECTOR PLUS version 3.00B est un logiciel utilisant une base de données alimentée par :
- L... Cliquez pour télécharger COLLECTOR PLUS PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V7.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO LettresFaciles 2011 (8.0.0.1)LETTRESFACILES 2011 (8.0.0.1)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles 2011
|