x86asm.net
Message board for the users of x86asm.net
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

X86 Opcode and Instruction Reference, 1.00 - 1.11

 
Post new topic   This topic is locked: you cannot edit posts or make replies.    x86asm.net Forum Index -> Discussion on Projects
View previous topic :: View next topic  
Author Message
MazeGen
Site Admin


Joined: 05 Sep 2007
Posts: 98
Location: .cz

PostPosted: Sat Oct 18, 2008 9:46 pm    Post subject: X86 Opcode and Instruction Reference, 1.00 - 1.11 Reply with quote

Let's discuss X86 Opcode and Instruction Reference project.

Massive update of this revision include addition of SSE, SSE2, SSE3 and SSSE3 instructions, and editions sorted by mnemonic:

coder32-abc
coder64-abc
coder-abc

geek32-abc
geek64-abc
geek-abc


The Store was improved, prices discounted.

Quote:
This reference is intended to be precise opcode and instruction set reference (including x86-64). Its principal aim is exact definition of instruction parameters and attributes.


Last edited by MazeGen on Thu Jan 28, 2010 8:34 am; edited 2 times in total
Back to top
View user's profile Send private message Send e-mail Visit poster's website
MazeGen
Site Admin


Joined: 05 Sep 2007
Posts: 98
Location: .cz

PostPosted: Wed Dec 17, 2008 4:53 pm    Post subject: New revision 1.01 Reply with quote

New revision 1.01 is out. Mostly a bugfix release. Complete list is here:

http://ref.x86asm.net/#rev_history
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Mikae
Guest





PostPosted: Tue Jan 13, 2009 1:11 pm    Post subject: EM64T Reply with quote

Hello, I'm trying to use your opcodes table (XML version) in my disassembler. I almost done a table generator, but I've found that coding of some instructions marked with F64 in Intel Manual is inconvenient.
For example, instruction 'call Ev' (marked as F64) is expressed in two entries:
Code:
<pri_opcd>
      <entry>
        <opcd_ext>2</opcd_ext>
        <syntax><mnem>CALL</mnem><dst><a>E</a><t>v</t></dst></syntax>
        <grp1>gen</grp1><grp2>branch</grp2>
                        <grp2>stack</grp2>
        <note>&call;</note>
      </entry>
</pri_opcd>
<pri_opcd>
      <entry>
        <opcd_ext>2</opcd_ext>
        <proc_start>10</proc_start>
        <syntax><mnem>CALL</mnem><dst><a>E</a><t>q</t></dst></syntax>
        <grp1>gen</grp1><grp2>branch</grp2>
                        <grp2>stack</grp2>
        <note>&call;</note>
      </entry>
</pri_opcd>

From your manual 'v' means:
Quote:
Word or doubleword, depending on operand-size attribute (for example, INC (40), PUSH (50)).

And 'q' is:
Quote:
Quadword, regardless of operand-size attribute (for example, CALL (FF /2)).
From this information I can not determine real size of operand. From the point of view of disassemb
Code:
ler the code is very simple:
if (mode == DISASSEMBLE_MODE_64)
    size = 8;
else
    size = get_operand_size_16_32(prefixes);

Are you going to deal with this? May be it is a good idea to add 'vfq' size qualifier? (Yes, I understand that the two entries differs with 'proc_start' attribute, but I've changed your XML a little, merging different entries for the same opcode, for easier parsing. Or, may be you have another version of XML?)

--
Thanking In Advance,
Mikae.
Back to top
MazeGen
Site Admin


Joined: 05 Sep 2007
Posts: 98
Location: .cz

PostPosted: Tue Jan 13, 2009 1:42 pm    Post subject: Reply with quote

Hello Mikae,

it is great that you're trying use the XML in your disassembler.

The thing is that the XML is "biarchitectural". Most of the entries are usable for both x86-32 and x86-64. However, The FF/2 CALL opcode is described using two entries. The latter entry has mode='e' attribute value which means that it applies exclusively to 64-bit mode. The former entry applies to real mode and all protected modes.

Anyway, the whole thing is more complicated. I offer you a deal: if you send me your transformations which work with the XML reference (what you should do, according to the license), I will give you access to the Benefits, which contain helper XSL transformations, which can come in handy for you, and also contrain "Writing a Disassembler Using X86 Opcode and Instruction Reference" article which can help you understand the XML significantly.

My e-mail is mazegen@gmail.com.

Last thing is that you don't seem to use the latest version, which is 1.01. It is available for public download on the homepage.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Mikae
Guest





PostPosted: Tue Jan 13, 2009 2:12 pm    Post subject: Reply with quote

Hello, MazeGen.

I've sent you my XMLs.
Back to top
MazeGen
Site Admin


Joined: 05 Sep 2007
Posts: 98
Location: .cz

PostPosted: Thu Aug 20, 2009 7:42 am    Post subject: 1.10 is out Reply with quote

New revision 1.10 is out.

All SSE4, VMX and SMX instructions added, along with those few new general and system instructions. This makes the reference up-to-date with current Intel processors.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
MazeGen
Site Admin


Joined: 05 Sep 2007
Posts: 98
Location: .cz

PostPosted: Thu Jan 28, 2010 8:33 am    Post subject: 1.11 is out Reply with quote

Revision 1.11 is out. Mostly a bugfix release. Complete list is here:

http://ref.x86asm.net/#rev_history
Back to top
View user's profile Send private message Send e-mail Visit poster's website
MazeGen
Site Admin


Joined: 05 Sep 2007
Posts: 98
Location: .cz

PostPosted: Wed Jul 28, 2010 9:27 am    Post subject: spam Reply with quote

Temporarily closed due to huge amount of spam.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:   
Post new topic   This topic is locked: you cannot edit posts or make replies.    x86asm.net Forum Index -> Discussion on Projects All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group