begin process at 2012 05 25 10:46:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Assembleur

 > 

Processeurs

 > 

X86

 > 

turbo assembleur 5.0


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

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

Membre Club
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

Membre Club
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

1 2 3 4 5

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


Nos sponsors


Sondage...

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 : 1,607 sec (4)

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