flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
MazeGen
I enjoy FASMARM being based on fasm but I wonder if there are any other ARM assemblers with advanced macro language? I tried to find some but without success.
|
|||
![]() |
|
ProMiNick
What dislike in fasmarm? bugs? unavailability of compiling for IOS due to absence of Macho support?
What about GNU assembler? |
|||
![]() |
|
Tomasz Grysztar
There is an aarch64 add-on for fasmg (made by tthsqe), but so far no instruction set packages have been written for other flavors of ARM. But now that fasmg is further powered by CALM, it might be worth it to pursue these directions (the aforementioned aarch64 headers were made before CALM was available, so they are written using just macros and therefore might be a bit slow). I admit I was reluctant to attempt writing such packages myself, as I feel I have too much Intel-syntax-related bias to understand well what might be expected in the ARM world. Although one could say that if I made something with such bias, it could become an interesting alternative for other people coming from x86 world, like you.
One advantage of fasmg approach is that when architectures are implemented with headers sets, it is possible to tweak them if needed, and the syntax is more malleable in general. Also, for example, there is a Mach-O formatter for fasmg, and making it with fasmg was so much more comfortable that I gave up any plans of implementing it into fasm 1. |
|||
![]() |
|
MazeGen
It's good to know there's the add-on and that CALM is available for fasmg. However, I don't have enough time to add support for ARMv7 to fasmg.
It would be great if you could add a small chapter to fasmg user's manual about compatibility between fasm and fasmq: is it possible to assemble my fasm source code with fasmg? It seems it's not, right? There's the Migration from fasm to fasmg post but it's too technical. |
|||
![]() |
|
Tomasz Grysztar
MazeGen wrote: It would be great if you could add a small chapter to fasmg user's manual about compatibility between fasm and fasmq: is it possible to assemble my fasm source code with fasmg? It seems it's not, right? There's the Migration from fasm to fasmg post but it's too technical. However, there is also a set of compatibility headers, which implement fasm-compatible x86 instruction sets, FORMAT directive will all the formats that fasm had (but also some additional ones, like Mach-O or x32 ELF), @@ labels, some of the standard fasm's macros (like STRUCT) and fasm-like Windows headers. This set is what the migration guide mentions, and it allows to assemble many of the Windows programs with little to no changes (because including compatibility headers like "win32a.inc" automatically adds things like x86 instructions and FORMAT directive). |
|||
![]() |
|
donn
|
|||
![]() |
|
MazeGen
The official arm assembler seems to have very limited macro language (this page is linked from here).
And the Microsoft arm assembler looks like it's similar to the offical one with tweaks and mods. |
|||
![]() |
|
bitRAKE
I'm fairly certain GNU AS has macros - just from reading GMP source code. It's unusual to say the least, imho. Many other compilers forward to AS, so I've been thinking about getting more familiar with it myself.
|
|||
![]() |
|
tthsqe
I have been out of the loop for a while. So calm is part of fasmg? Can we compile all x86 code (including avx 256 instructions) with fasmg+calm? And it faster than the original fasmg?
I would be willing to get those aarch64 includes calmified if that is indeed the way to go. |
|||
![]() |
|
Tomasz Grysztar
tthsqe wrote: I have been out of the loop for a while. So calm is part of fasmg? Can we compile all x86 code (including avx 256 instructions) with fasmg+calm? And it faster than the original fasmg? The repository has most of the things converted now, although I did not have enough momentum to convert the "invoke" macros, which could likely also gain much from CALM. If you need to learn more about how it works, you should start with the new chapter of the manual dedicated to CALM, then there is also an added section at the end of the overview document which covers specifically converting an existing macros to CALM. |
|||
![]() |
|
DimonSoft
tthsqe wrote: I have been out of the loop for a while. <OffTop>This phrase is so loop’y from programmer’s point of view.</OffTop> |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
Website powered by rwasa.