Accueil > Forum > > > > turbo assembleur 5.0
turbo assembleur 5.0
mardi 19 octobre 2010 à 19:18:49 |
turbo assembleur 5.0

andromida
|
S.V.P aidez moi a écrire un code tasm qui fait:
*saisir 20 entiers comme etant des ages dans un tableau
*determiner en un seul parcours le maximum et le minimum
*calculer la moyenne de ces 20 valeurs
*afficher le max , le min et la moyenne comme ça:
le max est:
le min est:
la moyenne est:
c'est urgent svp aidez moi 
|
|
mardi 19 octobre 2010 à 20:38:21 |
Re : turbo assembleur 5.0

ghuysmans99
|
T'as déjà fait quoi ?
VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
|
|
mardi 19 octobre 2010 à 22:25:38 |
Re : turbo assembleur 5.0

andromida
|
j'ai essayé un peu mais je suis un débutant et je ne connait pas beaucoups en turbo assembleur 5.0 
|
|
mardi 19 octobre 2010 à 22:48:32 |
Re : turbo assembleur 5.0

ghuysmans99
|
Essaie de trouver de quoi tu as besoin comme fonctions, je t'aiderai pour chacune s'il faut (mais je ne ferai pas ton boulot à ta place)
VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
|
|
mercredi 20 octobre 2010 à 00:49:35 |
Re : turbo assembleur 5.0

andromida
|
et beh monsieur j'ai passé 7 jours en essayant et crois-moi j'ai pa dormi la nuit precedante et si tu ne veut pas m'aider dis le franchement 
|
|
mercredi 20 octobre 2010 à 09:00:19 |
Re : turbo assembleur 5.0

ToutEnMasm
|
Tasm ou masm se ressemble.
La grosse différence est que les exemples de masm sont beaucoup plus étoffés.
En masm cela donnerais:
Utiliser inputbox
Utiliser une fonction de conversion atodw (ascii to dword)
utiliser les macros de masm
.if eax > dword ptr [tableau+index] (incrément 4)
.endif
- extraire la moyenne peut demander le FPU
FDIV
reconvertir dwtoa (dword to ascii)
Faire un affichage par messagebox.
|
|
mercredi 20 octobre 2010 à 09:28:18 |
Re : turbo assembleur 5.0

ToutEnMasm
|
Peut être même pas besoin du FPU pour calculer la moyenne.
En mettant des indices de 1 a 20 pour les nombres
Moyenne=((NombreMin+ecart1) +(Nombremin+ecart2 )+..)/20
Moyenne = NombreMin + (Somme des écarts/20)
Ou
Moyenne = NombreMin + Ecart1/20 + Ecart2/20 + ...
Si les entiers rentre dans un dword,pas de risque de débordement de capacité en procédant comme ça.
|
|
mercredi 20 octobre 2010 à 14:43:51 |
Re : turbo assembleur 5.0

andromida
|
merci mais je travaille sur tasm et voici mon premier essai et je souhaite que tu le corrige voici le code:
title age
.model small
.stack 100h
.data
tab db 20 dup(?)
.code
main proc
mov ax,@data
mov ds, ax
mov si,0
mov cx,20
saisie: ;mnin jebtha ?
mov di,10 ;pourquoi rejistre dindexe ?
while1:
mov ah,1;saisie d' un caractereavec echo
int 21h
mov bh,al
sub bh ,48
cmp bh ,0
jge endwhile1
jmp while1
endwhile1:
cmp bh,9
jle next1
jmp while1
next1:
mov al,bh
mul di;le contenu sera enregistré ds ax
while2:
mov ah,1
int 21h
mov dh,al
sub dh,48
cmp dh,0
jge endwhile2
jmp while2
endwhile2:
cmp dh,9
jle next2
jmp while2
next2:
add ax,dh
mul di
while3:
mov ah,1
int 21h
mov dl,al
sub dl,48
cmp dl,0
jge endwhile3
jmp while3
endwhile3:
cmp dl,9
jle next3
jmp while3
next3:
add ax,dh
mov dx,ax
mov tab[si],dx;saisie du tableau
inc si
loop saisie
mov dx,offset tab
int 21h
mov si,0
mov cx ,20
mov ah,tab[0]
mov bh,tab[0]
statiqueage:
cmp tab[si],ah
jle here1
here1:
mov ah,tab[si]
cmp bh,tab[si]
jge here2
here2:
mov bh,tab[si]
inc si
loop statiqueage
.exit
endp
end main
|
|
mercredi 20 octobre 2010 à 14:55:20 |
Re : turbo assembleur 5.0

ToutEnMasm
|
La lecture étant quelque peut pénible,je te conseille une chose.
Tasm accepte une compatiblité masm (même syntaxe).
Ci dessous,la solution en masm32,qui peut te faire avoir un zero a ton problème pour copie.
Elle marche,j'ai vérifié et en plus elle est lisible.
include \masm32\include\masm32rt.inc
.const
.data
serie dd 45h,0f12h,10h,7f23h,732h,0
minimum dd 0
maximum dd 0
moyenne dd 0
CPT dd 0
SommeReste dd 0
.code
start:
;------- minimum ------------
mov CPT,LENGTHOF serie
;chercher le plus petit
lea edx,serie
;prendre le premier comme référence
mov eax,[edx]
mov minimum,eax
.while(CPT)
mov eax,[edx]
.if eax < minimum
mov minimum,eax
.endif
add edx,4
dec CPT
.endw
;------- maximum -----------
mov CPT,LENGTHOF serie
;chercher le plus grand
lea edx,serie
;prendre le premier comme référence
mov eax,[edx]
mov maximum,eax
.while(CPT)
mov eax,[edx]
.if eax > maximum
mov maximum,eax
.endif
add edx,4
dec CPT
.endw
;--------- moyenne -----------
;appliquer moyenne = minimum + SommeEcart /20 + SommeRestes/20
mov eax,minimum
mov moyenne,eax
mov CPT,LENGTHOF serie
;chercher le plus grand
push edi
lea edi,serie
.while(CPT)
mov eax,[edi]
mov ecx,minimum
sub eax,ecx
mov ecx,LENGTHOF serie
mov edx,0
div ecx
add moyenne,eax
add SommeReste,edx
;-----------------
add edi,4
dec CPT
.endw
pop edi
;----- ajouter les restes -------
mov eax,SommeReste
mov ecx,LENGTHOF serie
mov edx,0
div ecx
add moyenne,eax
invoke ExitProcess,0
;------- proc içi ------------
end start
|
|
mercredi 20 octobre 2010 à 18:45:39 |
Re : turbo assembleur 5.0

andromida
|
merci beaucoup " ToutEnMasm" c'est tès gentil mais j'ai déjà dit que je cherche le code en tasm et n'est pas en masm car il y a des instructions en masm que je ne comprends pas et vous savez je suis un débutant car c'est le premier code que j'ai essayé d'écrire et je serais tres reconnaissant de votre aide
|
|
Cette discussion est classée dans : assembleur, max, moyenne, min, turbo
Répondre à ce message
Sujets en rapport avec ce message
Division en assembleur [ par Haox85 ]
Bonsoir tout le monde,J'aimerai savoir comment faire pour diviser un nombre en assembleur.En réalité, j'ai une valeur sur 10 bits qui représente la mo
Recherche petit programme assembleur [ par micamoca ]
Bonjour, Je programme en COBOL (hélas...) et l'instruction de recherche (INSPECT) est trop lente. Je cherche du coup le code d'un petit programme ass
Qui sait développer en assembleur Z-os IBM ? [ par micamoca ]
Je cherche une mini routine assembleur Z-os IBM. On lui donne une zone A, longueur A, une zone B, longueur B, et elle nous donne la position dans laqu
[Assembleur inline C++] Récupérer l'offset d'un label [ par ShivX ]
Bonjour a tous, J'ai un léger problème avec l'assembleur inline dans un programme en C++, n'étant pas un expert en asm j'espère que vous pourrez m'éc
assembleur [ par calamsro ]
j'ai commencé à étudier le langage machine l'assembleur que j'utilise est nasm mais manifestement la plupart des sources asm proposées sont faites pou
assembleur [ par Rotsycs ]
slt! j'ai un petit souci à propos de la programmation assembleur. prog: il s'agit d'un programme qui tester un chiffre entrée au clavier. si tu écrit
interruption en assembleur [ par louti ]
Salut je cherche un programme qui consiste à simuler le comportement d'un virus: detourner une interruption en assembleur (simple programme)!! svp aid
Nombre Parfait En Assembleur [ par kopindo ]
Bonjour,çava? bon,j'ai besoin de votre aide pour ce qui concerne ce exercice.et je sais pas comme dois-je commencer.merci d'avance je souhaite écrir
assembleur [ par cana125 ]
Bonjour a tous les informaticien j'ai réaliser un engin et une souris et une cible mais malheureusement j'ai pas réussis a faire bouger l'engin par ra
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
|