Im getting bored, so i wanna make a dos app in hex. What i need is to find out what are the hex equivlents to the instructions.
Printable View
Im getting bored, so i wanna make a dos app in hex. What i need is to find out what are the hex equivlents to the instructions.
I know this message is late, but....
Do a search on the internet for "Art of Assembly"
You then goto the website that has it and download all of the PDF files. You can then print that BAD BOY up and you will have everything you need to know about assembly language.. :) You will need it in order to convert all of the CPU instructions to BIN format (HEX Equivalent) ;)
Enjoy...
I already have that printed out. And knowing the assembly language is only half of hex editing.
Ok, good. Now look in Apendix - D. In it you will see the HEX (BINARY) equivalents to each Assembly command.. :) I am making a compiler myself, and let me tell you, I couldn't have gotten this far without that section. You will NOT be able to find it anywhere else. ALSO, if you still don't get it, then use NASM to compile EACH code seperatly to see what it does and how it reacts.
For example:
make an test.asm file with this in it ----> mov ah,ah The end result will be something like 88C0 in HEX (I beleive that is correct.)
You can view each BIN file in a hex editor. Make sure you type nasmw test.asm and the result file will be test. You then view test in a hex editor.
Do this for EACH command and you will see the HEX equivalent for each. :) I did.. Took a LOT of work, but i'm now able to make my own compiled programs. ;)
Oh ok, i was printing each chapter as i got to it and i havent got to the appendixes yet. Well, know i have the hex codes from an intel manuel. The problem now is that i dont understand how to use them. This is how they are presented...
The /r is defined as follows...Code:MOV - Move
Opcode Instruction desciption
88 /r MOV r/m8,r8 Move r8 into r/m8
I have no idea what that means. Could you give me a quick example of the mov ins?Code:Indicates that the ModR/M bytes of the instruction contains both a register operand and an r/m operand.
Like
in hex.Code:mov ax, bx
Thanks.