flat assembler
Message board for the users of flat assembler.
Index
> High Level Languages > Flat C- |
Author |
|
bazizmix 09 Oct 2017, 16:22
The new FlatC- compiler.
A brief description is given in the file IntroFlatC-.txt. Not compatible with the compiler. FlatC-- (see https://board.flatassembler.net/topic.php?t=19700). With some modifications can compile C programs (compare Julia.c- and JuliaWC02.c.
|
|||||||||||||||||||||
09 Oct 2017, 16:22 |
|
NEASM 23 May 2018, 15:01
You are a genius. Is really a shame that it cannot compile for Linux and Unix.... But, is always great. 10/10, because this compiler is great.
|
|||
23 May 2018, 15:01 |
|
bazizmix 23 May 2018, 21:44
Thank you! However, I am embarrassed by such praise ...
Nix - maybe someday in the future, if I wish. |
|||
23 May 2018, 21:44 |
|
emil 13 Jun 2018, 17:18
Hi bazizmix
Avast anti virus refused to download your FC-35 , it says that it has a virus. so is that false or not? can you check it please. |
|||
13 Jun 2018, 17:18 |
|
emil 14 Jun 2018, 12:58
Hi bazizmix
I see that you quoted a comment that posted by revolution. so where is his comment in your topic!!!!!!!!!!! Avast keep me in safe side of anti virus , and will not change it. any way , I have no luck with your FC-35. keep up your good work. |
|||
14 Jun 2018, 12:58 |
|
revolution 14 Jun 2018, 13:04
emil wrote: Avast keep me in safe side of anti virus , and will not change it. But seriously, how can you trust an AV that gives you this much trouble? |
|||
14 Jun 2018, 13:04 |
|
bazizmix 14 Jun 2018, 16:16
emil wrote: Hi bazizmix I checked file on online service https://www.virustotal.com/en Result you can see at https://www.virustotal.com/en/url/99f94badf2aade2008968571b79dbb18f86ed637ea660cd81fd37865c8e7bed0/analysis/1528992552/ Really Avast stupid... File name: FC-35.7z Detection ratio: 4 / 60 |
|||
14 Jun 2018, 16:16 |
|
emil 15 Jun 2018, 15:14
Hi bazizmix
I have disabled Avast , and test it. nice work , have some questions.... 1- will you support creating coff object file ? ; may be directive #obj 2- when you will dived your work into include folder, samples folder,.... etc. ? 3- why there is no inline macro ? 4- what do you think for supporting next syntax Code: edi = (esi <> 1) ? TRUE : FALSE; hope you keep devolping it. thanks. |
|||
15 Jun 2018, 15:14 |
|
emil 15 Jun 2018, 15:21
Hi again
In Next code Code: int WIRandom(int rmin,rmax){ push rdx rcx; mov ecx,[rmax]; sub ecx,[rmin]; inc ecx; WRandom(); xor edx,edx; div ecx; mov eax,edx; add eax,[rmin]; pop rcx rdx; } why you did not support uses directive so that it will be like that Code: int WIRandom(int rmin,rmax) uses rdx rcx { mov ecx,[rmax]; sub ecx,[rmin]; inc ecx; WRandom(); xor edx,edx; div ecx; mov eax,edx; add eax,[rmin]; } Last edited by emil on 15 Jun 2018, 18:03; edited 1 time in total |
|||
15 Jun 2018, 15:21 |
|
emil 15 Jun 2018, 18:02
hi
I think there is a bug in next code , it is a part of your fc-- code Code: int strlen(char* s) { push rcx rdx; rax=s; // get pointer to string rcx=rax; // copy pointer pxor xmm0, xmm0; // set to zero rcx&=15; // lower 4 bits indicate misalignment the last line compiled to this Code: mov rax,rcx push rax mov rax,F pop rcx and rax,rcx mov rcx,rax so the value of rax is destroyed and the program crashed. |
|||
15 Jun 2018, 18:02 |
|
bazizmix 16 Jun 2018, 12:02
emil wrote: hi In start of this topic Quote: Not compatible with the compiler FlatC-- |
|||
16 Jun 2018, 12:02 |
|
bazizmix 16 Jun 2018, 12:06
emil wrote: why you did not support uses directive so that it will be like that You can use aliasing for this (see IntroFlatC-.txt) |
|||
16 Jun 2018, 12:06 |
|
emil 14 Nov 2018, 19:04
Hi bazizmix,
why the next code do not compile? Code: void RemoveFileExt(char* lpFileName) { push rcx rdx; lstrlen(lpFileName); rdx = lpFileName; while( rax ) { if( byte [rdx+rax]=='.') { byte [rdx+rax] = 0; break; } rax--; } pop rdx rcx; } |
|||
14 Nov 2018, 19:04 |
|
bazizmix 15 Nov 2018, 08:44
Hi Emil,
Constructions byte[] and similar not supported in FlatC-. For above code you can use lpFileName[rdx] instead. Code: rdx = lstrlen(lpFileName); while( rdx ) { if( lpFileName[rdx]=='.') { lpFileName[rdx] = 0; break; } rdx--; } |
|||
15 Nov 2018, 08:44 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.