flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
Tomasz Grysztar 27 Sep 2012, 13:42
It is very easy to add another output format when you know all the structures, though it would take a long time to deduce it all from reading the source only. I once started writing a guide to fasm's internals, so that it would be easier for others to get versed in fasm's structures, but I never really managed to get it past the basic information needed to port fasm into other OSes. I keep changing the internal structures faster than I am able to document them.
But I think there are some other ways in which you could help. You can try to create a correct Mach-O file using the fasm's binary output (create everything, even relocations, with the DB/DD directives, etc.) One of the most time-consuming tasks in implementing any new output format was to do such initial research and find out what headers need to be generated, etc. If I had some working templates it would be much easier for me to proceed. |
|||
![]() |
|
Shirk 27 Sep 2012, 15:34
Well, thank you - this is a really nice idea
![]() I'd never thought about creating a mach-o using the flat binary format! If a template and maybe some macros to create mach-o objects will help I see what can be done. However I'm going to focus on mach-o object files for now since they have a much simpler structure than mach-o executables. (And the later can be produced by a simple ld call anyway..) Thank's for the reply! |
|||
![]() |
|
Tomasz Grysztar 27 Sep 2012, 16:02
BTW, the only reason why it isn't really viable to support additional output format with just macros are relocations. I remember I once (even before object output was implemented into fasm) considered adding some universal support for relocations in plain binary output mode - so that you could mark part of code as relocatable and then process gathered relocations in a loop and generate the right codes. But I did not have any good idea for such a generic design and it could easily become a mess.
|
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.