flat assembler
Message board for the users of flat assembler.
Index
> Compiler Internals > Assembly Instruction Set |
Author |
|
Matrix 01 Nov 2004, 03:32
Hello,
nice, but i dk if Privalov likes your post, because the topic said: Here you can ask questions about the fasm source code, report bugs, submit modifications. |
|||
01 Nov 2004, 03:32 |
|
vbVeryBeginner 01 Nov 2004, 10:44
hi, matrix
yup, i've been thinking about this too before i posted this coz i find no suitable group for it. in the General group, perhaps only the Main group suitable for this, but the description reads General discussion about fasm i posted it in Compiler Internals coz i think this information is a must read for those who wanna build an assembler or compiler. one question is, why it reads compiler internals and not assembler internal? and fasm is flat assembler not flat compiler? |
|||
01 Nov 2004, 10:44 |
|
scientica 01 Nov 2004, 11:13
I just saw teh "ASCII Image", and I wonder aren't you missing the first (optional) byte?, or maybe it's just me confusing things, but doesn't the 8086 have prefixes? (or this a feature of it's decendants, 80[23]86?)
|
|||
01 Nov 2004, 11:13 |
|
Matrix 01 Nov 2004, 11:34
vbVeryBeginner wrote: hi, matrix COMPILER IS A COMPILER, AN ASSEMBLER CAN COMPILE TOO |
|||
01 Nov 2004, 11:34 |
|
Vortex 01 Nov 2004, 16:37
No, an assembler doesn't compile, it's assembles.
_________________ Code it... That's all... |
|||
01 Nov 2004, 16:37 |
|
vbVeryBeginner 01 Nov 2004, 17:04
it is soooo damn hard to ascii image here,
|
|||
01 Nov 2004, 17:04 |
|
vbVeryBeginner 01 Nov 2004, 17:07
scientica wrote: I just saw teh "ASCII Image", and I wonder aren't you missing the first (optional) byte?, or maybe it's just me confusing things, but doesn't the 8086 have prefixes? (or this a feature of it's decendants, 80[23]86?) first optional byte? care to tell me more, coz i just translated the image from book. |
|||
01 Nov 2004, 17:07 |
|
roticv 01 Nov 2004, 17:20
Prefix... stuff like 67h, 66h etc etc
|
|||
01 Nov 2004, 17:20 |
|
vbVeryBeginner 01 Nov 2004, 23:21
i just got this from the Intel 386 manual
Code: +---------------+---------------+---------------+---------------+ | INSTRUCTION | ADDRESS- | OPERAND- | SEGMENT | | PREFIX | SIZE PREFIX | SIZE PREFIX | OVERRIDE | +---------------+---------------+---------------+---------------+ | 0 OR 1 0 OR 1 0 OR 1 0 OR 1 | +---------------------------------------------------------------+ | NUMBER OF BYTES | +---------------------------------------------------------------+ +----------+-----------+-------+------------------+-------------+ | OPCODE | MODR/M | SIB | DISPLACEMENT | IMMEDIATE | | | | | | | +----------+-----------+-------+------------------+-------------+ | 1 OR 2 0 OR 1 0 OR 1 0,1,2 OR 4 0,1,2 OR 4 | +---------------------------------------------------------------+ | NUMBER OF BYTES | +---------------------------------------------------------------+ scientica wrote:
i am confuse already, coz the book i read didn't have the stuff like instruction prefix maybe old x86 don't have those prefixes |
|||
01 Nov 2004, 23:21 |
|
S.T.A.S. 02 Nov 2004, 05:49
You might want to take a look at Opcodes Book by The Svin. (79.23 kb, rar archive)
|
|||
02 Nov 2004, 05:49 |
|
roticv 02 Nov 2004, 06:45
Actually to say the truth, I learnt opcode from reading The Svin's tutorial. The original tutorial was posted on the win32asmcommunity board...
I am not very sure about 8086 instruction set, but please enlighten me on whether segment override is present in 8086. If it exist, that means the prefix must have existed in 8086. |
|||
02 Nov 2004, 06:45 |
|
S.T.A.S. 02 Nov 2004, 07:47
Yeah, The Svin's tutorial is very nice, the link above contains topics from win32asmcommunity collected in one doc file. (may be it's also available for download from somewhere else, I don't know..)
|
|||
02 Nov 2004, 07:47 |
|
vbVeryBeginner 02 Nov 2004, 14:53
this is from the svin .doc file
Introduction to opcode logical blocks there are 6 logical blocks that might be used in opcode. Important thing is not only names and meaning of them, but also the order of them. Here they are: 1.Prefixes 2.Code 3.byte mod r/m 4.byte sib 5.offset in command 6.imm. operand. Not necessarily all of them are used. But one block is used always it is block 2 -> CODE. |
|||
02 Nov 2004, 14:53 |
|
MazeGen 05 Nov 2004, 19:55
roticv wrote: I am not very sure about 8086 instruction set, but please enlighten me on whether segment override is present in 8086. If it exist, that means the prefix must have existed in 8086. The following prefixes are in 8086 valid: REP/REPcc LOCK Segment override, except FS: and GS: (they are 386+) ______________________________________________ BTW, according to official references, there are also 3-byte opcodes... |
|||
05 Nov 2004, 19:55 |
|
simpaticool 03 Feb 2005, 08:10
Hi!
My name is Teo, aka as Simpaticool (SIMPle And TIny COdes On Line) Now I'm going to create an OS. And I was wondering if I can make an asm language for it. But I didn't know how does asm intructions look in HEX. This tutorial is a good, a very good idea. Thanks! |
|||
03 Feb 2005, 08:10 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.