Linux Format logo

OK, I relent

After posting that I have no intention of making a special magazine on assembly, someone posted a comment containing some assembly source code, followed by the message "You should see Hello world! printed to the screen. Congratulations! You have just written your first assembly program in Linux and irritated the great Hudzilla at the same time!"

Clearly I had vastly under-estimated the interest in such a magazine; Mike seems certain that it'd sell well enough for Future to be interested in doing it. So, I think it's only right of me to gracefully U Turn and give it a try.

Learn Linux Assembly

 

And if you believe that, you'll believe anything. To re-iterate: we're not going to print a magazine on assembly language programming. Ever. Ever ever ever.

No, you can't have a pony.


Your comments

I for one thought that the

I for one thought that the assembly language special magazine was a good idea. I really liked Mike's tutorial on it in the previous coding special magazine, and I want to learn more. Oh well, it looks like I will have to go elsewhere for that.

By the way, how do I register for a user name here? I got one at TuxRadar, does that count? If so, how do I login here?

Hee hee

Loved your "cover" Hudzilla!!
As to your question....is nasm better then sex?
The simple answer....NOP.

I hate you.

I hate you.

Pity

I would have enjoyed that, even if assembly isn't very cross-platform. Back when I was really into programming, assembly floated my boat pretty dang well. BC, HL, IX, I, how I miss you guys... (extra geek points for anyone who can name the processor!)

If you won't push an assembly issue onto the shelf, how about going to the other extreme and taking us through the modern variants of BASIC? :o)

Basic for linux

Not a bad idea that, a few articles on Basic.
Nothing better to instill some confidence and adventure to a novice.

I remember starting off with Basic in the days of the Sinclair ZX spectrum and the SpectraVideo SV28 that's how I got into this whole programming malarkey.

Guess the Processor

C'mon Pastyeater, too easy!
The good old Z80.
I started off with the 8051 then onto the 8088 then finally onto the x86 family.

Infact I still use the 89C51 processor from Atmel for many embedded projects.

Well okay, maybe not a

Well okay, maybe not a magazine but I'm sure a few tutorials or a series wouldn't be too outlandish. The trouble is "Hello World" is one thing, but doing something useful with assembly is a bit harder to frame a good tutorial with, l33tness only goes so far. So I can see why you might be avoiding this one.

Hello World

Absolutely, "hello world" examples are no good to man or beast but how about examples like writting to files or even better to the parallel port to switch on and off little lights.

Most people I demonstrate this to really get a kick out of it, and the best part it's really simple to do.

Just think of the possibilities if we combine this with a web server like Apache then run a perl script to invoke our parallel port app and presto, hardware control via a web page.

This is what I do a lot of on an industrial scale to monitor real world parameters.

Can't think of another language more suited to this than assembler.
Here's a simple example using NASM (once compiled must be in root to run)

mov eax,101 ; ioperm system call
mov ebx, 888 ; address of LPT port
mov ecx, 1 ; number of subsequent ports
mov edx, 1 ; 1 to activate or 0 to deactivate
int 80h ; call the kernel

mov dx, 888 ; port address again
mov al, 255 ; switch on all 8 bits of the port
out dx, al ; do it

And there you have it, with 8 lines of code you have complete control.
Hard to beat for simplicity except perhaps with C, but then the executable file would be much larger.

And....

Oh I forgot, if you had to code the same app using C, it would also be slower.



Web hosting by UKFast