flat assembler
Message board for the users of flat assembler.

Index > Projects and Ideas > [Idea]FASM Adjuster

Author
Thread Post new topic Reply to topic
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 09 May 2006, 10:21
How about some tool that will automatically adjust FASM's source and recompile, to ease using of add-ons, like Listing, Saving result of preprocessing, GNU compatible output etc...
Post 09 May 2006, 10:21
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
Borsuc



Joined: 29 Dec 2005
Posts: 2465
Location: Bucharest, Romania
Borsuc 13 May 2006, 12:29
sorry to be so confused... but I'm not really familiar with the things you said. Can you be more specific (for me, pls?). thanks Smile
Post 13 May 2006, 12:29
View user's profile Send private message Reply with quote
dead_body



Joined: 21 Sep 2005
Posts: 187
Location: Ukraine,Kharkov
dead_body 13 May 2006, 18:25
please more info.
Post 13 May 2006, 18:25
View user's profile Send private message Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3175
Location: Denmark
f0dder 13 May 2006, 18:28
Why not, instead, take the necessary time and support that functionality based on commandline switches?
Post 13 May 2006, 18:28
View user's profile Send private message Visit poster's website Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 14 May 2006, 18:22
I want tool that will allow you to make customized version of FASM compiler. Many people use extensions like listing, saving of result of preprocessing, and some people alter FASM to suit them (change default values, allow "org ebx", custom directives, GNU-compatible output...).

All this has to be done by hand. This tool will prompt user which changes he wants to apply, change sources for him (best inside memory, sources will remain same) and recompile FASM.

hope it's clear now. Any ideas what more should it do are welcomed, or opinions on this idea are welcomed.
Post 14 May 2006, 18:22
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
revolution
When all else fails, read the source


Joined: 24 Aug 2004
Posts: 20459
Location: In your JS exploiting you and your system
revolution 15 Jun 2006, 13:05
The idea is good vid. When will you have a first release ready for posting?
Post 15 Jun 2006, 13:05
View user's profile Send private message Visit poster's website Reply with quote
vid
Verbosity in development


Joined: 05 Sep 2003
Posts: 7105
Location: Slovakia
vid 15 Jun 2006, 13:10
hahaha

well, it may be boost for doing fasmlib, making second real fasmlib project, but unfortunately i am not familiar with fasm's internals enough to do this.

also it will need lot of testing whther all combinations of tweaks work togehter
Post 15 Jun 2006, 13:10
View user's profile Send private message Visit poster's website AIM Address MSN Messenger ICQ Number Reply with quote
yumka



Joined: 09 Feb 2007
Posts: 38
Location: Tenochtitlan
yumka 20 Feb 2007, 03:40
Code:
@echo off
@cls
:1024,2048,4096,8192,16384,32768,65536,131072,262144,524288,1048576
@set m=131072
@set p=100
@set d=c:\radasm\fasm
@set f=fasm
@set a=%f% -m%m% -p%p%
@set b=%d%\bin
@set s=%d%\source
@set include=%d%\inc
@set fasminc=%include%
@set path=%b%;%hla%\bin;%path%

@echo.
@echo -- ------------------------------------------------------------------------
@echo -----------------------  Flat Assembler  Makefile  -----------------------
@echo --------------------------------------------------------------------------
@echo.

@cd %s%\win32
@echo Assembling Win32 Console ...
%f% %f%.asm > nul
%f% %f%.asm %b%\%f%.exe
@if errorlevel = 1  goto error
@echo.
@echo Assembling Win32 Console (Preprocessor) ...
%f% %f%p.asm %b%\%f%p.exe
@if errorlevel = 1  goto error
@echo.
@echo Assembling Win32 Console (Listing) ...
%f% %f%l.asm %b%\%f%l.exe
@if errorlevel = 1  goto error
del %f%.exe
@echo.

@echo Assembling Win32 DLL ...
@cd %s%\dll
%a% %f%.asm %b%\%f%.dll
@if errorlevel = 1  goto error
@echo.
@echo Assembling Win32 DLL (Tester)...
%a% asmdemo.asm %b%\test\%f%dll.exe
@if errorlevel = 1  goto error
@echo.

@echo Assembling Win32 GUI ...
@cd %s%\ide\%f%w
%a% %f%w.asm %b%\%f%w.exe
@if errorlevel = 1  goto error
@echo.
@echo Assembling AsmEdit DLL ...
%a% asmedit.asm %b%\asmedit.dll
@if errorlevel = 1  goto error
@echo.

@echo Assembling DOS32 Console...
@cd %s%\dos
%a% %f%.asm %b%\%f%d.exe
@if errorlevel = 1  goto error
@echo.
@echo Assembling DOS32 Console (Listing) ...
%a% %f%l.asm %b%\%f%dl.exe
@if errorlevel = 1  goto error
@echo.

@echo Assembling DOS32 GUI ...
@cd %s%\ide\%f%d
%a% %f%d.asm %b%\%f%dg.exe
@if errorlevel = 1  goto error
@echo.

@echo Assembling Linux ...
@cd %s%\linux
%a% %f%.asm %b%\%f%
@if errorlevel = 1  goto error
@echo.
@echo Assembling Linux (Listing) ...
%a% %f%l.asm %b%\%f%l
@if errorlevel = 1  goto error
@echo.

@echo Assembling Unix/libc console ...
@cd %s%\libc
%a% %f%.asm %b%\%f%.o
@if errorlevel = 1  goto error
@echo.
@echo Assembling Unix/libc console (Listing) ...
%a% %f%l.asm %b%\%f%l.o
@if errorlevel = 1  goto error
@echo.

Echo Assembling Examples ...
cd %d%\Samples
for /r %%f in (*.asm) do %a% %%f
pause
for /r %%f in (*.exe;*.dll;*.com;*.sys;*.bin;*.obj;*.o;*.Wink do del %%f
@echo.

@cd %temp%
@echo.
@echo.
@echo BenchMarking Version ...
@echo.
@if exist fasmBM.asm del fasmBM.asm
@if exist masmBM.asm del masmBM.asm
@if exist  hlaBM.hla del  hlaBM.hla
@echo.Generating sources...
@echo.
@if x==x%1 bm n10000
@if not x==x%1 bm n%1
@echo.
%b%\test\fasm150.exe fasmBM.asm fasmBM150.obj
@if errorlevel = 1  goto error
@echo.
%b%\test\fasm160.exe fasmBM.asm fasmBM160.obj
@if errorlevel = 1  goto error
@echo.
%b%\test\fasm162.exe fasmBM.asm fasmBM162.obj
@if errorlevel = 1  goto error
@echo.
%b%\test\fasm164.exe fasmBM.asm fasmBM164.obj
@if errorlevel = 1  goto error
@echo.
%b%\test\fasm166.exe fasmBM.asm fasmBM166.obj
@if errorlevel = 1  goto error
@echo.
%b%\fasm.exe fasmBM.asm
@if errorlevel = 1  goto error
@echo.
%b%\fasml.exe fasmBM.asm
@if errorlevel = 1  goto error
@echo.
@:howlong ml   masmBM.asm
@if errorlevel = 1  goto error
@echo.
@:howlong hla  hlaBM.hla
@if errorlevel = 1  goto error
@echo.
@del fasmBM.* masmBM.* hlaBM.*
:done
@echo.
@echo --------------------------------------------------------------------------
@echo -------------------------  done without errors  --------------------------
@goto end
:error
@echo.
@echo --------------------------------------------------------------------------
@echo ********************************  ERROR  *********************************
:end
@echo --------------------------------------------------------------------------
@cd %s%

    


Description:
Download
Filename: make.zip
Filesize: 965 Bytes
Downloaded: 843 Time(s)


_________________
rofl eax,eax
Post 20 Feb 2007, 03:40
View user's profile Send private message Visit poster's website Reply with quote
yumka



Joined: 09 Feb 2007
Posts: 38
Location: Tenochtitlan
yumka 20 Feb 2007, 03:49
You have to set d (directory of fasm), include directory, examples directory, and some other little things where your FASM installation is.

But I use it un conjuntion with patch, for compile each version of fasm I download.

Very easy just 2 batch files, even for benchmarking.

I hope you like it.
Post 20 Feb 2007, 03:49
View user's profile Send private message Visit poster's website Reply with quote
OzzY



Joined: 19 Sep 2003
Posts: 1029
Location: Everywhere
OzzY 21 Feb 2007, 17:33
This is great idea.
Maybe this could be like in RADasm? (Loadable DLL's that add features to FASM)
Post 21 Feb 2007, 17:33
View user's profile Send private message 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.