Author Topic: Support to ARM32/64 Architectures into UASM  (Read 655 times)

DebugBSD

  • Regular Member
  • *
  • Posts: 39
Support to ARM32/64 Architectures into UASM
« on: November 11, 2020, 11:16:12 PM »
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

  • Member
  • *****
  • Posts: 1530
    • EditMasm
Re: Support to ARM32/64 Architectures into UASM
« Reply #1 on: November 12, 2020, 12:21:58 AM »

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

Vortex

  • Member
  • *****
  • Posts: 2481
Re: Support to ARM32/64 Architectures into UASM
« Reply #2 on: November 12, 2020, 02:08:44 AM »
Hi TouEnMasm,

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

DebugBSD

  • Regular Member
  • *
  • Posts: 39
Re: Support to ARM32/64 Architectures into UASM
« Reply #3 on: November 12, 2020, 02:14:27 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

  • Member
  • *****
  • Posts: 1530
    • EditMasm
Re: Support to ARM32/64 Architectures into UASM
« Reply #4 on: November 12, 2020, 04:23:46 AM »

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

  • Member
  • ****
  • Posts: 721
Re: Support to ARM32/64 Architectures into UASM
« Reply #5 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

DebugBSD

  • Regular Member
  • *
  • Posts: 39
Re: Support to ARM32/64 Architectures into UASM
« Reply #6 on: November 14, 2020, 04:28:30 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

  • Regular Member
  • *
  • Posts: 8
Re: Support to ARM32/64 Architectures into UASM
« Reply #7 on: November 17, 2020, 09:03:52 AM »
Beware, FASMARM doesn't support relocations. You can run into problems quickly.

TouEnMasm

  • Member
  • *****
  • Posts: 1530
    • EditMasm
Re: Support to ARM32/64 Architectures into UASM
« Reply #8 on: November 23, 2020, 08:06:26 PM »

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

  • Member
  • ****
  • Posts: 813
    • Uasm
Re: Support to ARM32/64 Architectures into UASM
« Reply #9 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.

DebugBSD

  • Regular Member
  • *
  • Posts: 39
Re: Support to ARM32/64 Architectures into UASM
« Reply #10 on: December 05, 2020, 08:19:16 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!