[Débutant] Langage Assembleur
Résolu
Caliphe
Messages postés
31
Date d'inscription
Statut
Membre
Dernière intervention
-
Caliphe Messages postés 31 Date d'inscription Statut Membre Dernière intervention -
Caliphe Messages postés 31 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai commencé à apprendre ce langage il y a quelque jour pour un examen et j'ai besoin d'un petit coup de main :
comment enlever l'octet de poids faible d'un registre, par exemple
AX = 10101101 01010101
pour qu'il devienne AX = 10101101 00000000
J'ai d'abord pensé à faire
SUB AX, AL mais c'est impossible car ils ne font pas la même taille.
l'instruction doit être de la forme :
INSTRUCTION AX, OPERANDE
Merci à vous ! :)
j'ai commencé à apprendre ce langage il y a quelque jour pour un examen et j'ai besoin d'un petit coup de main :
comment enlever l'octet de poids faible d'un registre, par exemple
AX = 10101101 01010101
pour qu'il devienne AX = 10101101 00000000
J'ai d'abord pensé à faire
SUB AX, AL mais c'est impossible car ils ne font pas la même taille.
l'instruction doit être de la forme :
INSTRUCTION AX, OPERANDE
Merci à vous ! :)
1 réponse
-
'lut,
and ax, 0xFF00
dans l'idée.and $0xFF00, %ax
en syntaxe AT&Tand ax, FF00h
en syntaxe Intel
À suffixer avecw
si besoin.
Ou, sachant que AL est le registre de l'octet de poids faible de AX,mov $0, %al
en syntaxe AT&Tmov al, 0
en syntaxe Intel
À suffixer avecb
si besoin.
from human import idiocy
del idiocy-
Salut et merci d'avoir répondu !
Le problème c'est que je sais que AX contient quelque chose mais je ne sais pas quoi :/
En gros on a une valeur dans la registre AX et on voudrait extraire les 8 bits de gauche du nombre stocké dans AX. On le fera en masquant l'octet de poids faible comme dans l'exemple cité avant. -
-
-