Welcome, Guest. Please login or register.

Author Topic: How is ARM processor assembler?  (Read 1390 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline freqmaxTopic starter

  • Hero Member
  • *****
  • Join Date: Mar 2006
  • Posts: 2179
    • Show only replies by freqmax
How is ARM processor assembler?
« on: April 11, 2014, 06:53:00 AM »
Many here has some experience with m68k and the orthogonally instruction set etc. So I wonder for those that got experience on ARM too. How "nice" is it to deal with?
 

Offline zombi

  • Full Member
  • ***
  • Join Date: Nov 2005
  • Posts: 123
    • Show only replies by zombi
    • http://www.webdefteri.com
Re: How is ARM processor assembler?
« Reply #1 on: April 11, 2014, 07:20:57 AM »
ARM is a famous RISC CPU. This brings simpler instruction set. And it is easier to learn.

There are some common ideas and implementations in 6502 CPU, and RISK CPU's. If you know 6502 (or 6510) it will speed up the thinks.
Only Amiga Makes It Possible!
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12114
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: How is ARM processor assembler?
« Reply #2 on: April 11, 2014, 08:53:45 AM »
Quote from: freqmax;762332
Many here has some experience with m68k and the orthogonally instruction set etc. So I wonder for those that got experience on ARM too. How "nice" is it to deal with?
The ARM instruction set... Or I should say the AArch32, is fascinating. It would have to put it next to MIPS for beauty, and next to the 68k for practicality! You need to check out things like the conditional instruction prefix (basically a way to retire an instruction deep in the pipeline for free) and that you can get some shifts for free, no to mention the banked registers for ultra low latency interrupt handling, to see how awesome it is!

It's actually a shame the Commodore engineers didn't put the original ARM2 in the Amiga*.

Aarch64 on the other hand is a much darker beast, not designed to be looked upon with human eyes, but does seem to be an amazingly well designed instruction set.


*Total fantasy on my part, since the ARM2 (the first practical ARM chip), wasn't ready until about '87 and there is no way the Hi Torro team could have known about it let alone secured samples/supply, or would they have wanted to risk (excuse the pun) their design on such a chip. Plus, using an ARM would have required twice as much memory in the Amiga then it originally shipped with, something cost sensitive Commodore would have freaked out about.

Offline commodorejohn

  • Hero Member
  • *****
  • Join Date: Mar 2010
  • Posts: 3165
    • Show only replies by commodorejohn
    • http://www.commodorejohn.com
Re: How is ARM processor assembler?
« Reply #3 on: April 11, 2014, 12:32:16 PM »
It's fairly elegant, although it has some annoyances (for instance, as on most RISC architectures, you can't load a register with an immediate value the size of the machine word - ARM makes you do it a byte at a time.) Still, some of its nice features (like the built-in barrel-shifter that can be applied to any operand) are astonishingly good.
Computers: Amiga 1200, DEC VAXStation 4000/60, DEC MicroPDP-11/73
Synthesizers: Roland JX-10/MT-32/D-10, Oberheim Matrix-6, Yamaha DX7/FB-01, Korg MS-20 Mini, Ensoniq Mirage/SQ-80, Sequential Circuits Prophet-600, Hohner String Performer

"\'Legacy code\' often differs from its suggested alternative by actually working and scaling." - Bjarne Stroustrup
 

Offline psxphill

Re: How is ARM processor assembler?
« Reply #4 on: April 11, 2014, 12:59:31 PM »
Quote from: zombi;762334
ARM is a famous RISC CPU. This brings simpler instruction set. And it is easier to learn.
 
There are some common ideas and implementations in 6502 CPU, and RISK CPU's. If you know 6502 (or 6510) it will speed up the thinks.

The people who designed it did love the 6502, although I'm not sure it helps much. People say the 6502 and 68000 are risc-like, but they are not not. I would put the arm in the same category.
 
MIPS R3000 is definitely RISC, it's my personal favourite but delay slots make it hard to get your head around if you've used CISC before.
 

Offline danbeaver

Re: How is ARM processor assembler?
« Reply #5 on: April 11, 2014, 03:14:29 PM »
@CommodoreJohn

Oddly, the 6502/6510 instruction set is really very close the the PDP 11's.
 

Offline commodorejohn

  • Hero Member
  • *****
  • Join Date: Mar 2010
  • Posts: 3165
    • Show only replies by commodorejohn
    • http://www.commodorejohn.com
Re: How is ARM processor assembler?
« Reply #6 on: April 11, 2014, 03:20:10 PM »
The 6502? Not hardly - it's an accumulator-oriented architecture with special-purpose registers where the 11 has a large (for the time) set of entirely orthogonal registers (you can even do math on the program counter!) The 68000 owes a good deal to the 11, but the 6502 owes more to the PDP-8 (even down to the "zero page" mode.)
« Last Edit: April 11, 2014, 03:22:43 PM by commodorejohn »
Computers: Amiga 1200, DEC VAXStation 4000/60, DEC MicroPDP-11/73
Synthesizers: Roland JX-10/MT-32/D-10, Oberheim Matrix-6, Yamaha DX7/FB-01, Korg MS-20 Mini, Ensoniq Mirage/SQ-80, Sequential Circuits Prophet-600, Hohner String Performer

"\'Legacy code\' often differs from its suggested alternative by actually working and scaling." - Bjarne Stroustrup
 

Offline danbeaver

Re: How is ARM processor assembler?
« Reply #7 on: April 11, 2014, 04:14:33 PM »
Having programmed both in assembly, I seen a lot of similarities.  Granted the PDP 11/40 is a mini and the 6502 is a micro with fewer options.  The 11/40 had only 64kb and the 11/60 had paged 128kb..