Article by Ayman Alheraki on January 11 2026 10:36 AM
If you’ve recently purchased a laptop powered by the Snapdragon X Elite processor, which operates on ARM64 architecture and runs Windows ARM, you might be eager to try assembly programming on it. This article will guide you through the editors, assemblers, and steps required to write and run assembly code on this platform.
To write and test assembly code, consider using one of these editors:
Visual Studio Code (VS Code):
A lightweight editor with extensive support for various programming languages, including assembly. You can install extensions like ARM Assembly to enhance your experience.
Visual Studio (Community Edition):
A fully integrated development environment (IDE) with robust tools for coding and assembly integration.
Notepad++:
A simple and lightweight text editor, suitable for quick edits but lacks integration with assemblers.
An assembler converts assembly code into executable files. Here are some options:
GNU Assembler (as):
Part of the GCC toolchain, it supports ARM architecture.
Installable via tools like MSYS2 or Cygwin.
Installation Steps:
Download MSYS2 from msys2.org.
Open the MSYS2 terminal and run:
pacman -S mingw-w64-clang-aarch64-toolchainLLVM/Clang (Assembler):
Offers excellent support for ARM64 and is a modern choice.
Compile using the command:
clang -target aarch64 -c example.s -o example.oMicrosoft MASM:
Provides partial support for Windows ARM but isn’t the best fit for ARM64 architecture.
Keil MDK ARM:
A specialized environment for ARM development, ideal for embedded projects.
Install your preferred editor.
Install the chosen assembler.
Here’s a simple "Hello World" program:
.section .datamsg: .asciz "Hello, ARM64 World!\n"
.section .text.global _start
_start: ldr x0, =msg // Load address of message mov x1, #13 // Message length mov x8, #64 // syscall write svc 0 // Call kernel
mov x8, #93 // syscall exit svc 0 // Call kernelUsing GNU Assembler:
as -o hello.o hello.sld -o hello hello.o./helloGodbolt Compiler Explorer:
Displays assembly code generated from C/C++ source. It supports ARM64 testing. (Tool Link)
Experimenting with assembly language on the Snapdragon X Elite processor can be an exciting and educational experience. With the right tools and assemblers, you’ll unlock the full potential of this powerful processor. Don’t hesitate to seek help if you encounter any challenges. Good luck!