In case of 1 byte instruction opcode itself determine length of instruction and its operands.
In case of multybyte instruction mod R/M is 2nd byte that purpose for determining length of instruction and its operands.

My english bad too... I don`t understand "Are there libraries for write assembly instructions on file, in binary mode, or for facilitate assembly building ?" - What thou mean?

If thou were windows user i could answer this question "For example, a library that can write one instruction on binary mode or little block of asm instructions with arguments on fonction ?" (In IDE it is possible to add assembly of instruction or blocks of instructions just from clipboard or throw selection and custom menuitems). But building that in console and in linux environment - for me it is impossible. Partialy because there(here) is not enough examples for teaching programming in fasm for linux.

If you don't make repository for Gentoo, can you allow me to make fasm package for Gentoo ? Don't worry, I would say that you are the author of the script.

From fasm LICENSE.TXT file:

Quote:

The licence and distribution terms for any publically available
version or derivative of this code cannot be changed. i.e. this code
cannot simply be copied and put under another distribution licence
(including the GNU Public Licence).

Yes, you can distribute fasm (source and binary) but fasm is copyrighted software by Tomasz Grysztar, its legal owner and it's not Open Source. If Gentoo only accepts GPL or other Open Source software, fasm may not be accepted as a part of their packages distribution. You might want to consult Gentoo about this issue.

After reading fasm's LICENSE.TXT, this is what I could conclude, if I'm not mistaken. I'm not a lawyer.

Who said about modifying anything? What you quoted applies to almost any open source license. I mean, it's not like you can take a GPL license and change it legally to something else like BSD, why would FASM's license be any different?

It doesn't even say you can't modify the code, only the license itself, which is sane and prevents abuse (the only license that allows to be changed are the "public domain" licenses like WTFPL or w/e it's called).

Anyway, I suggested to use a sed or awk script to modify the source so that another assembler can compile it, if needed -- i.e. only "as needed" temporarily / automatically. Because FASM is self-compiled so you'll need the binary before compiling it, and that's not very Gentoo-like cause it wants to compile all software in its packages.

You can always just use the binary directly though, without any package.

What you quoted applies to almost any open source license. I mean, it's not like you can take a GPL license and change it legally to something else like BSD, why would FASM's license be any different?

Yes, this is more of a "reminder clause", since it is not really needed there to have an effect. And ignoring these added reminders, this is just a 2-clause BSD License, one of the OSI-approved licenses for open source.

FASM can recompile itself. So technically, you can't, without having the binary first.

You could use another assembler to compile it, but you'd have to edit the source with sed scripts or whatever to make it compatible. Not worth the effort IMO.

For the most part, as is obvious to most of us, I can't even pretend to see the point in assembling FASM with something else. I know that's not really what was asked here (misunderstanding), but it's still curious.

Anyways, to me, the simplest way is DOS (not Linux), rebuild an ancient .COM version of FASM, and use that to build later versions and finally newest version. I tested this with 1.40 (.COM), 1.64, and 1.72. While I didn't yet rebuild the .COM with anything else, at least I have found that it's a good place to start. So it's reasonably possible. (Probably not directly useful for Gentoo, but hey, you can rebuild various DOS-compatible environments there, in a pinch.)

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