I'm half way through reading Len Dorfman's "Object Oriented Assembly Language". It's a fun read - very old. The guy doesn't quite understand OO, but he does a good job of applying what he does know to Assembly Language.
In that sense, it's really fun to see another take on OO and to see it applied to something you normally wouldn't consider applying OO too. His code is simpler, that's for sure, but it's simpler in the same way that writing C is simpler than writing Assembly.
I have two really fun quotes from the book:
"OOPS defenders rebound and note that in a world on precipice of throngs of 8 meg 33 Mz 386 screamers, program size and execution speed no longer matter."
and:
"SAMPLE1.EXE links to 523 bytes. Before you gasp that the program is as large as it is, keep in mind that the EXE header size is 512 bytes at its smallest. If you take 512 bytes from 523 bytes you get 11 bytes, which is certainly a reasonable size for the code in the code segment."
Heh, I love it. It's amazing how the same arguments still apply - just scaled up, say, 100x for CPU and 256x for memory.