Rechercher : dans
Par :

[assembleur] carry

Dernière réponse le 14 jui 2004 à 04:44:09 bolo972, le 13 jui 2004 à 20:48:31 
 Signaler ce message aux modérateurs

Bonjour,

j'ai un algo j'aimerais des explications sur quelque lignes.

Programme Générateur Pseudo Aléatoire
Début :
     BH <- 12h
boucle:
    AL <- BH
    Si (AL = 0) alors AL <- 0FFh Fin Si (cmp et Jxyz, le h signifie hexadécimal en assembleur)
    AL <- AL ET 0B8h (utiliser l'instruction AND de l'assembleur)
    BL <-0
   CX <- 8
   Répéter
     Décaler AL à droite de 1 rang (utiliser l'instruction SHR de l'assembleur)
     Si Carry = 1 alors BL <- BL + 1 Fin Si
     CX <- CX-1
   Jusqu'à CX = 0 (utiliser l'instruction LOOP de l'assembleur)
   Carry <- Bit 0 de BL (utiliser l'instruction SHR de l'assembleur)
   rotation de BH à droite avec le carry de 1 rang (utiliser l'instruction RCR)
Aller à l'étiquette boucle (instruction jmp de l'assembleur)
Fin


je ne comprends pas cette partie
 Carry <- Bit 0 de BL (utiliser l'instruction SHR de l'assembleur)
   rotation de BH à droite avec le carry de 1 rang (utiliser l'instruction RCR)
Aller à l'étiquette boucle (instruction jmp de l'assembleur)


Qqn pourrait m'expliquer

merci

Meilleures réponses pour « [assembleur] carry » dans :
Branchements en assembleur Voir On appelle saut (ou branchement) en assembleur le fait de passer à une instruction autre que celle qui suit celle en cours en mémoire. En effet, en temps normal (c'est-à-dire sans instruction contraire) le processeur exécute les instructions...
Assembler un PC Voir De l'assemblage d'un ordinateur Un ordinateur de type PC est modulaire, c'est-à-dire qu'il peut être monté en assemblant des éléments matériels de différents constructeurs, afin d'obtenir un ordinateur conforme à ses besoins. Les éléments...
Introduction à l'assembleur Voir Les prérequis nécessaires Le langage assembleur est très proche du langage machine (c'est-à-dire le langage qu'utilise l'ordinateur : des informations en binaire, soit des 0 et des 1). Il dépend donc fortement du type de processeur. Ainsi il...
[Photofiltre]Réaliser un assemblage de 2 images VoirPhotofiltre est un logiciel de retouche d'image. Cette astuce fonctionne aussi bien avec Photofiltre qu'avec Photofiltre Studio Dans ce cas précis, Photofiltre va permettre d'assembler un collage c'est-à-dire de coller une deuxième image (en...
Compiler un programme assembleur avec Nasm VoirAvec Linux Etape 1. Créer un fichier source Etape 2. Assembler le fichier source Etape 3. Création de l'executable Etape 4. Execution du programme Avec windows Etape 1. Installer les logiciels nécessaires Etape 2. Créer un fichier...
Liens utiles assembleur x86 VoirVoici quelques liens utiles pour l'assembleur x86. Le but étant de compiler des documents pertinents autant pour ceux qui débutent que pour ceux qui sont à l'aise dans ce domaine. Tutoriels Références complètes Assembleur sous...
Liste des instructions en assembleur VoirTableau des principales instructions en assembleur Voici une liste (non exhaustive) des principales instructions en assembleur des processeurs 80x86, ainsi que du code machine qui leur est associé et de leur taille en mémoire. Les valeurs val et...
Les procédures en assembleur VoirLa notion de procédure En langage assembleur, on appelle procédure un sous-programme qui permet d'effectuer un ensemble d'instructions par simple appel de la procédure. Cette notion de sous-programme est généralement appelée fonction dans d'autres...
Segmentation de la mémoire en assembleur VoirQu'est-ce que la segmentation de la mémoire ? En assembleur, on appelle segment de mémoire le mécanisme de base de la gestion des adresses pour des processeurs de type 80x86. Les instructions sont stockées dans le registre IP. Il s'agit d'adresses...

1

 Lupin.Arsene, le 14 jui 2004 à 04:44:09

Salut,

Bon je suis pas sur, mais je me suis dit qu'en explicant
ce que j'en comprends tu y trouverais peut-être ton
compte.

Carry <- Bit 0 de BL (utiliser l'instruction SHR de l'assembleur)

La valeur du carry bit du registre est défini par l'opération BL
qui doit être "branch long" ou quelque chose du genre. Je ne
connais pas l'instruction SHR ? "shifthighregister"?

Sur un test BL, BLO,BLH le résultat est envoyé dans le carry
bit pour savoir si l'on doit brancher dans un sens ou dans l'autre.

rotation de BH à droite avec le carry de 1 rang (utiliser l'instruction RCR)

ici une rotation à droite est une division par 2 de BH, pour décaler
dans un sens ou dans l'autre (multiplié/divisé), il faut conserver
la retenu pour l'insérer dans le décalage. RCR "RotateCarryRight"
(calcul binaire, addittion,soustraction,multiplication,division,
complément à 1 et complément à 2).

Aller à l'étiquette boucle (instruction jmp de l'assembleur)

Le travail est terminé, retourne au main.

Lupin

Répondre à Lupin.Arsene
Collection CommentÇaMarche.net