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)
|