Baronerosso9
01-04-2008, 18:18
Qualcuno sa dirmi perchè se provo ad assemblare questo programmino con masm 4.0 o con l'assemblatore dell'arrowsoft mi da sempre questo errore:
" E r r o r --- 85:End of file, no END directive "
quando in realtà io la direttiva END ce l'ho messa eccome???
Ecco il programma(aiutatemi please ho un esame tra poco)(non vi preoccupate di quello che fa il programma,mi serve solo sapere perchè mi da quell'errore!!):
_______________________________________________________________
n equ 3
data segment public
inizio db 'M','C','L' ;carico la memoria con il dato MCL
data ends
;----------------------------------------------------------
;definisco la macro di traduzione
trad macro start,n
mov cx,0h
mov bl, start[cx]
conv bl
mov bx,dx
mov ax,bx
lp: inc cx
cmp n,cx
je fine
mov dl,start[cx]
conv dl
cmp bx,dx
jb sab
add ax,bx
mov bx,dx
jmp lp
sab: mov si,dx
sub si,dx
mov ax,si
mov bx,dx
jmp lp
fine: mov si,di
trad endm
;--------------------------------------------------------------
;definisco la macro di conversione
conv macro reg8
cmp 'M',reg8
je emme
cmp 'C',reg8
je ci
cmp 'L',reg8
je elle
cmp 'V',reg8
je vu
cmp 'I',reg8
je iii
cmp 'X',reg8
je ics
cmp 'D',reg8
je di
iii: mov dx, 01h
jmp finco
ics: mov dx, 0Ah
jmp finco
di: mov dx, 01F4h
jmp finco
vu: mov dx, 05h
jmp finco
elle: mov dx, 32h
jmp finco
ci: mov dx, 64h
jmp finco
emme: mov dx, 3E8h
jmp finco
finco: mov si,di
conv endm
;----------------------------------------------------------------------
;programma main
cseg segment public 'code'
assume cs:cseg,ds:data, ss:nothing,es:nothing
entry label far
mov ax,data
mov ds,ax
trad offset inizio,n
mov ah,4Ch
int 21h
entry endp
cseg ends
end entry
________________________________________________________________
aiutatemi!!!
" E r r o r --- 85:End of file, no END directive "
quando in realtà io la direttiva END ce l'ho messa eccome???
Ecco il programma(aiutatemi please ho un esame tra poco)(non vi preoccupate di quello che fa il programma,mi serve solo sapere perchè mi da quell'errore!!):
_______________________________________________________________
n equ 3
data segment public
inizio db 'M','C','L' ;carico la memoria con il dato MCL
data ends
;----------------------------------------------------------
;definisco la macro di traduzione
trad macro start,n
mov cx,0h
mov bl, start[cx]
conv bl
mov bx,dx
mov ax,bx
lp: inc cx
cmp n,cx
je fine
mov dl,start[cx]
conv dl
cmp bx,dx
jb sab
add ax,bx
mov bx,dx
jmp lp
sab: mov si,dx
sub si,dx
mov ax,si
mov bx,dx
jmp lp
fine: mov si,di
trad endm
;--------------------------------------------------------------
;definisco la macro di conversione
conv macro reg8
cmp 'M',reg8
je emme
cmp 'C',reg8
je ci
cmp 'L',reg8
je elle
cmp 'V',reg8
je vu
cmp 'I',reg8
je iii
cmp 'X',reg8
je ics
cmp 'D',reg8
je di
iii: mov dx, 01h
jmp finco
ics: mov dx, 0Ah
jmp finco
di: mov dx, 01F4h
jmp finco
vu: mov dx, 05h
jmp finco
elle: mov dx, 32h
jmp finco
ci: mov dx, 64h
jmp finco
emme: mov dx, 3E8h
jmp finco
finco: mov si,di
conv endm
;----------------------------------------------------------------------
;programma main
cseg segment public 'code'
assume cs:cseg,ds:data, ss:nothing,es:nothing
entry label far
mov ax,data
mov ds,ax
trad offset inizio,n
mov ah,4Ch
int 21h
entry endp
cseg ends
end entry
________________________________________________________________
aiutatemi!!!