Total Pageviews

Monday, April 4, 2011

The plight of ASM in 8088 architecture

I've always been on the outside looking in when it came to ASM on an IBM compatible.
On an 6502, I can program it in ASM like you wouldn't believe. I'm a whiz, or at least I know enough to be able to read and write and modify code.
On 8088 (meaning 80686 now..), I've only just a few months ago begun to understand a few more ASM concepts. Mike Chambers has been doing an 8086/80186 Fake86 emulator, and talking a bit to him has made me a bit braver and a bit wiser on just the simple hows and whys.

Yesterday I was even typing in actual opcode names in DEBUG to get the HEX values back out.
Not writing code mind you, just finding out which OPCODE went with which machine code.

I guess what really grinds my gears, is the fact that I can't ever seem to find a piece of paper that has the 8086 (yes I mean simply the 8086 & or 8088) opcodes, listed, and then how many operands they use per operation mode, so I could sit there and write machine code (HEX values to plug into a QBasic program natively) by hand with a pencil.
I'd try just writing in DEBUG, but how do you take a script in ASM written for MASM or TASM and then dumb it down and strip it of the markings, so that DEBUG accepts it??
I don't know what legal syntax DEBUG has for entering ASM, I mean the exact grammer you need to use, so I can successfully translate some MASM ASM scripts into plain vanilla assembly language

MOV AX,0000

type instructions. I hang up when I get to jump points which are labels

JUMPPOINT;

and don't know how to replace those with the proper OPCODE and the jump vector in the HEX right after.



~Kiyote!

No comments:

Post a Comment