2

I have been learning High Level Assembly (HLA) via the book Art of Assembly, which is meant to use high level language constructs to introduce concepts of assembly language.

The problem is while I seem to understand quite a lot of what is in the book the book contains no exercises or problems. Where then can I find a collection of problems suited to assembly language?

Evan Carroll
  • 78,363
  • 46
  • 261
  • 468
Sonny Ordell
  • 334
  • 2
  • 20
  • 59

2 Answers2

3

There appears to be a version of AoAL available at the following URL that does include laboratory exercises:

http://webster.cs.ucr.edu/AoA/DOS/pdf/0_AoAPDF.html

Otherwise, google around and look at the various university courses. Virtually every university CS program has an assembly language class. Often, these classes will have websites that include the actual homework assigned for that class, and sometimes, they'll even have solutions. If they do not have solutions posted, you can probably just email the professor and he'll probably send them to you.

squawknull
  • 5,131
  • 2
  • 17
  • 27
  • I saw that version, but it isn't terribly useful to me as a) it's for the 16 bit version and b) it assumes familiarity with a higher level language like C++, which I don't really have. – Sonny Ordell Oct 17 '11 at 16:08
  • 2
    Familiarity with at least BASIC if not C would be first on my list of things to learn before playing with assembler. – Michael Dorgan Oct 17 '11 at 23:07
  • 1
    @MichaelDorgan: I disagree. No knowledge of any other language will help in learning an assembly language. This is a myth. – 龚元程 Oct 18 '11 at 01:28
  • 1
    Then we agree to disagree. I'd rather have a higher level language (with a higher level debugger) then have to puzzle through the crap most assemblers kick out on error. Also, having for/while/do/if instead of compare/jmp makes it plain easier to learn basic programming concepts. Yes, they are all gotos at the bottom level, but why learn "bad" habits early if you don't need to? I could go on, but I think we agree to disagree here. – Michael Dorgan Oct 18 '11 at 04:40
  • 1
    Note that currently the provided link is dead. – macfij Nov 17 '14 at 22:01
  • could you update the link as it is offline atm! Thank you – knoxgon Dec 27 '16 at 00:55
-1

You can look at someone's else ASM code or even binaries (you can use IDA for this). Tiny old viruses usually were written to take as little space as possible, so there are many nonstandard uses of instructions and of coding styles.

ruslik
  • 14,714
  • 1
  • 39
  • 40