TIP: Click on subject to list as thread! ANSI
echo: aust_c_here
to: Ian Binnie
from: Paul Edwards
date: 1996-05-10 23:44:22
subject: C Compiler

IB> The bad news is that the assembler uses a custom syntax, and the object
IB> format is also proprietary. 

IB> This enables the compiler to produce very fast compact code but...

IB> The "very fast compact code" was meant to bind with
"the object format"
IB> not "assembler". I may be talking through my hat here as I am not an
IB> expert on 80x86 linking, but I have compared the code with other
IB> compilers and stand by the result. This may be due to compiler passing
IB> the first 2 (int size) arguments in registers and implementing stack
IB> deallocation in the function itself.

I think what you're really trying to say is that it uses a better
calling convention when calling functions than the standard 
stack-based convention.  Pacific C may or may not have been one of
the first to provide register-based function-calling, but it is far
from alone on that now.  Watcom, CSET, and (I think) Borland can
do that too.

IB> in C. I do include the occasional in line "asm(CLI)"
"asm(STI)" and use
IB> assembler when adapting other programs.

Probably better to use a macro, CLI(), so that it can be #defined
to asm(CLI) for Pacific C, but you can implement it a different
way if you need to port to a compiler without inline assembler.

BFN.  Paul.
@EOT:

---
* Origin: X (3:711/934.9)

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.