Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [C] Funzione MK_FP()

  1. #1

    [C] Funzione MK_FP()

    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).

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Di quale linguaggio parliamo?
    E' obbligatorio indicarlo nel titolo come da Regolamento.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Parlavo del C,scusa :rollo:. Quando puoi modifica il titolo, grazie!

  4. #4
    Tra l'altro, se assegno l'indirizzo al puntatore direttamente al momento della dichiarazione, il Turbo C++ mi avvisa che il puntatore è "nonportable".

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.