NASM Forum > Announcements
wcc32
Manos:
Hi all.
I implemented a new plain ANSI C optimizing compiler that supports C99
and targets on Windows 32 bit programming.
This compiler does not use any assembler as a backend, but supports
inline assembly in NASM syntax, emits NASM assembly code and
accepts NASM assembly source, also.
That is, with wcc32 you can mix c code and NASM assembly code
together to produces applications.
Since wcc32 C compiler has the above attributes for NASM,
I thinked to do this post here.
Anyone who is interested, can download this from here.
Manos.
shaynox:
Hello,
How can you not use assembler for produce opcodes ?
encryptor256:
--- Quote from: shaynox on June 06, 2015, 03:13:28 PM ---Hello,
How can you not use assembler for produce opcodes ?
--- End quote ---
Well... assembler is an extra layer, like a separate thing.
He produces machine code directly while parsing C code.
At least, I think so.
P.S.
Try his "CoderStudio" it boots up in a fraction of the second (Hehe... F*** YOOOU Microsoft Visual Studio, we have Manos with CoderStudio),
only problem encountered - I was unable to compile dialog application source into exe.
shaynox:
But, are we agree to say opcode is just a hard translation of mnemonic term to binary command, so finally, it needed to translate the high level command to the low level command.
PS: I use the Intel compiler for his performance and his asm production far better compared to some existent compiler even if they should take nasm syntax :p
Manos:
Hi shaynox.
encryptor256 is right.
There is a table of OPCODE structures.
This structure has three members: operands, value and flags,(machine values), like:
OPCODE popn_aaa[] =
{
{
OP_CODEONLY, 0x0037, 0x0000
}
,
{
0, 0, 0
}
,
};
OPCODE popn_aad[] =
{
{
OP_CODEONLY, 0x0ad5, 0x0200
}
,
{
0, 0, 0
}
,
};
etc.
When the compiler writes the object code, use the above table.
To encryptor256:
CoderStudio has a bug that is easy to correct.
I 'll adapt CoderStudio to support wcc32 and wlink32 soon.
This is because I worked on wcc32, wlink32, header files, libraries and testing these,
for 6 months and for 5 hours per day and with David Lindauer help.
Manos.
Navigation
[0] Message Index
[#] Next page
Go to full version