

ARM Assembly Language Programming - chipsy
http://www.arm.com/miscPDFs/9658.pdf

======
petewarden
Since other people are reminiscing about ARM:

\- It was the first language I wrote real programs in, back in the late 80's
on the Acorn Archimedes desktop machines it was originally built for. The A in
ARM originally stood for Acorn, not Advanced.

\- Writing ARM demos I was always jealous of the Amiga's blitter, but then I
discovered STMIA could store multiple registers pretty darn fast.

\- I chose to go to Manchester University purely because Steve Furber, one of
the chip's designers, would be a lecturer on my course.

\- He spent weeks taking us through diagrams of the x86's instruction decode
hardware. I was convinced that any processor that had to expend so much of its
silicon just decoding instructions was doomed, not my best insight.

\- The instructions' simplicity did make it easy to build low-power versions
however, hence its ubiquity in mobile devices. Steve seemed as surprised by
this as anyone, it definitely didn't seem like a design goal at the start.

\- His main research project was a clockless version of the ARM chip, with
asynchronous logic, called Amulet, really interesting technology that never
caught on: <http://en.wikipedia.org/wiki/AMULET_microprocessor>

\- ARM is the only British-born computer technology company I can think of
that achieved lasting international success. I'd welcome any other examples.

~~~
bumblebird
>> "He spent weeks taking us through diagrams of the x86's instruction decode
hardware. I was convinced that any processor that had to expend so much of its
silicon just decoding instructions was doomed, not my best insight."

I haven't found figures, but I'd be willing to bet there's far more ARM
devices in the world than x86. x86 didn't die, but it's not in the same league
as ARM in terms of success.

Agreed though, the x86 is an absolute dog mainly because of the backward
compatibility. Tacking on 32 bit instructions with prefixes, It's a mess.

~~~
mru
ARM core sales are measured in billions per year.

------
bensummers
I have a particular fondness for ARM assembly. It's a beautiful instruction
set, with a minimal elegance and internal consistency.

My only experience of a "normal job" was between school and university,
writing import/export filters for a DTP application written entirely in ARM
assembly. It was quite a year.

If you want to get into ARM assembly, this is the original and best:

<http://www.peter-cockerell.net/aalp/>

I still have one of the original paper copies. 1987 was a long time ago, but
the legacy of those heady years is still strong.

------
miles
The PDF is password protected, restricting copy/paste and print functions.

The old ColorSync trick (
<http://www.macosxhints.com/article.php?story=200512231728165> ) has long been
disabled by Apple, but the link offers some other ideas for OS X (including
GhostScript).

Freeware PDF Unlocker for Windows (which includes and uses GhostScript) proved
effective at removing the restrictions (though bookmarks are broken in the
process): <http://hotshare.net/file/106490-50163782f0.html>

------
yason
Thanks, this seems like a nice book.

As it happens, I've been learning ARM assembly in the recent weeks; just for
fun so far. I've mostly used some instruction set references or ARM
cheatsheets I found on the web.

Having written mostly m68k assembly before (well, 6502 too...) I knew a bit
how to read ARM assembly but I wanted to learn it throughoutly and gain such
insight into the instruction set that can only be achieved by writing non-
trivial programs with it. Before that I wanted to learn x86 assembly but I
soon gathered I'll have better use for my time than that.

I like ARM instruction set quite a lot: it's nicely coherent, has nicely
orthogonal features (such as conditional instructions), and doesn't seem to be
ridden with despicable backwards-compatibility hacks like x86 assembly.

I like that for once something as good as this has significant marketshare in
mobile cpus. Just wondering if they could gradually creep into the market for
desktop cpus as well.

~~~
prodigal_erik
> Just wondering if they could gradually creep into the market for desktop
> cpus as well.

Much like I was hoping that PPC would dethrone IA-32 back in the day (I think
Linux, OS/2, and NT were all just about ready to support it) but it seems
economies of scale are everything.

I'd buy an ARM and a desktop motherboard just to mess around with, but I've
literally never seen a local screwdriver shop that carried them even for smoke
tests. I guess they're doing fine without hobbyists.

~~~
Avshalom
The Beagle Board is probably the closest thing there is to a desktop MB that
uses the Cortex chips.

------
RiderOfGiraffes
I've been using ARM assembly language since the early 1990s. It's a beautiful
instruction set, far nicer than the 8080 and Z80 I started with (and which can
still be seen in the x86 line) and the m68k line I contracted for.

I've built robots with and compilers for Z80s, and programmed embedded m68k
for food, but it was the ARM family that I remember with particular fondness.
Every instruction being conditional, clean registers, orthogonal instructions.
Simply fun to program.

------
eworoshow
I became interested in ARM assembly after reading the x86 assembly Forth
tutorial that was recently posted on HN. Lacking an ARM processor, though, I'm
wondering what emulation options are available? I'm looking for a dead-simple
setup that will let me test and run whatever toy ARM assembly programs I
write.

~~~
miles
Free ARM Emulators <http://www.thefreecountry.com/emulators/arm.shtml>

~~~
eworoshow
Any specific recommendations from that set? I was looking at Qemu earlier but
I'm curious to hear from HN folks who have had experience with these
emulators.

~~~
miles
Check out the Amiga emulator UAE - it's been ported to virtually everything
(Linux, OS X, Windows, DOS, BeOS, Palm OS, and much more, including AmigaOS!)
and is under active development (WINUAE, anyway):

<http://www.thefreecountry.com/emulators/amiga.shtml>
<http://en.wikipedia.org/wiki/UAE_(emulator)>

~~~
lmz
From the webpage it seems that UAE emulates the m68k, not the ARM processor.

------
ZeroGravitas
Why does it say [scribd] in the Hacker News title?

~~~
daeken
PDF links automatically give a scribd link after the original.

~~~
ZeroGravitas
Okay, then there's two issues here:

1\. Adding something in square brackets after a title looks like a format hint
(e.g. [pdf]) and not a seperate, clickable link

2\. With Safari (Mac and iPhone) the second link just gives me the PDF file on
the arm.com site. Is scridb unsupported on these platforms? Is its purpose
purely adding a redirect? What value does this add?

------
chipsy
A nicely documented overview and introduction.

------
TheEarlyShow
[pdf]

~~~
obvioustroll
Isn't that true of everything that comes from scribd?

~~~
RiderOfGiraffes
It doesn't come from scribd. scribd automatically scrape every PDF they find
and put it on their site. They do this without considering that many of the
PDFs have copyright notices, and require the copyright holder to pay a lawyer
to issue a formal C&D before they do anything about it.

I think what they do is reprehensible and I think they're scum. I don't know
why the powers that be at HN automatically add the link to scribd.

~~~
daeken
Google does the same thing, but no one ever speaks up about that.
Realistically speaking, if you don't want your content to be scraped by such
services, put it behind a login page. We as content owners need to stop
fighting against technology; it's not a battle that can (or should, really) be
won.

~~~
RiderOfGiraffes
Google provides search so people can find your site, and then sends people to
your site.

Scribd do neither - they appear to take your content, put it on their own
site, and provide nothing in return.

I, as a content owner, expect that a copyright notice should be respected, and
I don't expect to have to track down every copy and sue the plagarists and
thieves. I've certainly stopped providing PDF references to HN because they
aid and abet such theft.

I'm not averse to technology, and I freely provide much of my written material
for free, on my sites. I just expect to have people come to my sites to read
them, and not have parasites like scribd steal the material without remorse or
recompense.

~~~
daeken
Google also gives you a link to view it on their site. The only difference
between Google's PDF viewer and Scribd's is that most people don't link to a
Google PDF page.

~~~
aaronblohowiak
No, this goes beyond indexing, referral, and reformatting. This is copyright
infringement, plain and simple; Scribd monetizes your content by showing ads
on the same page!

