Problème en langage d'assembleur !
dx3d
Messages postés
72
Statut
Membre
-
dx3d Messages postés 72 Statut Membre -
dx3d Messages postés 72 Statut Membre -
Bonjour,
Donc pour commencer j'explique mon soucis, on étudie l'assembleur en cours d'info cette année en 2éme année de fac, pour la version c'est en x86 syntaxe intel. Si besoin d'info complémentaire je pourrais vous en donnez.
Donc le jour de l'examen on a eu à corriger un code qui devait faire quelque chose mais ne le faisait pas, je suis pas super bon en assembleur et vu qu'on a pas trop le droit à la copie ou a des corrections on sait pas vraiment où on a foiré mais j'aimerais au moins être sûr parceque mes rattrapages sont pour bientôt ! :)
Donc le code suivant est censé calculer le nombre de lettre majuscules dans une série d'élément et en retourner la somme qui ne devra pas dépassé '10', c'est le code comme celui de l'examen donc rempli de fautes, si vous pouviez juste m'aider à toutes les dénichés je vous en serez très reconnaissant :
donc concernant le code, des fautes que j'ai trouvé déjà et dites moi si j'ai juste :
et là normalement sa devrait marcher, mais je suis pas sûr d'avoir tout fait correctement, une seconde opinion serait apprécier ! :)
Merci d'avance pour ceux qui me liront et j'espère avoir des réponses !
Donc pour commencer j'explique mon soucis, on étudie l'assembleur en cours d'info cette année en 2éme année de fac, pour la version c'est en x86 syntaxe intel. Si besoin d'info complémentaire je pourrais vous en donnez.
Donc le jour de l'examen on a eu à corriger un code qui devait faire quelque chose mais ne le faisait pas, je suis pas super bon en assembleur et vu qu'on a pas trop le droit à la copie ou a des corrections on sait pas vraiment où on a foiré mais j'aimerais au moins être sûr parceque mes rattrapages sont pour bientôt ! :)
Donc le code suivant est censé calculer le nombre de lettre majuscules dans une série d'élément et en retourner la somme qui ne devra pas dépassé '10', c'est le code comme celui de l'examen donc rempli de fautes, si vous pouviez juste m'aider à toutes les dénichés je vous en serez très reconnaissant :
section .data buffer db 0, 0, 0, 0, 0 length equ $ sum db '0', 10 section .text global _start _start : mov eax, 3 mov ebx, 1 mov ecx, buffer mov edx, length-buffer int 80h count: cmp word [edi], 'A' jb next cmp word [edi], 'Z' jna next inc byte [sum] next: inc edi loop count cmp eax, length-buffer jmp _start mov eax, 3 mov ebx, 0 mov ecx, sum mov edx, 2 int 80h mov eax, 1 mov ebx, 0 int 80h
donc concernant le code, des fautes que j'ai trouvé déjà et dites moi si j'ai juste :
section .data buffer db 0, 0, 0, 0, 0 length equ $-buffer sum db '0', 10 section .text global _start _start : mov eax, 3 mov ebx, 1 mov ecx, buffer mov edx, length int 80h mov edi, buffer mov eax, 0 count: cmp word [edi], 'A' jb next cmp word [edi], 'Z' ja next inc byte [sum] next: inc edi add eax, 1 cmp eax, length jne count mov eax, 3 mov ebx, 0 mov ecx, sum mov edx, 2 int 80h mov eax, 1 mov ebx, 0 int 80h
et là normalement sa devrait marcher, mais je suis pas sûr d'avoir tout fait correctement, une seconde opinion serait apprécier ! :)
Merci d'avance pour ceux qui me liront et j'espère avoir des réponses !
A voir également:
- Problème en langage d'assembleur !
- Langage ascii - Guide
- Langage binaire - Guide
- Clc langage jeune ✓ - Forum Mobile
- Que veut dire pdf en langage sms ✓ - Forum Programmation
- Langage visual basic - Télécharger - Langages