flat assembler
Message board for the users of flat assembler.

flat assembler > High Level Languages > Flat C--

Goto page Previous  1, 2
Author
Thread Post new topic Reply to topic
emil



Joined: 16 Dec 2003
Posts: 76
Location: egypt
ok ,

But the fc-- must tell us that instead of crashing..!!
Post 19 Feb 2017, 13:55
View user's profile Send private message Reply with quote
emil



Joined: 16 Dec 2003
Posts: 76
Location: egypt
bazizmix,

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

Code:
wsprintf(#mapstr,"%s=%d\n",txt,dig); esp+=16; 
    


any way ,hope fc-- grows , relay it's a good project.
Post 19 Feb 2017, 19:09
View user's profile Send private message Reply with quote
bazizmix



Joined: 15 Jan 2016
Posts: 39
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
New:
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:
WindowProc(qword hwnd:rcx,wmsg:rdx,wparam:r8,lparam:r9)
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
Post 22 Apr 2017, 15:37
View user's profile Send private message Reply with quote
bazizmix



Joined: 15 Jan 2016
Posts: 39
Next version:
Code:
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
Code:
 RSP+= INTSIZE;    
with /32 parameter will be compiled as
Code:
add esp, 4    
,
and with the /64 parameter, as
Code:
add rsp, 8    
.
Was made some optimization in generated code.

I'm interested in your opinion.


Description:
Download
Filename: fc--v092a.zip
Filesize: 179.78 KB
Downloaded: 204 Time(s)

Post 05 May 2017, 13:52
View user's profile Send private message Reply with quote
bazizmix



Joined: 15 Jan 2016
Posts: 39
Soon a new version will appear that is fairly close to the C standard.
https://board.flatassembler.net/topic.php?t=20153
Post 03 Oct 2017, 08:27
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  
Goto page Previous  1, 2

< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2018, Tomasz Grysztar.

Powered by rwasa.