flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
Ali.Z
fasm1:
missing UD0 UD1, but it have UD2. according to intel's manual ud0 and ud1 were mentioned as well as their opcodes. _________________ Asm For Wise Humans |
|||
![]() |
|
Tomasz Grysztar
Here's an old thread about it: https://board.flatassembler.net/topic.php?t=4069
|
|||
![]() |
|
Ali.Z
thanks for the info.
i noticed fasm have some undocumented instructions as well, is UMOV really replaced? _________________ Asm For Wise Humans |
|||
![]() |
|
Tomasz Grysztar
As mentioned in the thread I linked, I had not been implementing instructions of third parties (non-Intel) other than AMD into fasm.
Also, currently available macro sets for fasmg include only Intel instruction sets (not even AMD-specific ones like 3DNow! or XOP). However, they include some undocumented instructions not implemented in fasm, like XBTS/IBTS in 80386.INC. The difference between instructions like XBTS/IBTS and ones like SALC is that the former were available only on 80386, while SALC continues to be supported by later CPUs, including modern ones. With fasmg you can select a later core using a header like P5.INC and then XBTS/IBTS become unavailable. Nonetheless, with all instruction sets for fasmg being implemented simply in form of macros, it should be relatively easy for anyone to write additional ones for instruction specific to x86 variations from other vendors. You may find implementation of SCALL instruction of C&T Super386 CPU as a demonstration. This is also something I might discuss in one of my streams - perhaps I could implement an few instruction encoders live. |
|||
![]() |
|
Tomasz Grysztar
Ali.A wrote: going off topic little bit: |
|||
![]() |
|
ProMiNick
in continue to offtopic:
processing of all instruction is in ASSEMBLE.INC (X86_64.INC and AVX.INC too).not in tables.inc. tables.inc holds only pointers for processing handlers. of course macroprocessing is slower than built in processing, because built in processing operates on in memory binary structures, but macros emulate such process operating only on text representation of such structures. Dumping all instructions in one file isn`t enought. Coder should know not only specifics of current architecture but internal structure of flatassembler itself. Look at revolution work - there not only table of ARM instruction set, but much much work over it (from processing excluded sizing operators, prefixes, segmentation ... added to proccessing masked execution suffixes to instructions, instruction optimization there varied from cpu model(instruction set allowed) and so on ...), In case of fasmg coder not needed to know fasmg internal architecture and able to realize any instruction set via macros. And it is not faster (but it is much simpler to end programer realize new architecture). |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
Website powered by rwasa.