Usage of Redundant 8086 Opcodes

This is a follow-up to last week’s post, which discussed the fact that fully 30% of the 8086 processor’s 1-byte opcode space is given over to redundant opcodes (i.e. short forms of longer, more general opcodes). Today, I want to look, in a quick-and-dirty way, at how useful those opcodes might have been in practice. From at least one narrow perspective on a particular dataset, the vast majority of them seem to have been pretty worthless.

Continue reading

Posted in Reverse Engineering | Comments Off

Mac OSX Tip

A useful little tidbit from a friend of a friend:

Hiding a CLI-only user account in Mac OS X 10.5 Leopard

Posted in UNIX | Comments Off

Python Puzzle

Pedram Amini has got a pretty neat post up on reverse engineering the protocol for a USB device. If you haven’t seen it yet (it was linked from Slashdot) it’s worth reading. However, he includes some Python code which features a puzzling (to me, anyway) idiom, which took me a while to figure out.

Continue reading

Posted in Python, Reverse Engineering | Comments Off

Posted Without Comment

While shopping at REI, I overheard the following exchange between two employees:

Gal: You were in a frat!?
Guy: Oh yeah, I’ve done it all….

Posted in Jack Handy | Comments Off

President’s Day

Editorial Note: As I’m traveling this week, the posts will be a bit shorter than usual. Hopefully, they’ll still prove somewhat diverting.

Today is not “President’s Day” in the United States. Today is, technically, Washington’s Birthday, i.e. a holiday named in honor of the first President of the United States, George Washington. Washington deserves special honor not as the first President, nor for his service in the Revolutionary War, but for laying down power when his countrymen would have made him a king.

However, today please consider a lesser-known, lesser-appreciated, and indeed lesser (though still great) President: Calvin Coolidge.

Posted in Jack Handy | Comments Off

“Stimulus” Postmortem

The U.S. Congress recently passed a large debt and spending plan ostensibly intended to “stimulate” the U.S. economy. Let’s take a look at the final vote, and the political implications thereof.

Continue reading

Posted in Jack Handy | Comments Off

Valentine’s Day

Having a day devoted to romantic love is like having a day devoted to winning. Everyone knows it’s good, it’s celebrated constantly, and it’s really its own reward.

All that said, I hope you have a good one. Thanks for reading.

Posted in Jack Handy | Comments Off

8086 Opcode Redundancies

Looking over the opcode map for the 8086 processor, I was struck by the seemingly large number of redundant opcodes. I decided to determine exactly how many were redundant, and I was surprised to find that just over 30% of the available 1-byte opcode space was assigned to redundant, short-form opcodes. While I’m sure Intel had good reasons to burn these opcodes at the time (most likely related to code size or performance), the scale of the waste gives some indication of just how surprised Intel must have been to see this instruction set architecture live on for 31 years (and counting).

Continue reading

Posted in Reverse Engineering | Comments Off

Bad Timing

You’ve got to feel bad for the folks behind the new movie “The International”. (Pretty decent Ebert review available here.) It seems promising, sporting Clive Owen, Naomi Watts, and Armin Mueller-Stahl, each of whom is fun to watch, and directed by Tom Tykwer, of “Run, Lola, Run” fame. Unfortunately, I think it will be hard to watch without giggling.

Continue reading

Posted in Jack Handy | Comments Off

Inaction

From Calvin Coolidge:

If you see ten troubles coming down the road, you can be sure that nine will run into the ditch before they reach you.

… and from Lawrence of Arabia:

Colonel Brighton: Look, sir, we can’t just do nothing.
General Allenby: Why not? It’s usually best.

Posted in Jack Handy | Comments Off