News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests

Main Menu

Support to ARM32/64 Architectures into UASM

Started by DebugBSD, November 11, 2020, 11:16:12 PM

Previous topic - Next topic

DebugBSD

Hi, good morning!

Although I think I already know the answer :P, I would like to ask if there is a thought about adding support to ARM architecture into UASM?

Have a nice day!
Guille
Happy Hacking!

TouEnMasm


There is ARM library given with the windows SDK.isn't enough ?
Fa is a musical note to play with CL

Vortex

Hi TouEnMasm,

If I remember well, the latest Windows SDKs are offering a C\C++ compiler for the ARM platform.

DebugBSD

Quote from: TouEnMasm on November 12, 2020, 12:21:58 AM

There is ARM library given with the windows SDK.isn't enough ?

Are you talking about the C/C++ library which comes with Visual Studio? If yes, I'm not sure about how to use it with MASM or UASM. Right now Visual Studio uses arm64asm.exe and I'm sure that masm doesn't support arm instruction set architecture the same way gas does it.
Happy Hacking!

TouEnMasm


The windows sdk give arm library and arm binaries (rc,midl...)
The c++ visual studio don't seem to get anything for arm

Fa is a musical note to play with CL

LiaoMi

FASMARM - https://arm.flatassembler.net/

The ARM Compiler armasm User Guide provides user information for the ARM assembler, armasm. It contains information on command-line options, instruction sets, and assembler directives - https://developer.arm.com/documentation/dui0473/m/preface/about-this-book (PDF - https://documentation-service.arm.com/static/5ea074249931941038de698a?token= )

Download Arm Compiler Version 6.15 Windows 64-bit Released: October 09, 2020 - armasm, armlink - https://developer.arm.com/tools-and-software/embedded/arm-compiler/downloads/version-6

ARM Assembler Reference - https://docs.microsoft.com/en-us/cpp/assembler/arm/arm-assembler-reference?view=msvc-160
Compiler intrinsics and assembly language - https://docs.microsoft.com/en-us/cpp/intrinsics/?view=msvc-160

DebugBSD

Quote from: LiaoMi on November 12, 2020, 09:03:37 AM
FASMARM - https://arm.flatassembler.net/

The ARM Compiler armasm User Guide provides user information for the ARM assembler, armasm. It contains information on command-line options, instruction sets, and assembler directives - https://developer.arm.com/documentation/dui0473/m/preface/about-this-book (PDF - https://documentation-service.arm.com/static/5ea074249931941038de698a?token= )

Download Arm Compiler Version 6.15 Windows 64-bit Released: October 09, 2020 - armasm, armlink - https://developer.arm.com/tools-and-software/embedded/arm-compiler/downloads/version-6

ARM Assembler Reference - https://docs.microsoft.com/en-us/cpp/assembler/arm/arm-assembler-reference?view=msvc-160
Compiler intrinsics and assembly language - https://docs.microsoft.com/en-us/cpp/intrinsics/?view=msvc-160

Thanks for the info!

I didn't know about fasmarm. I'll take a look on it. Do you know if it's possible to use with the Oculus Quest?
Happy Hacking!

mazegen

Beware, FASMARM doesn't support relocations. You can run into problems quickly.

TouEnMasm


The windows sdk offer cppwinrt for arm.Seem to be a compiler (i couldn't test it).
C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\arm\cppwinrt.exe

Fa is a musical note to play with CL

johnsa

Believe it or I had considered this.. I don't think it would ever be possible to integrate ARM support into the existing UASM as the whole assembler from inception was never geared to targeting different back-ends.

I am also in the plans of making a version of UASM for 68k (specifically to support all of the new 080 features, some of which are available in VASM but not all) as well as bringing the UASM/HLL macro style flavour to 68k. I'm working with the Apollo team on the new Amiga FPGA machines, part of which include the 68080 process which is a very exciting CPU.. I always loved 68k coding and it's ISA.

For both of these projects a new assembler needs to be created from the ground-up, possibly one with a modular architecture for targeting different instruction sets and CPUs.

DebugBSD

Quote from: johnsa on December 05, 2020, 05:18:23 AM
Believe it or I had considered this.. I don't think it would ever be possible to integrate ARM support into the existing UASM as the whole assembler from inception was never geared to targeting different back-ends.

I am also in the plans of making a version of UASM for 68k (specifically to support all of the new 080 features, some of which are available in VASM but not all) as well as bringing the UASM/HLL macro style flavour to 68k. I'm working with the Apollo team on the new Amiga FPGA machines, part of which include the 68080 process which is a very exciting CPU.. I always loved 68k coding and it's ISA.

For both of these projects a new assembler needs to be created from the ground-up, possibly one with a modular architecture for targeting different instruction sets and CPUs.

Thank you so much!

I knew that adding support to different kind of architectures could be a hard task to achieve. I've asked about the ARM support just for curiosity. Some times I develop software using the GNU Assembler (and here I have to add that GNU Assembler has support for different kind of architectures althought with different kind of compilations) targeting ARM devices and most of the time I have problems with the AT&T Syntax which is useless today unless you are programming some OLD Motorolla device or maybe an older PowerPC architecture. Today most software is written using Intel Sytnax even for ARM devices. Furthermore, in the next few years we'll see new desktop systems using ARM processors (not just mobile devices or embedded systems) instead of the Intel/AMD processors (See Apple) so that is a plus to UASM.

Thank you so much for your time and sorry for any inconvenience,
Guille
Happy Hacking!