flat assembler
Message board for the users of flat assembler.

Index > Main > Undocumented Instruction Mnemonics

Author
Thread Post new topic Reply to topic
pal



Joined: 26 Aug 2008
Posts: 227
pal 15 Oct 2009, 22:59
Hey I am customizing SciTE and I am making an autocomplete with all of the instruction mnemonics I can find. I so far have all of the ones that are in the Intel manuals that are relevant to today's computers (i.e. no AVX, AES etc.).

I was wondering what instruction mnemonics are not in the manuals. I recall MazeGen saying that there are some not in there, one specifically being set* but I cannot remember the condition.

Any ideas on what undocumented instructions there are?

Cheers, pal.

P.S. I will post my properties files on request if someone wants them Smile


Last edited by pal on 16 Oct 2009, 19:34; edited 1 time in total
Post 15 Oct 2009, 22:59
View user's profile Send private message Reply with quote
edfed



Joined: 20 Feb 2006
Posts: 4354
Location: Now
edfed 15 Oct 2009, 23:11
by memory, i remember theses instructions to be undocumented:
Code:
burncpu (system instruction)
crashdisk dest (output instruction)
fishin dest,scr (misc instruction)
troll dest,scr (string instruction)
geek dest,scr (assign instruction)
win98 (french instruction to optimise football, obsolete)
inop (nop from interrupts)
    
Post 15 Oct 2009, 23:11
View user's profile Send private message Visit poster's website Reply with quote
LocoDelAssembly
Your code has a bug


Joined: 06 May 2005
Posts: 4624
Location: Argentina
LocoDelAssembly 15 Oct 2009, 23:16
salc, loadall, are the ones that come quick to my mind.

I suggest you to give a look at TABLES.INC from fasm's sources, starting from label instructions_2. Make sure to skip things that are not CPU instructions like 'if', though.
Post 15 Oct 2009, 23:16
View user's profile Send private message Reply with quote
pete



Joined: 20 Apr 2009
Posts: 110
pete 16 Oct 2009, 06:05
Aha, thanks for the info about the undocumented instructions, edfed. "burncpu" and "crashdisk" will save me a lot of physical work in the future.
Post 16 Oct 2009, 06:05
View user's profile Send private message Reply with quote
pal



Joined: 26 Aug 2008
Posts: 227
pal 16 Oct 2009, 13:07
Cheers Loco. From the tables.inc file I found lots of instruction mnemonics that are not documented, I was surprised there were that many! I'll post up my list when I am done Smile

edfed: Pointless.
Post 16 Oct 2009, 13:07
View user's profile Send private message Reply with quote
MazeGen



Joined: 06 Oct 2003
Posts: 977
Location: Czechoslovakia
MazeGen 16 Oct 2009, 13:15
As for Intel undocumented instructions, download http://ref.x86asm.net/x86reference.xml and search for doc="u". If it won't be clear from the XML, try to find the same entry in http://ref.x86asm.net/geek.html
Post 16 Oct 2009, 13:15
View user's profile Send private message Visit poster's website Reply with quote
Borsuc



Joined: 29 Dec 2005
Posts: 2465
Location: Bucharest, Romania
Borsuc 16 Oct 2009, 15:34
edfed wrote:
by memory, i remember theses instructions to be undocumented:
Code:
burncpu (system instruction)
crashdisk dest (output instruction)
fishin dest,scr (misc instruction)
troll dest,scr (string instruction)
geek dest,scr (assign instruction)
win98 (french instruction to optimise football, obsolete)
inop (nop from interrupts)
    
you forgot
Code:
bsod imm  (immediate operand for error code)    
Laughing

_________________
Previously known as The_Grey_Beast
Post 16 Oct 2009, 15:34
View user's profile Send private message Reply with quote
pal



Joined: 26 Aug 2008
Posts: 227
pal 16 Oct 2009, 17:59
MazeGen: Cheers, I found a few on there I didn't have.

In reference to one such as:

Code:
fcom2
fcomp3
fxch4
fcomp5
fxch7
fstp8
fstp9
fstp1 
    


Are they all just alias' for their counter parts (i.e. fstp* -> fstp)? As I cannot assembly the instructions.

I also didn't realise there was an ffreep mnemonic, I could have really used that in the past few days, I have been using ffree and fincstp. Although I am surprised you have to specify a FPR for it, rather than it no doing st0 as it also pops the stack.
Post 16 Oct 2009, 17:59
View user's profile Send private message Reply with quote
MazeGen



Joined: 06 Oct 2003
Posts: 977
Location: Czechoslovakia
MazeGen 18 Oct 2009, 14:36
Except for fstp1, they are just aliases. Most (if not all) assemblers don't support them because they are not documented since 80287 (and they never had mnemonics; the mnemonics were "invented").
Post 18 Oct 2009, 14:36
View user's profile Send private message Visit poster's website Reply with quote
kohlrak



Joined: 21 Jul 2006
Posts: 1421
Location: Uncle Sam's Pad
kohlrak 19 Oct 2009, 00:03
what's fstp9 do? There's no st9 that i know of...
Post 19 Oct 2009, 00:03
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger Reply with quote
MazeGen



Joined: 06 Oct 2003
Posts: 977
Location: Czechoslovakia
MazeGen 19 Oct 2009, 06:33
ftstp9 is just a (suggested) mnemonic like fld1, the number has nothing to do with operands.
Post 19 Oct 2009, 06:33
View user's profile Send private message Visit poster's website Reply with quote
kohlrak



Joined: 21 Jul 2006
Posts: 1421
Location: Uncle Sam's Pad
kohlrak 19 Oct 2009, 11:08
What's it suggesting?
Post 19 Oct 2009, 11:08
View user's profile Send private message Visit poster's website AIM Address Yahoo Messenger MSN Messenger Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20486
Location: In your JS exploiting you and your system
revolution 19 Oct 2009, 11:44
It is a suggested mnemonic for the sequence of bytes portrayed by fstp9.

I don't know who first suggested it but it seems that no one else has suggested another mnemonic for that byte sequence so it will probably stick (that is, until Intel say otherwise and suggest a different mnemonic).
Post 19 Oct 2009, 11:44
View user's profile Send private message Visit poster's website Reply with quote
MazeGen



Joined: 06 Oct 2003
Posts: 977
Location: Czechoslovakia
MazeGen 19 Oct 2009, 12:30
The numbers came from i287 manual:
Code:
D9   1101  1001   1101   1REG                         (1)
The marked encodings are not generated by the language translators. If,
however, the 80287 encounters one of these encodings in the instruction
stream, it will execute it as follows: FSTP ST(i)
    

The mnemonic is FSTP1 because Intel marked this encoding using (1).

And this was de facto standardized by www.sandpile.org later.
Post 19 Oct 2009, 12:30
View user's profile Send private message Visit poster's website Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot 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 cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.

Website powered by rwasa.