ASM Projects

Programming, for all ages and all languages.
Post Reply
roodee

ASM Projects

Post by roodee »

I've read through Assembly Step-By-Step and am browsing Paul Carter's online book, but I feel like I don't have a good handle on ASM or computer architecture. I understand the basics. Do I just need more practice? On that note, both these ASM resources are great, but they don't really give me ideas to learn. As I am new, I'm not sure what I should jump out and do that would help me learn, be interesting and be a challenge. Any ideas would be appreciated.
Brian_Provinciano

Re:ASM Projects

Post by Brian_Provinciano »

Take a peek around for source code and modify it to get the feel. You should be able to find good space invaders ASM sources for DOS.
lacrymology

Re:ASM Projects

Post by lacrymology »

Write code... that always helps me to learn languages.
The Pro from Dover

Re:ASM Projects

Post by The Pro from Dover »

If you want some simple objects to work on to improve you skill with, you might try writing versions of some common basic utilities, such as cat(1), more(1), wc(1), etc., or any other tool that doesn't use any system-specific operations. A quick look through the man(1) page index and/or a list of MS-DOS commands should give you quite a few things to try; this is a fairly good way to practice in any language, actually. I wouldn't expect to outdo the existing versions, but you should be able to write decent versions of several of them fairly easily.

Also, try all the classic 'example' programs: I assume you've already done a 'Hello, World!', but there are always the '99 Bottles of Beer' program, or a ROT13 translator (see the ROT13 polyglot page for examples). In some other languages, I might suggest writing a quine (a program that prints out its own source code), but in assembly that would probably be a rather frustrating task. I might add that I'm thinking of setting up a polyglot page of my own, with a hex dump as the target; others I think would be useful would be a dc(1) style RPN calculator, and a simple calendar-printing program, all of which are also good practice programs to try.

If your feeling ambitious, a simple line editor might be interesting - though that's hardly trivial in any langauge. If your really ambitious, you could write a sort of mini-disassembler, but that's probably more than you want to tackle any time soon.

Or you could pop on over to the OS dev forum and try your hand at writing a boot loader ;) Good luck.
anubis

Re:ASM Projects

Post by anubis »

The Pro from Dover wrote: Or you could pop on over to the OS dev forum and try your hand at writing a boot loader
Thats a good way to star( I learned it that way) ;D.
I hated assembly when it was taught in college, but liked it lots when i had the fancy idea of writing my own OS.
Post Reply