Text
"Low-level assembly has its uses, but damn if it isn't a pain in the ass."
Totally agree. I have no idea why someone would want to reverse push arguments onto the stack and then call a procedure when invoke exists and is a one liner with parameter checking. I've used MASM32 for years.
The only time I drop back to label jumps and such is when building something that scans byte by byte (like a lodsb type scan). It's easier to see what's going on with the labels and easier to debug since the disassembly maps pretty much one to one.