Hello again - Still testing the new 1.9.0 beta compiler (Win32), I have come across another issue which is much easier to demonstrate:
Take the following program: program asmtest; procedure myasmstuff; var BOB : dword; begin asm mov eax,BOB xor eax,eax mov BOB,eax end ['eax']; end; begin myasmstuff; end. If I compile this using PPC386 at the command line (default configuration file) like so: E:\Projects\tests>ppc386 -Rintel asmtest Hint: End of reading config file e:\pp\bin\win32\fpc.cfg Free Pascal Compiler version 1.9.0 [2003/11/05] for i386 Copyright (c) 1993-2002 by Florian Klaempfl Target OS: Win32 for i386 Compiling asmtest.pp Linking asmtest.exe 16 Lines compiled, 0.5 sec No problem, it compiles and the program runs without any output (as expected). But a small change to the command line [adding the -S2 switch], like so: E:\Projects\tests>ppc386 -Rintel -S2 asmtest Hint: End of reading config file e:\pp\bin\win32\fpc.cfg Free Pascal Compiler version 1.9.0 [2003/11/05] for i386 Copyright (c) 1993-2002 by Florian Klaempfl Target OS: Win32 for i386 Compiling asmtest.pp Compilation aborted asmtest.pp:8 Runtime error 216 at 0x004CF77E 0x004CF77E 0x004437D9 0x004438DB 0x00443C34 0x00479DFB 0x0047B662 0x0047BB75 0x0047BE30 0x00479C90 0x0047B662 Is the order of switches on the command line (same thing happens if I modify the FPC.CFG file) supposed to be significant? If I put the -S2 switch before the -Rintel switch, it compiles with no problems.... If I use the -S2 switch *by itself*, I get the RTE 216 again (as opposed to a list of assembler instructions not recognised, as I would expect).... And on the positive side, for my existing code that the new version DOES compile, it makes a much smaller EXE (e.g. 75kb instead of 110kb). This is fantastic! I can't wait for the remaining bugs to be removed and 2.0 to be released... Lawrence. _______________________________________________ fpc-pascal maillist - [EMAIL PROTECTED] http://lists.freepascal.org/mailman/listinfo/fpc-pascal