Assembleur / Hexadécimal
Fermé
Dedel_209
Messages postés
32
Date d'inscription
mercredi 30 janvier 2008
Statut
Membre
Dernière intervention
28 septembre 2011
-
7 janv. 2009 à 16:18
loupius - 7 janv. 2009 à 23:43
loupius - 7 janv. 2009 à 23:43
A voir également:
- Assembleur / Hexadécimal
- Éditeur hexadécimal - Télécharger - Édition & Programmation
- Code ascii hexadecimal - Guide
- Logiciel assembleur - Télécharger - Édition & Programmation
- Tp corrigé assembleur 8086 - Forum Assembleur
- Code hexadecimal transparent - Forum Webmastering
20 réponses
Dedel_209
Messages postés
32
Date d'inscription
mercredi 30 janvier 2008
Statut
Membre
Dernière intervention
28 septembre 2011
3
7 janv. 2009 à 22:36
7 janv. 2009 à 22:36
Ok je vais essayer
xav3601
Messages postés
3289
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
311
7 janv. 2009 à 16:19
7 janv. 2009 à 16:19
il faudrait dire ce que tu ne comprend pas!
Dedel_209
Messages postés
32
Date d'inscription
mercredi 30 janvier 2008
Statut
Membre
Dernière intervention
28 septembre 2011
3
7 janv. 2009 à 16:21
7 janv. 2009 à 16:21
Je ne comprend pas comment réaliser cet exercice, merci d'avance si toi tu y arrives :P
xav3601
Messages postés
3289
Date d'inscription
lundi 10 novembre 2008
Statut
Membre
Dernière intervention
2 mars 2016
311
7 janv. 2009 à 16:23
7 janv. 2009 à 16:23
Ben il faut que tu prenne ligne par ligne et que tu ecrive en "francais" a cote ce que ca donne.
exemple:
mov cx, 11001110011100b -> cx = 11001110011100 en binaire!
exemple:
mov cx, 11001110011100b -> cx = 11001110011100 en binaire!
Dedel_209
Messages postés
32
Date d'inscription
mercredi 30 janvier 2008
Statut
Membre
Dernière intervention
28 septembre 2011
3
7 janv. 2009 à 18:55
7 janv. 2009 à 18:55
Oui mais les lignes après il n'y a plus de CX alors que c'est CX qu'il faut trouvé la valeur et la mettre en hexadécimal
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Dedel_209
Messages postés
32
Date d'inscription
mercredi 30 janvier 2008
Statut
Membre
Dernière intervention
28 septembre 2011
3
7 janv. 2009 à 19:01
7 janv. 2009 à 19:01
Oui mais après? Parce que CX n'est plus présent dans la ligne après c'est à ce moment là que je ne comprend pas
Dedel_209
Messages postés
32
Date d'inscription
mercredi 30 janvier 2008
Statut
Membre
Dernière intervention
28 septembre 2011
3
7 janv. 2009 à 19:27
7 janv. 2009 à 19:27
Haaa, ok d'accord. Petit problème de compréhension
Dedel_209
Messages postés
32
Date d'inscription
mercredi 30 janvier 2008
Statut
Membre
Dernière intervention
28 septembre 2011
3
7 janv. 2009 à 19:29
7 janv. 2009 à 19:29
Merci du conseil je peux enfin dormir en paix
Dedel_209
Messages postés
32
Date d'inscription
mercredi 30 janvier 2008
Statut
Membre
Dernière intervention
28 septembre 2011
3
7 janv. 2009 à 19:41
7 janv. 2009 à 19:41
Lol j'ai compris...Enfaite en voyant CX g cru qu'il fallait trouver uniquement CX alors que enfaite le X représente une lettre quelconque.
Comme je vois que vous aimez les devinettes en voici une autre...LOL
Donner le code en assembleur correspondant au programme:
if (bVar < 5 && wVar >=325)
{
ax = cx * 3;
}
else
{
bx = cx * 4;
}
Comme je vois que vous aimez les devinettes en voici une autre...LOL
Donner le code en assembleur correspondant au programme:
if (bVar < 5 && wVar >=325)
{
ax = cx * 3;
}
else
{
bx = cx * 4;
}
Non pas du tout, tu n'as pas lu ton cours!
X n'est pas une lettre au hasard:
CX est un registre 16 bits qui est la concaténation des registres CH et CL.
CH signifie: registre 'C byte high', c'est à dire octet haut; c'est un registre 8 bits,
CL signifie: registre 'C byte low', c'est à dire octet bas; c'est un registre 8 bits.
Donc au final: CX = 256h * CH + CX.
Ai-je été assez clair ?
X n'est pas une lettre au hasard:
CX est un registre 16 bits qui est la concaténation des registres CH et CL.
CH signifie: registre 'C byte high', c'est à dire octet haut; c'est un registre 8 bits,
CL signifie: registre 'C byte low', c'est à dire octet bas; c'est un registre 8 bits.
Donc au final: CX = 256h * CH + CX.
Ai-je été assez clair ?
Dedel_209
Messages postés
32
Date d'inscription
mercredi 30 janvier 2008
Statut
Membre
Dernière intervention
28 septembre 2011
3
7 janv. 2009 à 19:51
7 janv. 2009 à 19:51
Oui je viens de voir le tableau avec les 8 bits supérieurs et les 8 bits inférieurs.
Mais alors l'exercice que j'ai mis au tout début du POST ça donne quoi?
Mais alors l'exercice que j'ai mis au tout début du POST ça donne quoi?
Dedel_209
Messages postés
32
Date d'inscription
mercredi 30 janvier 2008
Statut
Membre
Dernière intervention
28 septembre 2011
3
7 janv. 2009 à 19:56
7 janv. 2009 à 19:56
Ok merci quand même. Le problème c'est que ça risque de prendre du temps et que je n'en ai plus.
Merci quand même...
Merci quand même...
Dedel_209
Messages postés
32
Date d'inscription
mercredi 30 janvier 2008
Statut
Membre
Dernière intervention
28 septembre 2011
3
7 janv. 2009 à 21:40
7 janv. 2009 à 21:40
pour le première ligne je trouve 339C h
pour la deuxième ligne je ne comprends pas cause de ce CH
CH vaut 33 h???
pour la deuxième ligne je ne comprends pas cause de ce CH
CH vaut 33 h???
Bonjour
loupius te l'a déjà dit et tu aurais déjà dû le savoir : CH ce sont les 8 bits de poids fort de CX, de même que CL sont les 8 bits de poids faible.
Qu'est-ce que tu ne comprends pas ? Ce que sont les poids forts ? Ce que fait l'instruction AND ?
loupius te l'a déjà dit et tu aurais déjà dû le savoir : CH ce sont les 8 bits de poids fort de CX, de même que CL sont les 8 bits de poids faible.
Qu'est-ce que tu ne comprends pas ? Ce que sont les poids forts ? Ce que fait l'instruction AND ?
Dedel_209
Messages postés
32
Date d'inscription
mercredi 30 janvier 2008
Statut
Membre
Dernière intervention
28 septembre 2011
3
7 janv. 2009 à 21:50
7 janv. 2009 à 21:50
Peut être que en me donnant la réponse de mon POST je pourrais plus facilement comprendre parce que je suis en train de me prendre la tête avec ça...
Merci d'avance pour votre réponse
Merci d'avance pour votre réponse
Dedel_209
Messages postés
32
Date d'inscription
mercredi 30 janvier 2008
Statut
Membre
Dernière intervention
28 septembre 2011
3
7 janv. 2009 à 21:56
7 janv. 2009 à 21:56
C'est pas ça...
C'est que j'ai mon examen demain à 8h30 et que j'ai encore pas mal de truc à faire.
Merci quand même
C'est que j'ai mon examen demain à 8h30 et que j'ai encore pas mal de truc à faire.
Merci quand même
Dedel_209
Messages postés
32
Date d'inscription
mercredi 30 janvier 2008
Statut
Membre
Dernière intervention
28 septembre 2011
3
7 janv. 2009 à 21:57
7 janv. 2009 à 21:57
CH fait partie des 8 bits supérieur donc il prend la valeur 33 h
Ensuite que faire avec le and et 010101b ???
Ensuite que faire avec le and et 010101b ???
Dedel_209
Messages postés
32
Date d'inscription
mercredi 30 janvier 2008
Statut
Membre
Dernière intervention
28 septembre 2011
3
7 janv. 2009 à 22:12
7 janv. 2009 à 22:12
Je comprends toujours pas.
Moi pour la deuxième ligne j'avais remplacer ch par 033h et comme 010101b = 15h
j'avais fait :
0 0 1 1 0 0 1 1
0 0 0 1 0 1 0 1
0 0 0 1 0 0 0 1
donc j'ai pensé que pour la ligne deux la valeur de CX était égal 11h en hexadécimal
Moi pour la deuxième ligne j'avais remplacer ch par 033h et comme 010101b = 15h
j'avais fait :
0 0 1 1 0 0 1 1
0 0 0 1 0 1 0 1
0 0 0 1 0 0 0 1
donc j'ai pensé que pour la ligne deux la valeur de CX était égal 11h en hexadécimal
Dedel_209
Messages postés
32
Date d'inscription
mercredi 30 janvier 2008
Statut
Membre
Dernière intervention
28 septembre 2011
3
7 janv. 2009 à 22:51
7 janv. 2009 à 22:51
Merci j'ai enfin compris...Désole pour le temps qu'il a fallu
Maintenant j'ai un autre soucis! J'ai mis dans le POST un programme en C et il faut le traduire en assembleur je n'ai aucune idée comment faire
Alors si quelqu'un est insomniaque et qu'il peut m'aider ça m'arrangerai
Maintenant j'ai un autre soucis! J'ai mis dans le POST un programme en C et il faut le traduire en assembleur je n'ai aucune idée comment faire
Alors si quelqu'un est insomniaque et qu'il peut m'aider ça m'arrangerai
Dedel_209
Messages postés
32
Date d'inscription
mercredi 30 janvier 2008
Statut
Membre
Dernière intervention
28 septembre 2011
3
7 janv. 2009 à 23:00
7 janv. 2009 à 23:00
donc pour la ligne trois de mon 1er POST ça fait : 001000100000000 ou bien je dois refaire à nouveau la même manipulation qu'au dessus??
Excuse-moi Delel mais j'ai fais une erreur; il faut dire que la programmation en assembleur, je n'en fais plus tous les jours.
En gros j'ai dit que dans une opération le registre 8bits était étendu en 16bits, c'est faux en fait c'est l'inverse; je vais donc m'expliquer:
L'opération 'and CH, 010101b ', signifie qu'on fait un AND entre 0001 0101 b et CH (c'est-à-dire la partie haute de CX).
Soit:
CX = 339Ch AND 15FFh (soit CH tansformé en 16 bits et FF pour ne pas modifier les poids faibles)
soit en binaire:
00110011 10011100 and 00010101 111111111
idem pour les autres instructions.
En gros j'ai dit que dans une opération le registre 8bits était étendu en 16bits, c'est faux en fait c'est l'inverse; je vais donc m'expliquer:
L'opération 'and CH, 010101b ', signifie qu'on fait un AND entre 0001 0101 b et CH (c'est-à-dire la partie haute de CX).
Soit:
CX = 339Ch AND 15FFh (soit CH tansformé en 16 bits et FF pour ne pas modifier les poids faibles)
soit en binaire:
00110011 10011100 and 00010101 111111111
00110011 10011100 00010101 11111111 -------- -------- 00010001 10011100 ---> ce résultat va dans CX
idem pour les autres instructions.
asmx86
Messages postés
20
Date d'inscription
vendredi 26 décembre 2008
Statut
Membre
Dernière intervention
7 novembre 2009
15
7 janv. 2009 à 23:07
7 janv. 2009 à 23:07
mov cx, 11001110011100b CX=339C h
and ch, 010101b CX=119C h
rol ch, 1 CX=229C h
add ch, 1fh CX=419C h
or cl, 101b CX=419D h
mov ax,2 CX=419D h
and cx,ax CX=0000 h
and ch, 010101b CX=119C h
rol ch, 1 CX=229C h
add ch, 1fh CX=419C h
or cl, 101b CX=419D h
mov ax,2 CX=419D h
and cx,ax CX=0000 h