News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests
NB: Posting URL's See here: Posted URL Change

Main Menu

trying to write my own disassembler

Started by Grincheux, January 15, 2016, 03:59:21 PM

Previous topic - Next topic

shankle

So now that Hutch has replied, should I still reply?

dedndave


Grincheux

Thanks, but the datas are incomplete, no data for function 7.
I will analyze hutch datas, because he took some time to send what I request, and I have no Pentium, all AMD.

shankle

This is the only file I got.
Folder "work" is empty.

hutch--

jack,

When you run Phillipe's program, open an assembler binary and you will get a result in the work directory.

shankle


dedndave

Quote from: Grincheux on January 18, 2016, 09:17:28 AM
Thanks, but the datas are incomplete, no data for function 7.

if you look at the later intel data dumps, they do provide function 7 information
(if you looked at earlier processors, they do not)

i did not upload data because i am using an older pentium IV processor

guga

You may want to take a look at this online disassembler

https://www.onlinedisassembler.com/odaweb/Fsu7h0S4/0
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of alcoholic levels in your blood.

My Code Sites:
http://rosasm.freeforums.org
http://winasm.tripod.com

Grincheux

Instruction set

I asked to mysel why add, sud... had opcodes before 80h and after 80h. I found the answer.
I thought that the opcode gave the name of the instruction.
That's wrong.
I knew the two last bits of opcode that give Direction and width.
In fact opcodes are composed of

xxx = Instruction (0 ) special, Or, And, cmp, sub, add,mov 1, mov 2
___xx = registers (AX, CX, DX, BX)
_____xDW

It is a bit complicated but with this articles it is easy (my problem is to understand the true sens of english words)

https://courses.engr.illinois.edu/ece390/books/artofasm/CH03/CH03-3.html

and take a look at this one

http://www.c-jump.com/CIS77/CPU/x86/lecture.html


shankle

I need to ask a question please.

My knowledge of this subject is absolute zero.
I am not interested in disassembling 16-bit or 32-bit code.
I am interested in disassembling 64-bit code.
From my reading so far there should be a large change
from the 32-bit architecture to the 64-bit architecture.
I have found nothing so far that refers to the 64-bit architecture.

Can someone straighten me out on this?

Grincheux

http://www.phrio.biz/mediawiki/Current_project
http://x86.renejeschke.de/
http://developer.amd.com/resources/documentation-articles/developer-guides-manuals/
https://www-ssl.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html

The minimum required to disassemble 64 bits code is to know 32 bits code.

TouEnMasm


************* Can someone straighten me out on this? ***************

dumpbin /DISASM for 32 and 64  bits do that.
This tool is part of the sdk
Here a sample in 64 bits
Fa is a musical note to play with CL