PDA

View Full Version : Errore che non capisco riscontrato in Assembler


luxorl
07-07-2004, 16:48
.GLOBAL start

.DATA

v1: .LONG 10,1,3,5,7
v2: .LONG 11,3,4,6,5

.TEXT
.include "../lib/servizio"
.include "../lib/print.s"

start:

pushl $5
pushl $v2
pushl $v1

call Sub
addl $12,%ESP
call printIL
call dos

Sub: pushl %EBP
movl %ESP,%EBP
pushl $0
pushl $0
push %ESI
push %EBX
push %ECX
movl 8(%EBP), %EBX
movl (%EBX),%EAX
movl %EAX,-4(%EBP)
movl $1,%ESI
movl 16(%EBP),%ECX
decl %ECX

loopmin:
movl (%EBX,%ESI,4),%EAX
cmpl %EAX,-4(%EBP)
jle nomin
movl %EAX,-4(%EBP)
nomin: incl %ESI
loop loopmin
movl 2(%EBP),%EBX
movl (%EBX),%EAX
movl %EAX,-8(%EBP)
movl $1,%ESI
movl 16(%EBP),%ECX
decl %ECX

loopmax:
movl (%EBX,%ESI,4),%EAX
cmpl %EAX,-8(%EBP)
jge nomax
movl %EAX,-8(%EBP)
nomax: incl %ESI
loop loopmax
#SOMMA
movl -8(%EBP),%EAX
addl -4(%EBP),%EAX
popl %ECX
popl %EBX
popl %ESI

leave
ret


mi da questo errore:

SommaMaxMin.s: Assembler messages:
SommaMaxMin.s:0: Warning: end of file not at end of a line; newline inserted

perchè? :(

ilsensine
07-07-2004, 16:51
Hai per caso editato il file con un editor di windows?

ilsensine
07-07-2004, 16:54
Ricorda anche di terminare il file con una riga vuota

luxorl
07-07-2004, 17:00
ho editato con textpad! vado a provare a lasciare la riga vuota! :)

luxorl
07-07-2004, 17:05
ok, adesso compila!! :) però guardate che succede quando provo a lanciare:


C:\Documents and Settings\Lux\Desktop\Architettura Calcolatori\ac\src\eserc1>go3
2 SommaMaxMin.e
Exiting due to signal SIGSEGV
General Protection Fault at eip=00001a56
eax=00000007 ebx=1a1d7fff ecx=00000000 edx=00000207 esi=00000005 edi=00001e00
ebp=0000074c esp=00000738 program=C:\DOCUME~1\LUX\DESKTOP\ARCHIT~1\AC\SRC\ESERC1
\GO32.EXE
cs: sel=01f7 base=02a30000 limit=0001ffff
ds: sel=01ff base=02a30000 limit=0001ffff
es: sel=01ff base=02a30000 limit=0001ffff
fs: sel=01cf base=0000b680 limit=0000ffff
gs: sel=0000
ss: sel=01cf base=0000b680 limit=0000ffff


e poi compare subito la finestra che si è verificato un errore in ntvdm.exe e l'applicazione verrà chiusa

:eek: :eek: