Hi.,
I had an aux. pragma written in assembly code. The problem was that
Watcom 10.6 would not compile the pragma since it was of a size greater
than 128bytes. So I tried to break down the pragma into smaller ones.
But there are many jump statements in the pragma.
So if I try to compile with the smaller pragmas, I get the error message
“Symbol xyz has not been declared”, because the symbol xyz appears in
some other pragma. Is there a way that allows me to “jump” between
various pragmas??The code has statements like jmp, jne, jnz which
corresspond to different conditions.
Compiler : Watcom C 10.6
Platform : QNX
Thanks
Anup
Texas A & M Univ
Anup
why don’t you convert it pragmas into usuall external assembler module ?
pragmas for more then 128 bytes of asm code seems to be not the best
sollution,
readability and portability of such code imho much worse then external asm
module.
// wbr
Anup B Katake wrote in message <39852E47.C5F02C74@aero.tamu.edu>…
Hi.,
I had an aux. pragma written in assembly code. The problem was that
Watcom 10.6 would not compile the pragma since it was of a size greater
than 128bytes. So I tried to break down the pragma into smaller ones.
But there are many jump statements in the pragma.
So if I try to compile with the smaller pragmas, I get the error message
“Symbol xyz has not been declared”, because the symbol xyz appears in
some other pragma. Is there a way that allows me to “jump” between
various pragmas??The code has statements like jmp, jne, jnz which
corresspond to different conditions.
Compiler : Watcom C 10.6
Platform : QNX
Thanks
Anup
Texas A & M Univ
The first thing to do is make absolutely sure you need all the
assembly code. Give the compiler a chance - you may be surprised at
the code it can produce. Have you profiled the application to prove
that this function is the bottleneck?
Second, can the function be re-designed to eliminate the long jumps?
Third, you may have to assemble the function out-of-line, as a
separate module, and link it in.
On Mon, 31 Jul 2000 02:44:08 -0500, Anup B Katake
<abk7439@aero.tamu.edu> wrote:
Hi.,
I had an aux. pragma written in assembly code. The problem was that
Watcom 10.6 would not compile the pragma since it was of a size greater
than 128bytes. So I tried to break down the pragma into smaller ones.
But there are many jump statements in the pragma.
So if I try to compile with the smaller pragmas, I get the error message
“Symbol xyz has not been declared”, because the symbol xyz appears in
some other pragma. Is there a way that allows me to “jump” between
various pragmas??The code has statements like jmp, jne, jnz which
corresspond to different conditions.
Compiler : Watcom C 10.6
Platform : QNX
Thanks
Anup
Texas A & M Univ
–
Al Balmer [TeamSybase] Balmer Consulting
mailto:alan.balmer@teamsybase.com
Please reply in newsgroup, not e-mail.
Or, break the aux pragma up into a dispatch pragma and a bunch of action
pragmas. The dispatch pragma can then call the action pragmas.
Alan Balmer wrote:
The first thing to do is make absolutely sure you need all the
assembly code. Give the compiler a chance - you may be surprised at
the code it can produce. Have you profiled the application to prove
that this function is the bottleneck?
Second, can the function be re-designed to eliminate the long jumps?
Third, you may have to assemble the function out-of-line, as a
separate module, and link it in.
On Mon, 31 Jul 2000 02:44:08 -0500, Anup B Katake
abk7439@aero.tamu.edu> > wrote:
Hi.,
I had an aux. pragma written in assembly code. The problem was that
Watcom 10.6 would not compile the pragma since it was of a size greater
than 128bytes. So I tried to break down the pragma into smaller ones.
But there are many jump statements in the pragma.
So if I try to compile with the smaller pragmas, I get the error message
“Symbol xyz has not been declared”, because the symbol xyz appears in
some other pragma. Is there a way that allows me to “jump” between
various pragmas??The code has statements like jmp, jne, jnz which
corresspond to different conditions.
Compiler : Watcom C 10.6
Platform : QNX
Thanks
Anup
Texas A & M Univ
–
Al Balmer [TeamSybase] Balmer Consulting
mailto:> alan.balmer@teamsybase.com
Please reply in newsgroup, not e-mail.