Non mi è chiaro quale sia il compito della funzione MK_FP(). Vi riporto un esempio:
codice:
#pragma inline
#include <dos.h>
int main(void){
    unsigned char far *schermo;
    unsigned char pixel;
    asm mov ax,0x13;
    asm int 0x10;
    schermo=(unsigned char *)MK_FP(0xA000,0);
    schermo+=100;
    pixel=0x04;
    *schermo=pixel;
    asm xor ax,ax;    //attendi un tasto
    asm int 0x16;
    asm mov ax,0x03;  //modalità testo
    asm int 0x10;
    return 0;
}
Il che, secondo me, avrebbe acceso un pixel rosso alle coordinate [100,0], mentre invece ciò non avviene e lo schermo rimane nero. Quindi io mi chiedo come devo sostituire
[CODE]*schermo=pixel;[CODE]
che funziona benissimo se io invece che assegnare l'indirizzo al puntatore schermo tramite la funzione MK_FP() lo assegno al momento della dichiarazione(unsigned char far *schermo=0xA0000000).