Sunday, October 8, 2006

Look out for the bugman

I ran across this while trying to use teh 'webs to verify that my impression of Intel assembler syntax was correct at work a few days ago: (zomg teh gnus).

What really stands out here is the last part in the "Writing 16-bit code" section. "So you can write code that runs on 16-bit processors, but only if that code never references memory." And this is basically what I love about GNU. Not only do they call their assembler "gas", but they tell you in the documentation how to get it to generate code for 16-bit processors even though you couldn't possibly write a real program that way. EDIT: I was just thinking about this and realized you could push and pop off the stack given these restrictions. And you could still do port IO! But even if you're writing for a machine where all your devices use port IO, I don't think that you could call subroutines or branch. I could look it up, but I don't feel like it.

So when RedHat and Tivo have to fork GNU in a few years after the GPL v3 fiasco, you know which version I'm going to be using. I wouldn't read too much into that... but stuff like this just brings me joy.

No comments: