Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2006-12

Nasm under FPC Go32v2

2 messages · 2 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Unknown author

Hi, I prepared some modifications for the 2.0.4 version to the ag386nsm.pas file which fixes the output of the strings (bug id 7210, but the patch in attachement now works against the old one) under this assembler, try the following code before and after its application with the command line <fpc -al -Anasmcoff worldcrash.pas>:

program worldcrash;
begin
writeln('Hello, world!');
end.
These are the issues:
- substitution of the .rodata with the .data section;
- avoiding of a double assignement of the LastSecType by the WriteSection, cosmetic;
- correction of the #0 character with the db reserve operator and placing of the string in a single line, it is possible to clean;
- insert of the global key for the label of the string;
- correction of the skip of near sections in the cutobject, not related with the actual problem.
Regards, Marco Borsari.

------------------------------------------------------ Passa a Infostrada. ADSL e Telefono senza limiti e senza canone Telecom http://click.libero.it/infostrada28dic06

Reply by email

Pierre Muller
to Unknown author
Show quoted text 5 lines
Hi, I prepared some modifications for the 2.0.4 version to the ag386nsm.pas file which fixes the output of the strings (bug id 7210, but the patch in attachement now works against the old one) under this assembler, try the following code before and after its application with the command line <fpc -al -Anasmcoff worldcrash.pas>:

The file you are changing is not go32v2 specific, thus if a change is only for the go32v2 target, we need to add a target test for the given change.

Show quoted text 7 lines
program worldcrash; begin writeln('Hello, world!'); end. These are the issues: - substitution of the .rodata with the .data section;

Is this a general or go32v2 limitation of NASM?

- avoiding of a double assignement of the LastSecType by the WriteSection, cosmetic; - correction of the #0 character with the db reserve operator and placing of the string in a single line, it is possible to clean;

The problem is that very long line have problems with editors (like fp for instance...) that is why the splitting was introduced, I don't understand the advantage of removing that.

- insert of the global key for the label of the string;

Why is this glbal modifier needed?

- correction of the skip of near sections in the cutobject, not related with the actual problem.

Could you please explain the reason of that change?

Pierre Muller

Reply by email