The history of calling conventions, part 5: amd64

The last architecture I’m going to cover in this series is the AMD64 architecture (also known as x86-64). The AMD64 takes the traditional x86 and expands the registers to 64 bits, naming them rax, rbx, etc. It also adds eight more general purpose registers, named simply R8 through R15. The first four parameters to a…


If you know Swedish, the world is funnier

As I was driving through Seattle the other day, I saw a sign for a personal storage company called “Stor-More”. I then had to laugh because in Swedish, “Stor-Mor” means “Big Momma”. It’s not restricted to Swedish. On my trip to Germany last year, my travelling companions found several German signs amusing: “Ausfahrt” (“highway exit”)…


The history of calling conventions, part 4: ia64

The ia-64 architecture (Itanium) and the AMD64 architecture (AMD64) are comparatively new, so it is unlikely that many of you have had to deal with their calling conventions, but I include them in this series because, who knows, you may end up buying one someday. Intel provides the Intel® Itanium® Architecture Software Developer’s Manual which…


“Friends” is so trendsetting

The characters on the television program “Friends” are apparently trendsetters in the use of the word “so”. [People with way too much time on their hands] spent a year going through transcripts from each episode of the first eight seasons of Friends, taking note of every single adjective… [T]he show’s popularity peaked at the same…


Why can’t I GetProcAddress a function I dllexport’ed?

The dllexport attribute tells the linker to generate an export table entry for the specified function. This export entry is decorated. This is necessary to support dllexporting of overloaded functions. But it also means that the string you pass to GetProcAddress needs to be decorated. As we learned earlier, the decoration scheme varies from architecture…


What’s old is new again… well it’s still old

The wonderful people who ran, as a parting gift, migrated all the old content into this blog. They’re awesome, aren’t they?


Is there an exclusionary rule in Sweden?

According to Friday’s Klartext (note: link valid only for one week, then it gets overwritten by the next Friday’s Klartext), Vi ska börjar klartext med berätta att en åklagare nu ska undersöka om fler än två hundra poliser i Sverige har brutit mot lagen. Poliserna letade rätt på information om mordet på politikern Anna Lindh…


Why do member functions need to be “static” to be used as a callback?

As we learned yesterday, nonstatic member functions take a secret “this” parameter, which makes them incompatible with the function signature required by Win32 callbacks. Fortunately, nearly all callbacks provide some way of providing context. You can shove the “this” pointer into the context so you can reconstruct the source object. Here’s an example: class SomeClass…


Ten-year-old + Microsoft Flight Simulator = terrorist

Apparently a ten-year-old who put Microsoft Flight Simulator on his Christmas wish-list became the subject of a terrorism investigation. (Warning: I suspect that link will go stale in a week, so read it while you still can.) As always, The Register puts a snarky spin on the story.


It’s called “proofreading”, give it a shot why don’t you

Like everybody else, I was checking out the new MSN home page and I clicked over to the tour. And right there as their top headline in the sample web page, it says, “Wierd items of the future”. Ahem. It’s spelled w-e-i-r-d. And on all of the MSN properties, like local city guides, you can…