Learning ARM assembly with visUAL

Learning assembly is very important if you want to get a grasp of how a computer truly works under the hood. VisUAL is a very capable ARM emulator for those interested in learning the ARM assembly.

The GUI: A simply program to ADD two numbers

In addition to supporting a large subset of ARM instructions, the CPU is emulated via a series of elaborate and instructive animations that help visualise the flow of data to/from registers, any changes made to flags, and any branches taken. It also packs very useful animations to help grasp some of the more tricky instruction such as shifts and stack manipulations.

As it is was designed specifically to be used as teaching tool at Imperial College London, the GUI is very friendly, all the syntax errors are highlighted, and an example of the correct syntax is also shown.

Branch visualisation, credits: VisUAL homepage

You can also do the usual things you would expect from any emulator, such as single step through execution, set breakpoints, and view data in different bases. It even warns you of any possible infinite loops!

That being said, lugging such an extravagant GUI comes at a price; programs that consume a few hundred thousand cycles hog far too much RAM should be run in the supported headless mode.

 

13 thoughts on “Learning ARM assembly with visUAL

  1. “Learning assembly is very important if you want to get a grasp of how a computer truly works under the hood. VisUAL is a very capable ARM emulator for those interested in learning the ARM assembly.”

    I imagine two different but related goals. Learning assembly, and learning ARM assembly. Former has plenty of simulators on Steam, among other places.. Later is the story article.

    1. Do the simulators on Steam require payment? Do the simulators on Steam require entering an agreement with Valve Corporation?

      Also, which simulators on Steam are you talking about? Is TS-100 really comparable to this?

      1. I’ve been playing around with one called human resource machine on my phone (also available on steam). It’s my first exposure to assembly and it’s basically a math puzzle. I always enjoyed sudoku, and this is just as fun.

    1. Yes that period of time was not good if you were starting put. I was lucky, got started in the 80’s when the computers came with a full listing of the CPU’s instruction set and a full memory map in the included manual. :)

    2. Yep. Back then I could not even get a good resource to learn out of my HS computer science teacher. I shouldn’t have expected much though, he was like most college professors are today, just there to collect a paycheck.

    3. But everything was much more simple back than. You could memorize the instruction set and the encoding. The current CPUs are just to complicated for this (Intel Software Developers Reference Manual, combined nearly 5000 pages long).

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.