Jumping between aux pragmas

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.