Thursday, July 30, 2009

Char far *scr = 0xB8000000 ; when i compile..a warning occur as "non portable pointer conversion" in this code

this is the pointer for a memory location.i write a program for


reading data at memory location specified by segment and offset. the offset is incremented by for


( offset = 0 ; offset %26lt; 160 ; offset++ )


fprintf ( fp, "%c", peekb ( scr, offset ) ) ;

Char far *scr = 0xB8000000 ; when i compile..a warning occur as "non portable pointer conversion" in this code
Looks like peekb() takes two parameters, both unsigned longs. You're passing in a char far *, which is not an unsigned long. A bit of Googling suggests using the macro FP_SEG to get your pointer to the value you want.
Reply:isn't char 8bits wide? which means only B8h will be loaded into *scr. The other 3bytes of data.. 00 00 00 will be discarded..

survey questions

No comments:

Post a Comment