Coming Soon!

(Vital Data and New Beta Release Info)

Coming Soon!

Unread postby Mike Lobanovsky » Fri Apr 10, 2009 4:11 pm

Do you know what a dynamic inline assembler is?

Conventional assemblers read in the assembler command code, convert it to an executable machine code byte sequence and save its image statically to a file to be further loaded by the PE loader and executed by the OS.

Dynamic assemblers read in the command code at program load time and generate the machine code sequence for the OS to be executed on the fly.

With carefully written command code, assemblers in general provide the fastest and the shortest executable code possible as compared to higher-level languages.

The time is coming when such a facility will be added to FBSL. It will enable us to develop time-critical routines directly from FBSL without any extra tools required to generate machine code byte sequences (a.k.a. opcode strings) to be called via CallAbsolute().

FBSL will feature "Asm FuncName(param1[,param2[,...]])...End Asm" subroutines which will be handled like conventional user-coded functions and executed in an ordinary way like any other FBSL subs or functions. The only difference will be in the content enclosed in the "Asm...End Asm" block: this will be pure Intel-style assembler language...

Please have a look at the attached screenshots which will tell you more.

Sincerely,

Mike Lobanovsky :)
Attachments
In.PNG
This is a classical 'Hello, world!' example script written with the aid of FBSL's dynamic inline assembler ...
In.PNG (95.68 KiB) Viewed 2355 times
InBetween.PNG
... and this is how the script is interpreted for the assembler to be able to build the machine code subroutine ...
InBetween.PNG (9.39 KiB) Viewed 2355 times
Out.PNG
...and this is what you see with "jmp LeaveAsmBlock" commented out! :)
Out.PNG (4.85 KiB) Viewed 2355 times
User avatar
Mike Lobanovsky
FBSL Administrator
FBSL Administrator
 
Posts: 1824
Joined: Tue Apr 19, 2005 8:22 am
Location: Republic of Belarus

Unread postby Cpilot » Fri Apr 10, 2009 8:29 pm

Interesting, I'll be waiting for this addition.
User avatar
Cpilot
FBSL geek
FBSL geek
 
Posts: 488
Joined: Sat Mar 12, 2005 11:12 pm

Unread postby Mike Lobanovsky » Fri Apr 10, 2009 11:37 pm

Cpilot wrote:Interesting, I'll be waiting for this addition.


Hi Cpilot,

I knew you would take the bait! :D

Mike :)
User avatar
Mike Lobanovsky
FBSL Administrator
FBSL Administrator
 
Posts: 1824
Joined: Tue Apr 19, 2005 8:22 am
Location: Republic of Belarus

Unread postby Cpilot » Sat Apr 11, 2009 3:44 am

Mike Lobanovsky wrote:
Cpilot wrote:Interesting, I'll be waiting for this addition.


Hi Cpilot,

I knew you would take the bait! :D

Mike :)

Life has been interesting these last couple of years, sometimes inspiration is hard to find.
This addition has definitely piqued my interest.
User avatar
Cpilot
FBSL geek
FBSL geek
 
Posts: 488
Joined: Sat Mar 12, 2005 11:12 pm

Unread postby Codeman » Sat Apr 11, 2009 12:00 pm

really nice work mike , i will have to learn asm language in the hurry if i understood :D , perhaps you will add some commented asm samples with the realese that support it to help us :lol:
_-=<(¯`·._.·[ CodeMan ]·._.·´¯)>=-_
Your only limit : Your imagination

FBSL V3 TESTED On :
Image

Chris 1 (Corei5-4460S 2.9 GHZ w/ 16GB RAM, GeForce GTX 745 w/ 4GB VRAM, Windows 8 x64 Fr)
Chris 2 (2.0GHz AMD Atlon 64 X2 3800+ w/ 4GB RAM, GeForce 9600GT w/ 1GB VRAM, Windows 7 x64 Fr)
Chris 3 (Tablet pc : ASUS Transformer Book T100)
User avatar
Codeman
FBSL Administrator
FBSL Administrator
 
Posts: 497
Joined: Sat Nov 24, 2007 4:33 pm
Location: France

Unread postby Mike Lobanovsky » Sat Apr 11, 2009 8:26 pm

Frankly,

I'm not as good at it as you might think... :wink:

It's one thing to write a parser that would make substitutions from the table and hope that you've made as few errors in that table as possible, and quite another pair of shoes, to be able to manipulate the input to the parser to make it all meaningful and worthwhile.

Anyway, I hope sincerely this new feature will boost both the language capabilities and the interest. The feature is not unique, of course, but very helpful.

Please don't push me though. Mehdi's going to rewrite some inner function handling routines so I'll see if it's possible to hide all this preprocessor trickery behind the curtains to make asm coding user-friendly to the utmost.

Wish me luck, and thank you for your interest!

Mike :)
User avatar
Mike Lobanovsky
FBSL Administrator
FBSL Administrator
 
Posts: 1824
Joined: Tue Apr 19, 2005 8:22 am
Location: Republic of Belarus

Unread postby Gerome » Sat Jun 27, 2009 10:38 pm

Hello,

Mike is discrete those last time... it's because he's preparing his little bomb secretly onto his cave!
Sooner or later you'll be pleased to see what he's actually preparing... :)
Yours,

(¯`·._.·[Gerome GUILLEMIN]·._.·´¯)
:: Full SETUP w. HELP 05th of December 2011 ::
http://www.fbsl.net/setup/FBSLv3.exe [full v3.4.10 installation pack]
http://www.fbsl.net/setup/FBSLv3bin.zip [minimal upgrade to v3.4.10]
Laissons les jolies femmes aux hommes sans imagination. / Let us leave pretty women to men without imagination.(M.Proust)
The success is a defeat for the one who does not want to dance any more! (H.F. Thiefaine)
User avatar
Gerome
FBSL Administrator
FBSL Administrator
 
Posts: 3149
Joined: Sat Mar 12, 2005 9:06 pm
Location: Paris -- France


Return to FBSL v3 News

Who is online

Users browsing this forum: No registered users and 1 guest

cron