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  | 
              |||
                  
  | 
              
| 
                  
                   Roman 31 Jan 2017, 08:58 
                  Nice !
 
                  
                But how compile c examples ? And what mean FlatC ?  | 
              |||
                  
  | 
              
| 
                  
                   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--  | 
              |||
                  
  | 
              
| 
                  
                   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--  | 
              |||
                  
  | 
              
| 
                  
                   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!!!!!!!!.  | 
              |||
                  
  | 
              
| 
                  
                   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]  | 
              |||
                  
  | 
              
| 
                  
                   revolution 10 Feb 2017, 12:20 
                  emil wrote: my Avast still refuse to accept the zip file.  | 
              |||
                  
  | 
              
| 
                  
                   emil 10 Feb 2017, 14:26 
                  Hi revolution,
 
                  
                sorry i dont get you well , please more clear.  | 
              |||
                  
  | 
              
| 
                  
                   revolution 10 Feb 2017, 15:52 
                  Delete/remove/uninstall Avast. 
                  
                 | 
              |||
                  
  | 
              
| 
                  
                   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.  | 
              |||
                  
  | 
              
| 
                  
                   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  | 
              |||
                  
  | 
              
| 
                  
                   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 ?  | 
              |||
                  
  | 
              
| 
                  
                   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"};  | 
              |||
                  
  | 
              
| 
                  
                   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?  | 
              |||
                  
  | 
              
| 
                  
                   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  | 
              |||
                  
  | 
              
| 
                  
                   emil 17 Feb 2017, 19:11 
                  fc-- crashes when using this line
 
                  
                Code: #import "msvcrt.dll"  | 
              |||
                  
  | 
              
| 
                  
                   bazizmix 17 Feb 2017, 21:36 
                  I have no problems with this dll-file 
                  
                 | 
              |||
                  
  | 
              
| 
                  
                   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: 
  | 
              |||
                  
  | 
              
| 
                  
                   bazizmix 18 Feb 2017, 22:03 
                  In msvcrt.dll we already have function strlen. You should rename or comment this function in example. 
                  
                 | 
              |||
                  
  | 
              
| Goto page 1, 2  Next < Last Thread | Next Thread >  | 
    
Forum Rules: 
  | 
    
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.