News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

Microsoft ARM Macro Assembler (armasm64)

Started by lucho, January 04, 2025, 04:26:02 AM

Previous topic - Next topic

lucho

As you know, Microsoft ported the Windows operating system to ARM64. They've created a new ARM macro assembler which has similar command-line options to the ARM (ex-Keil) assembler and uses most of its directives with some differences but nonetheless it's not the same, as it's reference states:

QuoteThe armasm assembler that the ARM Developer website describes isn't the same as the Microsoft armasm assembler that's included in Visual Studio and is documented in this section.

If you run just "armasm64", it outputs the following:

Quote
Microsoft (R) ARM Macro Assembler Version 14.39.33521.0 for 64 bits
Copyright (C) Microsoft Corporation.  All rights reserved.

 Usage:      armasm [<options>] sourcefile objectfile
             armasm [<options>] -o objectfile sourcefile
             armasm -h              for help

<options>:            (Upper case shows allowable abbreviation)
  -Errors     errorsfile       redirect stderr diagnostics to errorsfile
  -I          dir[;dir]        add dirs to include search path
  -PreDefine  directive        pre-execute a SET{L,A,S} directive
  -NOWarn                      turn off warning messages
  -ignore <warning-num>        don't report warning-num
  -help                        help (this information)
  -via <file>                  read further arguments from <file>
  -machine <machine>           set the PE machine type field
  -g                           generate debugging info
  -gh:SHA1                     use SHA1 for file checksum in debug info
  -gh:SHA_256                  use SHA256 for file checksum in debug info (default)
  -funcOverride:<func>         emit function overriding support for <func>
  -errorReport:<option>        deprecated. Report internal assembler errors to Microsoft
      none - do not send report
      prompt - prompt to immediately send report
      queue - at next admin logon, prompt to send report (default)
      send - send report automatically

<machine>:  ARM64 | ARM64EC

TimoVJL

May the source be with you

lucho

Thanks! I think that of all ARM64-based computers by Acer, Apple, Asus, Dell, HP, Lenovo, Microsoft, Samsung, etc, Apple Silicon Macs are the most popular. Alas, Boot Camp, which allowed Windows installation on the Intel-based Macs, isn't available for Apple Silicon Macs. But Windows can still be installed there – on a virtual machine running at native speed – via the now free VMware Fusion. Here's an article (text + images + video) showing how to do that in 39 (!) steps:

https://9to5mac.com/2024/08/24/how-to-install-windows-11-arm-apple-silicon-mac-free-vmware-fusion-13-pro-video/

Vortex

Hi lucho,

Talking about armasm64, how is the situation of the high level constructs \ HLL of this assembler? As you know, ml64 does not offer a built-in invoke macro.