Accueil > Forum > > > > verification d'un code
verification d'un code
dimanche 17 octobre 2010 à 04:04:01 |
verification d'un code

marooh
|
Bonjour,
j'ai écrit un code assembleur qui consiste à créer un tableau de 20 cases , de les remplir,de trouver le maximum et de faire la moyenne.mais en compilant j'ai eu des erreurs que je n'ai pas pu corriger  .si vous voulez bien m'aider
voici le code
.386
.model small
.stack 100h
.data
phrase db 10,13,"Nous avons besoin de l'age de 20 individus pour commencer$"
phrase1 db 10,13,"Entrez l'age:$"
tabealu db 20 dup (0)
.code
main proc
mov ax,@data
mov ds,ax
mov dx,offset phrase
mov ah,09h
int 21h
mov dx,offset phrase1
mov ah,09h
int 21h
mov bx,0
mov ax,0
boucle:
mov byte ptr[ds:tableau+bx],01h
inc bx
cmp ax,19
jne boucle
mov ax,0
boucle2:
mov dl,byte ptr [ds:tableau+bx]
inc bx
cmp ax,19
jne boucle2
mov ax,4c00h
int21h
Maximum proc uses bx,cx,ax,dx
a:ptr, \
n:dword
mov bx,a
mov cx,0
mov ax,[bx]
while1:
cmp cx,n
jge endwhile1
if_1:
mov dx,[bx+4*cx]
cmp dx,ax
jle endif_1
mov ax,[bx+4*cx]
endif_1:
inc cx
jmp while1
endwhile1:
ret
Maximum endp
end maximum
sum:
mov ebx,tableau
mov dx,0
mov ecx,19
lp:
add,dl[ebx]
jnc next
inc dh
next:
inc ebx
loop lp
shr dx, cl
int21h
main endp
end
|
|
dimanche 17 octobre 2010 à 09:56:43 |
Re : verification d'un code

ghuysmans99
|
Il me semble que tu mélanges la programmation windows (32 bits) et la programmation dos.
dixit Patatalo sur un autre de tes topics. il n'est pas interdit de tenir compte des bonnes remarques des autres  , c'est comme ça qu'on s'améliore.
mais en compilant -> L'ASM ne se compile pas : ça s'assemble et se link.
Les erreurs à l'assemblage sont :
VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
|
|
dimanche 17 octobre 2010 à 16:52:29 |
Re : verification d'un code

marooh
|
bonjour,
en assemblant avec tasm32,déja c'est trois warning de moins,mais les autres erreurs comment les corrigées??? 
|
|
dimanche 17 octobre 2010 à 17:48:58 |
Re : verification d'un code

marooh
|
en utilisant tasm 32 j'ai eu ces erreurs là:
(22)undefined symbol:tableau
(28)la meme chose
(33)illegal instruction
(38)uses has no effect without language
(49)operand type does not match
(53)illegal indexing mode
(57)illegal indexing mode
(68)open procedure :main
|
|
dimanche 17 octobre 2010 à 21:42:27 |
Re : verification d'un code

ghuysmans99
|
On te demande de faire du 16 bits alors PAS QUESTION de faire du 32. Et puis l'interruption 0x21 sous Windows tu oublies tout de suite ...
VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
|
|
dimanche 17 octobre 2010 à 22:18:54 |
Re : verification d'un code

marooh
|
j'ai modifié ce code avec de longues heures de travail et j'ai réglé quelque problèmes mais il reste ceux dont j'ignore la façon de corriger
voici les erreurs:
(43)illegal number
(87)operand types do not match
(104)operand types do not match
(108)illegal indexing mode
(111)illegal indexing mode
et voici le code
.386
.model small
.stack 100h
.data
phrase db 10,13,"Nous avons besoin de l'age de 20 individus pour commencer$"
phrase1 db 10,13,"Entrez l'age:$"
tableau db 20 dup (0)
n db 19
.code
main proc
mov ax,@data
mov ds,ax
mov dx,offset phrase
mov ah,09h
int 21h
mov ch,n
debut_de_boucle:
mov dx,offset phrase1
mov ah,09h
int 21h
affnbr:
push bp
mov bp, sp
push ax
push bx
push cx
push dx
push si
mov bx, [bp+4]
mov ecx, 10000
mov si, 0
repeter:
mov dx, 0
mov ax, bx
div cx
cmp ax, 0
jne affiche
cmp si, 1
jne fin_si
affiche:
add ax, '0'
push ax
call affiche_caractere
add sp, 2
mov si, 1
fin_si:
mov bx, dx
mov dx, 0
mov ax, cx
mov cx, 10
div cx
mov cx, ax
cmp cx, 1
jne suite
mov si, 1
suite:
cmp cx, 0
jne repeter
pop si
pop dx
pop cx
pop bx
pop ax
pop bp
endaffnbr:
affiche_caractere PROC
push bp
mov bp, sp
push dx
push ax
mov dx, [bp+4]
mov ah, 2
int 21h
pop ax
pop dx
pop bp
ret
affiche_caractere ENDP
loop debut_de_boucle
sum:
mov ebx, tableau
mov dx,0
mov ah,0
mov ecx,19
lp:
mov al,[ebx]
add dx,ax
inc ebx
loop lp
endlp:
endsum:
max:
mov bx,0
mov cx,0
mov ax,[bx]
while1:
cmp cx,n
jge endwhile1
if_1:
mov dx,[bx+4*cx]
cmp dx,ax
jle endif_1
mov ax,[bx+4*cx]
endif_1:
inc cx
jmp while1
endwhile1:
endmax:
main endp
end main
|
|
lundi 18 octobre 2010 à 18:49:13 |
Re : verification d'un code

ghuysmans99
|
Ligne 43 : add ax, 48 ;'0'
Ligne 87 : mov bx, offset tableau
Ligne 90 : mov cx, 19
Ligne 92 : mov al, byte ptr [bx]
Ligne 104 : cmp cx, byte ptr [n]
VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
|
|
Cette discussion est classée dans : mov, ax, cx, bx, dx
Répondre à ce message
Sujets en rapport avec ce message
Ennoncés à corriger svp :-) [ par did2604 ]
Bonjour à tous,Mon professeur m'a demandé de convertir les énoncés (en langage C) suivants en assembleur, quelqu'un aurait-il la gentilesse de me les
petit probleme de debutant [ par freekc ]
j'essaie de faire un ptit prog que lorsque l'on rentre son nom prenom etc . Il y est un recapitulatif qui se mette en dessous ms lorsque que le recapi
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
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
boot system [ par henri12 ]
salut je viens de trouver ce code qui permer de lancer un fichier sur une disquettr a: exemple systemje voudrais qu il me lance le jeu pong sur a: j
interruption [ par aboulkhir ]
salut j essaye de gerer le clavier en interruption en asselmbleur voila mon programme je travaille sous debug en invite de commande de windowsclimo
ERREUR DE SEGMENTATION en asm [ par tahsgh ]
salam; jai le code suivant ----------------------------------------- global main SECTION . text main :
Executer 2 action en meme temps [ par HirOinEvOl ]
Bonjour, je souhaite exécuter les deux codes suivant mais simultanément pour qu'ils puissent tournés en parrallèles. Je n'ai trouvé aucun moyen de l
Addition ASM [ par GibsonUSA ]
Bonjour a tous, je débute en ASM 16bits et je bloque pour faire une addition de deux chiffres saisis par l'utilisateur. Voila ce que j'ai fais. A l'
Affichage décroissant et alphabétique de 2 listes(Nom_Prénom et Note) [ par m_didi9 ]
[code=autre]Data SEGMENT Mess1 DB 10,13, 'Entrez la liste des Noms :' DB 10, 13, '$' Mess2 DB 'Entrez la liste des Notes :' DB 10, 13, '$' Mess3
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|