Message board for the users of flat assembler.
> High Level Languages > Flat C--
Goto page Previous 1, 2
But the fc-- must tell us that instead of crashing..!!
|19 Feb 2017, 13:55||
one of the best things of fc-- is that , using a function of dll without declaration , just import the dll library then go.
but , declaring the call convention of function tells the compiler how to balance the stake , so that you do not need this
wsprintf #mapstr,"%s=%d\n",txt,dig ; esp+=16;
any way ,hope fc-- grows , relay it's a good project.
|19 Feb 2017, 19:09||
The next version of FlatC--:
FlatC-- Version 0.88 XAC(C)2017.
Based on ideas Peter Cellik & Tomasz Grysztar.
Usage: fc--.exe [/list] [/debug] <Source file>
/list << generate asm listing
/debug << generate debug info for x64dbg
1) Generation of 32/64-bit programs (keywords - win32/win64). By defaul - win32.
List of supported instructions in the file Mnemonics.txt.
2) Fastcall method for dll functions are implemented in 64-bit mode.
Also fastcall implemented for windows callback functions:
3) Conditional compiling realized: #ifdef, #ifndef, #else and #endif.
Thanks for feedbacks
Last edited by bazizmix on 15 Nov 2018, 10:18; edited 1 time in total
|22 Apr 2017, 15:37||
FlatC-- Version 0.92a XAC C 2017. Based on ideas Peter Cellik & Tomasz Grysztar. Usage fc--.exe /32|64 <source file> /list /debug /32 << generate 32-bit program /64 << generate 64-bit program /list << generate asm listing /debug << generate debug info for x64dbg
Now FlatC-- has 32-bit and 64-bit executable files (fc--32.exe and fc--64.exe).
The mandatory command-line parameter is added
to generate 32-bit and 64-bit executables:
/32 for 32-bit. The constant WIN32 = TRUE, WIN64 = FALSE
/64 for 64-bit. The constant WIN32 = FALSE, WIN64 = TRUE
Commands win32 and win64 was removed.
Constants RAX, RBX, RCX, RDX, RDI, RSI, RBP, RSP and INTSIZE are introduced.
When specifying the /32 command-line parameter, they take the values:
eax, ebx, ecx, edx, edi, esi, ebp, esp and INTSIZE=4.
When specifying the /64 command-line parameter, they take the values:
rax, rbx, rcx, rdx, rdi, rsi, rbp, rsp and INTSIZE=8.
Thus, the expression
with /32 parameter will be compiled as
add esp, 4
and with the /64 parameter, as
add rsp, 8
Was made some optimization in generated code.
I'm interested in your opinion.
|05 May 2017, 13:52||
Soon a new version will appear that is fairly close to the C standard.
|03 Oct 2017, 08:27||
|Goto page Previous 1, 2
< Last Thread | Next Thread >
Copyright © 1999-2019, Tomasz Grysztar.
Powered by rwasa.