ID Number: Q79153
6.00 6.00a 6.00ax | 6.00 6.00a
MS-DOS | OS/2
buglist6.00 buglist6.00a buglist6.00ax fixlist7.00
Summary:
PROBLEM ID: C9112004
SYMPTOMS
The Microsoft C Compiler versions 6.0, 6.0a, and 6.0ax, may produce
the following error messages when the sample program below is
compiled if the keyword ptr is missing in an inline assembly
statement.
file.c(5) : warning C4403: illegal PTR operator
file.c(5) : fatal error C1001: Internal Compiler Error
(compiler file '@(#)newcode.c:1.89', line 650)
Contact Microsoft Product Support Services
CAUSE
The intended statement has the form:
jmp far ptr <label>
RESOLUTION
To eliminate the C4403 warning and the C1001 error, correct the
inline assembly statement by placing ptr after the far and
before the label.
STATUS
Microsoft has confirmed this to be a problem in C versions 6.0,
6.0a, and 6.0ax. This problem was corrected in C version 7.0.
More Information:
Sample Code
-----------
/* Compile options needed: none
*/
void ( _interrupt far *func )( );
void _interrupt far routine( void )
{
_asm jmp far func
}
Additional reference words: 6.00 6.00a 6.00ax