Rechercher : dans
Par :

Inverser 1 tableau en assembleur 80x86

Dernière réponse le 25 nov 2007 à 17:27:51 masterfreez, le 25 nov 2007 à 11:09:51 
 Signaler ce message aux modérateurs

Bonjour,jé bezoin de savoir comment inverser 1 tableau en assembleur ... svp veuillez étr préci pask je début ds le domaine ...merci d'avanc

Configuration: Windows XP
Firefox 2.0.0.9

Meilleures réponses pour « inverser 1 tableau en assembleur 80x86 » dans :
Inverser les éléments d'un tableau -Récursivité- Voir Voici une procédure récursive qui permet d’inverser les éléments d’une partie d’un tableau compris entre la position p et n : Procedure Inverser (Var t : Tab; p, n : Integer); Var aux : Real; Begin If p < n Then ...
Liste des instructions en assembleur Voir Tableau 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...
Segmentation de la mémoire en assembleur Voir Qu'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...
Exercice assembleur x86 inversion de chaîne VoirIntroduction Notions abordées dans cet exercice Énoncé Rappel Indices Corrigé Explication Introduction Ce petit exercice d'assembleur vise les architectures x86 (Processeurs Intel et Amd 32 bits) et utilise la syntaxe de Nasm, un...
Rotation écran / Affichage inversé (90° ou 180°) VoirSi votre écran est inversé (rotation d'angle 90° voire 180°), ceci est dû : soit aux propriétés de votre carte graphique soit à une mauvaise manipulation sur le clavier Vérifier les propriétés de la carte graphique Cliquer avec le bouton...
[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...
Tableau de bord VoirNotion de tableau de bord Un tableau de bord est une représentation graphique synthétique d'un ensemble d'indicateurs donnant à un responsable tous les éléments lui permettant de prendre visuellement et rapidement des décisions. Compte-tenu de sa...
Assembler un PC VoirDe 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 VoirLes 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...

1

le père, le 25 nov 2007 à 11:33:45
  • +1

Bonjour,

Toi aussi, soit précis dans ta demande : tu veux qu'on fasse des exercices à ta place non ?

Répondre à le père

2

masterfreez, le 25 nov 2007 à 12:20:44

Oui c ça ,si ça vs derange po biensur ..
alors voila j'ai un vecteur d'entier déclaré ds data segment é on me demande de faire le tri croissant de ce vecteur et de l'afficher ...
jme suis cassé la tét mais jy arrive po ..en plus j'en ai bezoin pr dem1 ..
SOS !!!!!!!!!!!!!!!

Répondre à masterfreez

3

le père, le 25 nov 2007 à 12:35:55

Peux-tu montrer ce que tu as commencé à faire ?

Répondre à le père

4

masterfreez, le 25 nov 2007 à 12:41:34

Data segment
msg1 db " entrer un entier entre 1 et 4 ",10,13,"$"
msg2 db " fin du programme ",10,13,"$"
TAB db 15 dup (1,11,10,0,50,42,4,1,13,1,33,13,19,0,14)
data ends

pile segment stack
db 256 dup (?)
pile ends

code segment
assume cs:code , ds:data , ss:pile

main:
mov ax,data
mov ds,ax

faire:
mov dx,offset msg1
mov ah,09
int 21h

mov ah,08
int 21h

cmp al,31h
jl faire

cmp al,34h
ja faire

cmp al,31h
je aff

cmp al,32h
je max

cmp al,33h
je tri

cmp al,34h
je sorti


sorti:
mov dx,offset msg2
mov ah,09
int 21h
mov ah,4ch
int 21h

aff:


tri :

max :



fin:mov ah,4ch
int 21h






mov ah,4ch
int 21h
code ends
end main

Répondre à masterfreez

5

le père, le 25 nov 2007 à 15:32:50

Le principe que je te propose est de charger dans AL le caractère de début du tableau et dans AH celui de la fin, puis de ranger AL à la fin du tableau et AH au début. On recommence sur la moitié du tableau :

MOV CX,6 ; nombre de boucles
MOV SI, TAB ; début du tableau
MOV DI,TAB+14 ; fin du tableau
BCL1:
MOV AL,[SI]
MOV AH,[DI]
MOV [DI],AL
MOV [SI],AH

INC SI
DEC DI

LOOPNZ BCL1

Répondre à le père

6

masterfreez, le 25 nov 2007 à 16:46:12

Merci pr le truc pr inverser le tableau !!!
si vs pouver me montrer comment afficher le tableau tab , comment tirer son maximum, et comment le trier ça serait génial et trooooo gentil de votr pars !!!!!!!!!!!
vrmt vs me rendez un grand service ........
je vous attend ...

Répondre à masterfreez

7

 le père, le 25 nov 2007 à 17:27:51

Je t'ai donné un coup de pouce, mais ne compte pas sur moi pour faire tout ton boulot.
As-tu fait l'effort d'essayer ce que je t'ai dit ? Je viens de voir qu'il y a une erreur dedans.

Répondre à le père