flat assembler
Message board for the users of flat assembler.
Index
> Non-x86 architectures > FASMARM alternatives? |
Author |
|
ProMiNick 29 Apr 2020, 10:40
What dislike in fasmarm? bugs? unavailability of compiling for IOS due to absence of Macho support?
What about GNU assembler? |
|||
29 Apr 2020, 10:40 |
|
MazeGen 30 Apr 2020, 08:04
I've just started with ARM asm. I'm coming from the x86 world where many different assemblers are available.
As I understand it, Arm Holdings dictates ARM assembler syntax that is crazy IMO. So I'm trying to understand the state of the art of ARM assemblers. MachO support would be good but not necessary. ELF64 support is required. As far as I know, GAS is very limited when it comes to its macro capabilities. |
|||
30 Apr 2020, 08:04 |
|
Tomasz Grysztar 30 Apr 2020, 08:42
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. |
|||
30 Apr 2020, 08:42 |
|
MazeGen 30 Apr 2020, 11:30
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. |
|||
30 Apr 2020, 11:30 |
|
Tomasz Grysztar 30 Apr 2020, 11:41
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). |
|||
30 Apr 2020, 11:41 |
|
donn 30 Apr 2020, 15:52
|
|||
30 Apr 2020, 15:52 |
|
MazeGen 01 May 2020, 10:32
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. |
|||
01 May 2020, 10:32 |
|
bitRAKE 02 May 2020, 02:17
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.
_________________ ¯\(°_o)/¯ “languages are not safe - uses can be” Bjarne Stroustrup |
|||
02 May 2020, 02:17 |
|
tthsqe 02 May 2020, 13:31
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. |
|||
02 May 2020, 13:31 |
|
Tomasz Grysztar 02 May 2020, 14:32
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. |
|||
02 May 2020, 14:32 |
|
DimonSoft 03 May 2020, 21:21
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> |
|||
03 May 2020, 21:21 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.