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-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.