9
\$\begingroup\$

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!

Information about ARM

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
    addhi r0,r2,r3,lsr#4
    

    x86 (11 Bytes)

    cmp eax,ebx
    jna skip 
    mov eax,edx
    shr eax,4
    add eax,ecx
    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.

Links

\$\endgroup\$
3
  • 2
    \$\begingroup\$ Does Thumb count? \$\endgroup\$
    – EasyasPi
    Jul 2 at 4:47
  • 3
    \$\begingroup\$ 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! \$\endgroup\$
    – Cody Gray
    Jul 2 at 12:06
  • \$\begingroup\$ @CodyGray Could you fix the x86 example? The original user who nominated ARM is gone now. \$\endgroup\$
    – user
    Jul 8 at 15:40
4
\$\begingroup\$

List of all ARM solutions posted in July 2021


List of all ARM tips posted in July 2021


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>)
    
\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .