Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
Education Hub
Education Hub
Arm Education A modern way to learn the Arm Assembly Language
  • Arm Education
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
  • New
Education Hub requires membership for participation - click to join
More blogs in Education Hub
  • Arm Education

Tags
  • Academics
  • AArch64
  • IDEs and Tool Suites
  • Arm Assembly Language (ASM)
  • Computer Architecture
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

A modern way to learn the Arm Assembly Language

Kieran Hejmadi
Kieran Hejmadi
January 31, 2025

Computer architecture is a fundamental concept that nearly all computer science and electronic engineering students encounter at undergraduate level. Understanding the low-level concepts of registers, SIMD processing and dynamic scheduling provides students with insights into writing performant high-level source code. Additionally, the ubiquity of Arm-based systems within teaching, for example the Raspberry Pi, makes reading and writing Arm assembly a common entry point in undergraduate teaching.  

Assembly uses human-readable mnemonics which are concise descriptions of machine instructions. Assembly lacks abstraction, making reading and understanding assembly cryptic and non-intuitive for the first time. Nowadays, students expect augmented functionality,for example, code completion, to be available in a manner similar to higher-level languages like Python. However, this has not been the case so far. As many students can attest, the lack of these features makes learning assembly challenging.  

One of the common challenges students face when reading or writing assembly language is the need to constantly cross-reference technical reference manuals. This can be time-consuming and frustrating, especially for beginners who are still getting familiar with the syntax and structure of assembly code.  

This is where the Arm Language Server comes into play, offering a modern solution to a foundational concept.  

ArmLS (AArch64 Language Server) provides a suite of modern code editor features for AArch64 Assembly, including in-editor diagnostics and on-hover documentation. 

 ArmLS (AArch64 Language Server) provides a suite of modern code editor features for AArch64 Assembly, including in-editor diagnostics and on-hover documentation.

Professors benefit from ArmLS by using it as a teaching tool to demonstrate best practices and efficient coding techniques in Assembly language. The tool is compatible with various editors. Meaning that it can be easily integrated into existing curriculums and coding environments, making it a versatile addition to any computer science program. 

The Arm Language Server addresses this issue by providing real-time feedback and guidance as students write their code. For example, when a student is unsure about the correct syntax for a specific instruction, the Arm Language Server can offer suggestions. Eliminating the need to look up information in a manual. 

Moreover, the Arm Language Server supports the latest advancements in the Arm architecture, for example Armv9-A features. Ensuring students are learning on a platform that is relevant to modern computing and prepares them for the cutting-edge technologies they will meet in the industry.  

By leveraging the Arm Language Server, educators can provide their students with a robust and engaging learning experience. This tool not only simplifies the complexities of assembly language but also equips students with the skills they need to thrive in the ever-evolving tech industry.  

The assembly language server can be installed within a few minutes. Either a visual studio code extension or through any Integrated Development Environment (IDE) of your choice that implements the Language Server Protocol. See the following link for more details 

Embrace the future of computer architecture education with the Arm Language Server and prepare your students for success.

Arm Language Server GitHub

Anonymous
Arm Education
  • A lifelong circular model of education: from cradle to cradle

    Khaled Benkrid
    Khaled Benkrid
    Discover how Arm Education is shaping cradle-to-cradle learning in tech, enabling flexible, lifelong pathways in AI, SoC, and embedded systems.
    • April 25, 2025
  • A modern way to learn the Arm Assembly Language

    Kieran Hejmadi
    Kieran Hejmadi
    Elevate your Arm Assembly learning experience with the cutting-edge Arm Language Server. Learn more in this blog post.
    • January 31, 2025
  • Anglia Ruskin University: Ultra-flexible learning powers efforts to plug industry skills gaps

    Robert Iannello
    Robert Iannello
    ARU and Arm Education launched an online PG Cert in Embedded Computing, addressing skills gaps in AI and IoT through flexible, industry-focused learning.
    • December 12, 2024