begin process at 2012 05 25 06:31:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Assembleur

 > 

Divers

 > 

Débutant(e)

 > 

correction d'un code assembleur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

correction d'un code assembleur

jeudi 14 octobre 2010 à 00:32:20 | correction d'un code assembleur

marooh

Bonjour,
j'ai ce code assembleur qui permet la creation d'un tableau de 10 cases et les remplir avec le chiffre 5.en l'utlisant avec tasm,il s'avère qu'il présente des erreurs .si vous pouvez les corriger et comment je peux modifier ce code pour demander à l'utlisateur de donner des valeurs pour remplir le tableau...Merci d'avance
voici le code
.MODEL SMALL
.STACK
.DATA

TABLEAU DB 10 DUP (?)
.CODE

MOV AX,0
BOUCLE:
MOV TABLEAU[AX],5
INC AX
CMP AX,9
JNE BOUCLE
MOV AX,0
BOUCLE2:
MOV DX,TABLEAU[AX]
INC AX
CMP AX,9
JNE BOUCLE2
MOV AX,4C00H
INT 21H
END


les erreurs affichées par TASM:
<13>illegal indexing mode
<21>operand types do not match
jeudi 14 octobre 2010 à 18:45:03 | Re : correction d'un code assembleur

ghuysmans99

Membre Club
Non testé, mais devrait fonctionner :
Code :
.MODEL SMALL
.STACK
.DATA

TABLEAU DB 10 DUP (?)
.CODE

XOR AX,AX
BOUCLE:
MOV BYTE PTR [TABLEAU+AX], 5
INC AX
CMP AX,9
JNE BOUCLE
XOR AX, AX
BOUCLE2:
MOV DX, WORD PTR [TABLEAU+AX]
INC AX
CMP AX, 9
JNE BOUCLE2
MOV AX,4C00H
INT 21H
END 


VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
jeudi 14 octobre 2010 à 21:26:09 | Re : correction d'un code assembleur

marooh

merci de votre reponse mais en compilant tasm affiche de nouvelles erreures :
<10>illegal indexing mode
<16>illegal indexing mode
vendredi 15 octobre 2010 à 18:23:16 | Re : correction d'un code assembleur

ghuysmans99

Membre Club
Mode d'adressage pourri, j'y avais même pas pensé. Voilà la liste des modes d'adressage sans l'octet SIB dans la doc Intel (colonne de gauche) :


VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
vendredi 15 octobre 2010 à 23:13:57 | Re : correction d'un code assembleur

marooh

j'ai pas bien compris ce que ce document représente,l'origine de l'erreur comment je peux la corriger?
samedi 16 octobre 2010 à 00:51:46 | Re : correction d'un code assembleur

patatalo

Membre Club Administrateur CodeS-SourceS
salut,


oui parce qu'il t'indique les instructions assembleur qui permettent un acces à la mémoire et les registres utilisés. [AX+?] n'existe pas.

@++
samedi 16 octobre 2010 à 13:56:15 | Re : correction d'un code assembleur

marooh

donc je doit tout remplacer par bx??
samedi 16 octobre 2010 à 14:55:55 | Re : correction d'un code assembleur

ToutEnMasm


Gare aux 8086,..286 8 16 bits.
Il distingue les registres généraux,d'adresse et d'indexage.
si di pointeurs d'adresses
bx index
mov [di+bx],..
c'est pour ça que l'assembleur actuel est si utilisable.
OUI bx est le registre d'index.
Après il faut encore se préoccuper des segments,de la pile,de la ...SOS


samedi 16 octobre 2010 à 15:14:24 | Re : correction d'un code assembleur

marooh

Après il faut encore se préoccuper des segments,de la pile,de la ...SOS
samedi 16 octobre 2010 à 15:46:55 | Re : correction d'un code assembleur

ToutEnMasm

je n'ai que 53 ans et le 8086 commence à devenir un vieux souvenir.
Il me semble que DS doit être positionner sur le registre des data.
L'adresse complète en 8086 est:
Segment + pointeur + index

Un segment en 8086 a une valeur.
cette valeur représente (Valeur * 16) bytes

1 2

Cette discussion est classée dans : code, tableau, mov, assembleur, ax


Répondre à ce message

Sujets en rapport avec ce message

Conversion hexa vers ascii [ par Cygace ] Bonjour voici un code asm qui convertit un nombre binaire vers de l'ascii. Mais je dois modifiier ce code pour qu'il convertisse de l'hexadecimal vers rs232 [ par TRAX44 ] salut,tout premièrement je sais qu'il ya des exemples sur le site!mais mon problème est autre je tiens à comprendre pourquoi mon code ne fonctionne pa pb affichage console [ par mat74 ] voila je cherche a faire un prog qui affiche 0 ou 1 en fonction de la valeur de ax . et le teste est ds une procedure . mais il y a un pb le prog n'af pb int 21h ah=0ah [ par mat74 ] salut a ts ,voila j'ai fais un programme qui est censé lire une chaine entré par l'utilisateur et ensuite la reafficher . Il me demande bien d'entré u Modifer le vecteur d'interruptions [ par vecchio56 ] Bonjour J'essaie de refaire la source http://www.cppfrance.com/code.aspx?ID=33558 en assembleur (ca consiste à modifier la routine de l'interruption 0 A l'aide... svp [ par monitor100 ] Bonjour a tous,Je suis completement null en assembler, et il faut que je fasse afficher le résultat de la factoriel de 4 soit 24.est ce que quelqu'un Boot et heure [ par henri12 ] je fais un essai de changement de l heure avec l interruption 21h sous le boot l heure n est pas changerpourquoi.286C   ;Code de bootsecteur permettan nasm [ par henri12 ] salut je viens de compiler ce mbr boot avec nasmnasm -fbin aboot.asm -o binexe.exele programme c est bien compiler mais en lançant d une cle usb l ima Afficher l'heure avec la memoire video [ par RootASM ] Bonjour,Je voudrais afficher l'heure grace à la mémoire vidéo car elle permet d'économiser une interuption.Quand je le lance sous afd, j'ai bien dans


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,874 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales