flat assembler
Message board for the users of flat assembler.
Index
> High Level Languages > Flat C-- Goto page 1, 2 Next |
Author |
|
bazizmix 30 Jan 2017, 19:07
Really flat.
FlatC-- Version 0.81 XAC(C)2017. Based on ideas Peter Cellik & Tomasz Grysztar. Usage: fc--.exe [/list] [/debug] <Source file> /list << generate asm listing /debug << generate .dd32 - debug info for x64dbg Sorry, no documentation... I was deside remove old versions. Last version: https://board.flatassembler.net/download.php?id=7584 Last edited by bazizmix on 15 Nov 2018, 10:18; edited 1 time in total |
|||
30 Jan 2017, 19:07 |
|
Roman 31 Jan 2017, 08:58
Nice !
But how compile c examples ? And what mean FlatC ? |
|||
31 Jan 2017, 08:58 |
|
bazizmix 31 Jan 2017, 12:39
Thanks!
Just enter in command line: fc-- hello.c-- FlatC-- = Sphinx C-- language with FASM syntax inside Produced exe has only one section - FlatC-- |
|||
31 Jan 2017, 12:39 |
|
bazizmix 31 Jan 2017, 13:12
Roman wrote: But how compile c examples ? Sorry for missunderstanding C example (if you mean JuliaWC02.c) there only for comparison with C-- |
|||
31 Jan 2017, 13:12 |
|
emil 09 Feb 2017, 19:19
Hi bazizmix,
I liked SphinxC-- very much, and i was ,and still ,developing it. sooner i will release one. why you choosed old SphinxC-- that created by Peter Cellik ? there was a recent one that made by Michael Shecker , https://github.com/jossk/c--sphinx by the way my avast refused to download yor zip , and detects a virus in it!!!!!!!!. |
|||
09 Feb 2017, 19:19 |
|
emil 10 Feb 2017, 12:16
Hi bazizmix,
my Avast still refuse to accept the zip file. it says fc--.exe infection with Win32:Evo-gen[Susp] BTW , with my developing , i have mixed SphinxC-- ,HJWasm , fasm , SmallerC , borland c++ 5.5 and alink . in one package by allowing SphinxC-- itself uses a plugin system , so any one can added a new features with out changed it. there are tow plugins is considered as part of SphinxC-- it self, the macro.dll and linker.dll plugins. the plugin "macro.dll" automatically takes order zero , so that it will be executed at the first , also the plugin "linker.dd" will be executed at the last. each other plugin tells SphinxC-- in which order will be executed. as i mentioned , i will release it sooner. [/img] |
|||
10 Feb 2017, 12:16 |
|
revolution 10 Feb 2017, 12:20
emil wrote: my Avast still refuse to accept the zip file. |
|||
10 Feb 2017, 12:20 |
|
emil 10 Feb 2017, 14:26
Hi revolution,
sorry i dont get you well , please more clear. |
|||
10 Feb 2017, 14:26 |
|
revolution 10 Feb 2017, 15:52
Delete/remove/uninstall Avast.
|
|||
10 Feb 2017, 15:52 |
|
emil 13 Feb 2017, 07:48
Hi bazizmix,
Is it will be open source or not? finally i downloaded it , still testing , but how dll is linked with exe? thanks. |
|||
13 Feb 2017, 07:48 |
|
bazizmix 13 Feb 2017, 12:15
Hi Emil,
Quote:
not now - maybe later Quote:
Congratulations! Quote:
as well as any program that accesses dll-file |
|||
13 Feb 2017, 12:15 |
|
emil 13 Feb 2017, 14:20
sorry , i was not clear enough, i meant that how fc-- in linking stage will linke the dll?
consider c language , we feed the .lib file to the linker so that it will know about the functions contained in dll. is fc-- support fasm preprocessor ? when declare a string variable why there is not "=" as we do for any other assignment ? |
|||
13 Feb 2017, 14:20 |
|
bazizmix 13 Feb 2017, 15:43
emil wrote: sorry , i was not clear enough, i meant that how fc-- in linking stage will linke the dll? This is done so as in fasm, without using a linker. Quote:
No Quote:
This is litle similar to the assembler: <type> <label> <string>; Sign = used for multiple initializations: byte regs={"al","cl","dl"}; |
|||
13 Feb 2017, 15:43 |
|
emil 17 Feb 2017, 15:50
Hi bazizmix,
what dose docase keyword do ? is there any progress in fc-- ? when the local variables will be inside any function body , just like modern c? |
|||
17 Feb 2017, 15:50 |
|
bazizmix 17 Feb 2017, 16:18
Quote: what dose docase keyword do ? same as if..elsif..endif in some languages. Quote: is there any progress in fc-- ? slowly Quote: when the local variables will be inside any function body , just like modern c? Not soon |
|||
17 Feb 2017, 16:18 |
|
emil 17 Feb 2017, 19:11
fc-- crashes when using this line
Code: #import "msvcrt.dll" |
|||
17 Feb 2017, 19:11 |
|
bazizmix 17 Feb 2017, 21:36
I have no problems with this dll-file
|
|||
17 Feb 2017, 21:36 |
|
emil 18 Feb 2017, 14:15
ok here is the source and fc-- output when craching.
Code: #list #debug #import "kernel32.dll" #import "user32.dll" #import "msvcrt.dll" #define wsprintf wsprintfA dword handle; word w; void main(){ handle=GetStdHandle(-11); esi=5; w=3; docase{ case(esi>1&&w<=3){ print("esi",esi); esi--; continue; } case(w>0){ print("w", w); w--; continue; } default{ print("That's all!!!",-1); } } //system("pause"); ExitProcess(); } byte mapstr[80]; void print(dword txt,dig){ wsprintf(#mapstr,"%s=%d\n",txt,dig); esp+=16; WriteFile(handle,#mapstr,strlen(#mapstr),#dWriteFileCount,0); } void strlen(dword s){ push esi; esi=s; pxor mm0, mm0; @compare_64: movq mm1, qword [esi]; esi+=8; pcmpeqb mm1, mm0; pmovmskb eax, mm1; bsf eax, eax; jz @compare_64; lea eax, [esi-8+eax]; eax-=s; pop esi; } and here is the output Quote:
|
|||
18 Feb 2017, 14:15 |
|
bazizmix 18 Feb 2017, 22:03
In msvcrt.dll we already have function strlen. You should rename or comment this function in example.
|
|||
18 Feb 2017, 22:03 |
|
Goto page 1, 2 Next < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.