aide pour assembleur - ASM - Programmation
Marsh Posté le 07-11-2010 à 19:19:23
bon j'ai résolu les erreurs que j'avais en faisant une modification sur le code mais il en reste une qui est "unexpected end of file encoutered".
quelles sont les raisons de son apparition et les solutions?.mercii
Marsh Posté le 07-11-2010 à 22:29:00
Habituellement, ce message "unexpected end of file encountered" se rencontre quand l'assembleur attend une fin de quelque chose, mais il voit la fin de fichier à la place.
Une fin de quelque chose, cela peut-être un crochant fermant, s'il y a eu un crochet ouvrant avant, ou une parenthèse fermante, ou un guillemet fermant, ou une apostrophe fermante, etc. Peut-être qu'il faut une apostrophe au lieu d'un guillemet pour entourer les chaines de caractères. Dans le code qui est montré, rien ne semble oublié, mais il doit y avoir quelque chose. Voici, à titre d'exemple, un programme assembleur qui marche, mais qui est pour un vieil assembleur :
; .MODEL small |
Marsh Posté le 07-11-2010 à 23:23:04
j'ai essayé de mettre des apostrophes au lieu des guillemet mais ça ne marche pas!!!! je ne sais plus quoi faiiiiiiiire
Marsh Posté le 08-11-2010 à 08:07:02
Citation : add si,type word |
Je viens de voir ça ! What is it? ¿qué es? Che cosa? Was ist das ? Chto eta ? Nan dess ka ? Mā Hw؟ ? Kesako ? Quid est ? Il manque quelque chose. Un chiffre pour dire de combien il faut incrémenter si ? Voilà peut-être ce que le compilateur attend.
Marsh Posté le 08-11-2010 à 13:39:01
A l'époque ou je faisais de l'assembleur, l'indentation avait une signification... ça doit dépendre de ton compilateur, t'utilise quoi?
Edit: Je trouve aussi bizarre que tu aies deux end à la fin.
Marsh Posté le 08-11-2010 à 13:54:28
olivthill a écrit :
Je viens de voir ça ! What is it? ¿qué es? Che cosa? Was ist das ? Chto eta ? Nan dess ka ? Mā Hw؟ ? Kesako ? Quid est ? Il manque quelque chose. Un chiffre pour dire de combien il faut incrémenter si ? Voilà peut-être ce que le compilateur attend. |
Non, "add si, type word" va ajouter la taille d'un word à si.
Ca serait bien que l'auteur du post nous dise quel assembleur il utilise, car son message est plus une erreur syntaxique, donc fortement liée à l'assembleur utilisé.
Marsh Posté le 08-11-2010 à 14:26:53
Ce serait plus simple de faire add si,1 ou inc si, et ca serait compatible avec plus d'assembleurs.
Marsh Posté le 06-11-2010 à 13:15:42
bonjour,
j'ai écrit un code assembleur pour saisir une chaine de caractere qui se termine par # et puis calculer sa taille et l'afficher mais en assemblant j'ai eu des erreurs que j'ignore la façon de corriger.toute aide sera la bienvenue
les erreurs obtenues sont
<1> unkonwn character
<2> unkonwn character
<3> segment name is superfluous
<3> extra characters on line
<48> unexpected end of file encountered
et le code écrit est le suivant:
.386
.model small
.stack 200h
.data
commande db 10,13,"saisir une chaine$"
msg db 10,13,"la taille est$"
tab db 20 dup (0)
.code
main proc
mov ax,@data
mov ds, ax
mov si,offset tab
mov cx, 16
mov bx,0
saisie:
mov dx,offset commande
mov ah,9
int 21h
mov ah, 1
int 21h
mov BYTE PTR[si], al
cmp al,35
JE affiche
add si,type word
inc bx
loop saisie
Jmp affiche
affiche:
mov dx,offset msg
mov ah,9
int 21h
mov ax,bx
mov dl, al
Add dl, 48
mov ah, 2
int 21h
main endp
end main