# Language of the Month for July 2021: ARM

In accordance with our meta agreement, since one candidate received more votes than the others, we have a new featured language! Throughout July 2021, our Language of the Month will be:

# ARM

## What's a Language of the Month?

See the meta post for nominations. In short, during July, those who wish to participate should learn (at least the basics of) ARM, and use it to solve challenges. Participation is completely optional, but is anticipated to be fun!

ARM is probably the most successful architecture for the digital world. From mobile phones to supercomputers, ARM is everywhere!

As of 2013 more than 10 billion ARMs were shipped, as compared to 0.3 billion 80x86s. -- ISSBF

• ARM has a much better design than e.g. x86. It involves a lot less concepts, making it more beginner-friendly.
• ARM has a very low learning curve. Due to its RISC nature, ARM has less than 100 highly generalized assembler directives that perform tasks in a very compact way.
• To some extent, it makes ARM easier to learn than its competitors.
• The RISC architecture also makes programs faster to execute, since it takes less time on decoding the instruction opcodes.
• The ARM instruction set is very compact.
• Most instructions allow for conditional execution. This saves instruction cycles since no conditional jumps are necessary around conditional blocks.
• ARM also has the barrel shifter (which means that you can perform bitshifts to some value before using it).

The following shows an example:

ARM (8 Bytes)

cmp   r0,r1


x86 (11 Bytes)

cmp eax,ebx
jna skip
mov eax,edx
shr eax,4
skip:


## Bounty

hyper-neutrino will be providing a 50-reputation bounty for any user's first answer in ARM during this month. Tips and ARM-related challenges (that are actually connected to ARM's core mechanisms and don't just mention them or implement some one feature) may be rewarded a bounty at hyper-neutrino's discretion.

• Does Thumb count? – EasyasPi Jul 2 at 4:47
• Oof. Talk about a biased comparison... No self-respecting x86 assembly language programmer would write the code like that when trying to optimize for size! – Cody Gray Jul 2 at 12:06
• @CodyGray Could you fix the x86 example? The original user who nominated ARM is gone now. – user Jul 8 at 15:40

# List of all ARM solutions posted in July 2021

• add entries in the form:

[<challenge title>](https://codegolf.stackexchange.com/a/<answer-ID>) by [username](https://codegolf.stackexchange.com/users/<user-ID>)


# List of all ARM tips posted in July 2021

• add entries in the form:

  [<tip title>](https://codegolf.stackexchange.com/a/<answer-ID>) by [username](https://codegolf.stackexchange.com/users/<user-ID>)


# List of ARM-related challenges posted in July 2021

• add entries in the form:

  [<challenge title>](https://codegolf.stackexchange.com/q/<question-ID>) by [username](https://codegolf.stackexchange.com/users/<user-ID>)