POASM: Endless loop when trying to assemble a nested structure

Started by Hammurabi, March 06, 2010, 12:02:55 PM

Previous topic - Next topic

Hammurabi

Hello.

I was trying to define a structure placed inside another, like this:


.686
.data

foo struct
x dd ?
bar struct
 y dd ?
bar ends
foo ends

.code

@start:

end @start


I know, I should have defined "bar" outside of "foo" and then including a "bar" variable inside "foo", right? I was just wondering whether PoASM had support for this...

Anyway, when I run the assembler ("poasm foobar.asm"), it gets stuck in an endless loop printing the following messages:


C:\Program Files\PellesC\Bin\foobar.asm(8): error: Invalid use of 'ends'.
C:\Program Files\PellesC\Bin\foobar.asm(9): error: Invalid use of 'ends'.
C:\Program Files\PellesC\Bin\foobar.asm(9): error: Expected 'DUP'.
C:\Program Files\PellesC\Bin\foobar.asm(9): error: Expected '('.
C:\Program Files\PellesC\Bin\foobar.asm(9): error: Invalid use of 'ends'.
C:\Program Files\PellesC\Bin\foobar.asm(9): error: Expected 'DUP'.
C:\Program Files\PellesC\Bin\foobar.asm(9): error: Expected '('.
C:\Program Files\PellesC\Bin\foobar.asm(9): error: Invalid use of 'ends'.
C:\Program Files\PellesC\Bin\foobar.asm(9): error: Expected 'DUP'.
C:\Program Files\PellesC\Bin\foobar.asm(9): error: Expected '('.
C:\Program Files\PellesC\Bin\foobar.asm(9): error: Invalid use of 'ends'.
C:\Program Files\PellesC\Bin\foobar.asm(9): error: Expected 'DUP'.
C:\Program Files\PellesC\Bin\foobar.asm(9): error: Expected '('.
C:\Program Files\PellesC\Bin\foobar.asm(9): error: Invalid use of 'ends'.
C:\Program Files\PellesC\Bin\foobar.asm(9): error: Expected 'DUP'.
C:\Program Files\PellesC\Bin\foobar.asm(9): error: Expected '('.
C:\Program Files\PellesC\Bin\foobar.asm(9): error: Invalid use of 'ends'.
C:\Program Files\PellesC\Bin\foobar.asm(9): error: Expected 'DUP'.
C:\Program Files\PellesC\Bin\foobar.asm(9): error: Expected '('.


When I press Ctrl+C, I get a weird string:


C:\Program Files\PelleesPCO\ABSiMn: \abfoorotbeadr .bays mu(s9e)r:.


(I think it is the "aborted by user" notification mixed up with the previous error messages.)