flat assembler
Message board for the users of flat assembler.
Index
> Main > fasm packaging as a project for the community Goto page Previous 1, 2, 3, 4, 5 Next |
Author |
|
edfed 02 Dec 2007, 01:29
what about a standard asm equ= file?
just like this: Code: include 'c:\asmx86\equates.equ'; ms ;include 'hda1/asmx86/equates' ; unix ;and then start to code org 0 call vesa1024*32 ;it's a far pointer. or a paged pointer ;all function porting depend on the os and the lib used call choosemouse.ps2 push ?? push ?? call stdout invoke printf,esi,?,? ; it's fom the librairy ?? ;etc ... mov esi,[commandline.current] ;this symbol and all above are in equate file jmp debut include 'myfunction.inc' include 'mytable.inc' debut: ;start mov esi,mytable call myfunction cmp [exit],0 ;here exit is a local semaphore? je debut ret ;? how does it work? only for windows, linux, menuet, dexos, msdos, unix etc etc? not only for newbies, by installing fasm on various OSes, we can make a really fast common interface for everyX86 platform, including fasmlib, fasm compilator, fasm functions etc...?? like a RING0 plug in that brings the same asm interface on all systems ?? with regedit, i've add contextual menu items for FASM file type. compile and run, a switch can make run, compile or open, the default leftclic the installer, or fasm, can make this. the big part is to make a complete and simple to use documentation and tutorial. everybody that code in web languages, they need a thing like this to start asm programming. and then, every coder can be attracted by a standard asm multiplatform X86 fast librairy. then, computerX86 world will know peace and freedom. and windows will die FASMOS, it's fabulos! Last edited by edfed on 02 Dec 2007, 02:45; edited 2 times in total |
|||
02 Dec 2007, 01:29 |
|
kohlrak 02 Dec 2007, 01:46
Quote: Another idea is to provide package that will be like you say - only stuff no one can argue with, and ANOTHER package that will be load of useful stuff, like MASM32. Such package may be useful to total newbies, who don't know how to set up env variables, don't know how to use linker, etc... Agreed. 2 seperate packages (main package and beginner package) would be nice. Though it shouldn't be too hard for anyone to begin using the main package, maybe that could simplify things and be more appealing to people like the people afraid of assembly. Thing is though, we still want a package with only the stuff we need. We must remember to keep these seperate and not let one slowly seep to the other because the whole community eventually agrees on a certain code being useful. Even then, we should keep the beginner package simple so the non-beginners can leaf through it so we're not lost when a beginner asks for help. Chances are, a beginner won't be looking for sql macro and things like that so a beginner package would probably be just an interface like printing letters in a simple console or GUI setting. Though, personally, more than anything i think that tutorials using all the mneumonics and examples of where they're useful could help beginners (and also people who avoid learning about things such as interrupts and such because they think they'll just get into a complicated topic for something they'll never even use anyway). Personally, i'm avoiding most of the mneumonics (especially interrupts) because i feel i probably won't find a practnical use for them. We need some of these in fasm, rather than pointing people, using links, to sites with examples for other assemblers. |
|||
02 Dec 2007, 01:46 |
|
LocoDelAssembly 02 Dec 2007, 02:30
About macros, I need more clarification, what is the problem with them? Note that since fasm provides no built-ins for some constructs like PROC nor some facilities to place locally declared variables and values at some selected location all together, I understand that this package MUST provide macros. Also it must contain, apart of a SDK port (perhaps a lite version with the most essential subset and a big package with a full port), tutorials as it was mentioned already.
The packages IMHO MUST NOT be the big package that can support the entire galaxy, separated packages for every OS or OR families must be done and if someone needs to make portable apps then surely it is already skilled enough to download as many packages as needed and merge them all. Of course some lite package can be made around FASMLIB and this one would be the one that support the "entire galaxy", but it should cover only features supported by FASMLIB, no extra attempts to overextend things too much for now. vid, you will work with me on this or I will be the only maintainer for now? PS: edfed, sorry I don't understand your proposal, and what is that "file 'c:\asmx86\equ.equ'", do you know what file directive does? |
|||
02 Dec 2007, 02:30 |
|
edfed 02 Dec 2007, 02:43
sorry, i am tired, i made a very big mistake
include 'c:\....' file is not for that , shame on me.oups... |
|||
02 Dec 2007, 02:43 |
|
vid 02 Dec 2007, 02:44
Quote: About macros, I need more clarification, what is the problem with them? Note that since fasm provides no built-ins for some constructs like PROC nor some facilities to place locally declared variables and values at some selected location all together, I understand that this package MUST provide macros. Also it must contain, apart of a SDK port (perhaps a lite version with the most essential subset and a big package with a full port), tutorials as it was mentioned already. No, I wasn't against providing macros. The point was not to RELY on any macro. Always leave way to use what we provide just with pure assembly. We don't want to enforce usage of macro on anyone - that's the idea. Same decision I did with FASMLIB, and it proved to be good decision. Quote: Of course some lite package can be made around FASMLIB and this one would be the one that support the "entire galaxy", but it should cover only features supported by FASMLIB, no extra attempts to overextend things too much for now. So we agree on some idea of "starters" MASM32-like package, question is how much to include, right? Quote: vid, you will work with me on this or I will be the only maintainer for now? I will for sure work on it (design stuff, writing macros, etc.), but i will not maintain it long term - i am already involved in too much stuff already (job, project with Don, FASMLIB, x86asm.net). |
|||
02 Dec 2007, 02:44 |
|
kohlrak 02 Dec 2007, 12:29
Quote: So we agree on some idea of "starters" MASM32-like package, question is how much to include, right? Well, think of how much you would want a beginner messing with. If you want a beginner sitting there making a full GUI and making computer games and charging moneey for them, then include just about everything under the sun. If you think a beginner should learn how to use assembly and at least the various standard macro before doing all that, make it only a simple print and get. And your beginner isn't going to know a bunch of fancy terms. Chances are, whatever you give them, they are going to take as far as they can. Beginners like to make commercial software off the bat as soon as they got the hello working. It's human nature. Give them some pretty toys and then give them some humble pie. It's like raising a child. |
|||
02 Dec 2007, 12:29 |
|
LocoDelAssembly 03 Dec 2007, 02:56
BTW, summer vacations starts on January here, so I'll will be available to start making the skeleton to be filled with submissions (and stuff from my part as well I hope).
vid, about MASM32, I will check it all among with any other existing assembly-related package to make the skeleton. One of the goals I expect however, is make a skeleton that will be the same for the main targets (Linux and Windows), but obviously both packages will be filled with the corresponding stuff. |
|||
03 Dec 2007, 02:56 |
|
vid 03 Dec 2007, 03:21
Loco: another (ambitious?) thing we need to keep in mind is to provide ability to produce both executables directly and objects, with provided headers. We shouldn't restrict ourselves to executable target only (especially with regard to some coming changes in FASM )
|
|||
03 Dec 2007, 03:21 |
|
LocoDelAssembly 03 Dec 2007, 03:46
I'm not really convinced about such idea, as I said before, if a person is able to do cross-compiling then he/she surely can manage to download both packages and merge them. This implicitly means that the packages will be available in two flavors, installable and compressed-only.
I'm open to the idea anyway, but for now I think this just would make the people download a bigger package with a half that will be used by very few persons. |
|||
03 Dec 2007, 03:46 |
|
vid 03 Dec 2007, 12:09
Two "mergeable" packages are fine with me. Point was to keep at least some option for doing this. And yeah, people who want to write objects usually know something, and can handle installing extra package.
|
|||
03 Dec 2007, 12:09 |
|
Vortex 03 Dec 2007, 20:45
Quantum's MS COFF import library creator should be a nice addition to the package :
MS-COFF import libs in FASM _________________ Code it... That's all... |
|||
03 Dec 2007, 20:45 |
|
shoorick 04 Dec 2007, 05:47
and Import scanner by Vortex is one of MUST-HAVE tools!
|
|||
04 Dec 2007, 05:47 |
|
Picnic 08 Dec 2007, 12:06
I like the idea of 2 seperated packages.
kohlrak wrote: we should keep the beginner package simple.. I agree 100%, fasm's simplicity to install and use must remain the goal, at least for the beginner package. |
|||
08 Dec 2007, 12:06 |
|
vid 08 Dec 2007, 13:23
Quote: I agree 100%, fasm's simplicity to install and use must remain the goal, at least for the beginner package. agree |
|||
08 Dec 2007, 13:23 |
|
kohlrak 08 Dec 2007, 15:28
thimis wrote: I like the idea of 2 seperated packages. Another thing is to give the beginner not enough stuff to become dependent on it. My guess is we woudln't want him becomming dependent on the beginner library for simple file operations either. You want the person to be able to realize they don't really have much to work with but that it's enough to learn. Once they learn, they can move onto using the actual libraries of their platform (whether it be windows, linux, etc). I'm guessing we'll need a basic framework to agree on, so i'll propose one below and we'll have one to build off of. Quote:
|
|||
08 Dec 2007, 15:28 |
|
OzzY 09 Jan 2008, 04:03
I like the idea of Tomasz taking care of FASM core and the community of the headers, macros, tools, etc. This will distribute better the works.
I also agree with kohlrak. FASM package is nice being small. And for maintaining the packages I think Loco and vid are good for the task. I think a good thing would be: * Tomasz make available the FASM core. * The packages maintainers make available the packages. and we write a downloader/installer, that will download and install the FASM core and packages/tools selected by the user. This way the user can install what he needs and if he wants FASM in a floppy, he just needs to carry the needed packages. The installer would be similar to cygwin installer. (I think you already tried it, no?) For example, a user who wants to program for Windows with FASM would select at the installer FASMW, Win32 includes, a Resource Editor, Windows API reference, and it would be installed and downloaded. In the same way packages for DOS, Linux, FreeBSD, and packages like SDL, Allegro, zlib, could be provided too. |
|||
09 Jan 2008, 04:03 |
|
LocoDelAssembly 09 Jan 2008, 04:17
I was thinking these days if provide packages for every suported OS or just one package supporting them all. This Ozzy's idea is interesting since now providing a single big package wouldn't be a concern anymore since the user can select interesting parts only and hence avoiding excesive download times (for dial-up connections).
As for the interface, I think a tree-view would be fine and I think GTK supports such control so Linux/Unix versions could be provided (binary for Linux, object ready to be linked for other unices providing autotools generated scripts*). What do you think? *Depending on community support, if people can provide binaries for other unices those could be hosted too. |
|||
09 Jan 2008, 04:17 |
|
vid 09 Jan 2008, 07:13
I would opt for all-in-one package, with optional parts, but note that result will be a bit more complicated for people to understand. Anyway, it's best for maintainability, and probably will cause least trouble to install properly, and will definitively be easiest to make modular.
so, something like following would do fine Code: /bin ;tools ... ? /doc ;interesting documentation / articles we gather... ? /inc ;includes /common ;any platform /common32 ;any 32bit platform (proc macros, etc /common64 /win ;common equates for win32 and win64 /win32 ;prototypes, structures for 32 bit /win64 ;prototypes, structures for 64 bit /linux ;common equates for linux32 and linux64 /linux32 ;prototypes, structures for 32 bit /linux64 ;prototypes, structures for 64 bit /fasmlib ; /lib ;if we want statical library support too /win32 /win64 /linux32 /linux64 /fasmlib /examples /win32 /win64 /linux32 /linux64 /fasmlib Note that "libc" and other standard libs will be in according OS's files, because implementations differ anyway. Support for statical linking / libraries is questionable, as it seems i am only one who wants it, but i think it is very important to support / demonstrate this option too. At least for mixing Asm with other languages, most common case of real-world usage of assembly. Of course more libraries can be added in a manner similar to FASMLIB, i remember there was some nice FASM regexp library, etc... So... what do you think? |
|||
09 Jan 2008, 07:13 |
|
Madis731 09 Jan 2008, 09:41
Preamble:
I stumbled on some ERROR_MORE_DATA message that I couldn't figure out. I finally found it to be 234 from a WinError.h file for C. I tried the easy way - handicraft but it was over ½MB. So I tried SciTE and its great RegEx Find&Replace !!! The stuff: Here you go. The FASM error equations' file.
|
|||||||||||
09 Jan 2008, 09:41 |
|
Goto page Previous 1, 2, 3, 4, 5 Next < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.