Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [c++] inserire istruzioni asm (problemi con int)

    come faccio? a scuola il prof mi ha detto di fare cosi:

    codice:
    #include <iostream.h>
    
    void main()
    {
      char car;
      __asm{
             mov ah,00
             int 16h
             mov car,al
           }
      cout<<endl<<car;
    }
    la sequenza dovrebbe acquisire un carattere, portarlo nella variabile e stamparlo.
    xò nn si ha la compatibilità dell'interupt e da errore. come risolvo questo problema (cioe come posso usare gli int sotto c++)?

    thk
    shark
    /( ..:: ShArK ::.. )\

  2. #2
    Utente di HTML.it L'avatar di ChReAn
    Registrato dal
    Aug 2002
    Messaggi
    486
    Non credo tu possa chiamare degli interrupt da un programma C sotto windows, a meno che non giri a livello di kernel (tipo un servizio).
    Non vorrei sbagliarmi, ma credo sia cosi'.
    ChReAn
    -------------------

    Slackware 9.1 powered

  3. #3
    ah...siccome il prof mi voleva far fare qlc x la gestione della memoria video (utilizzando int 10h) e ha detto poi di provare ad includerlo un un prg c++ . mi ha detto di usare il turbo c, ho provato sia con quello che con il visual, ma nn va :master:
    /( ..:: ShArK ::.. )\

  4. #4
    Utente di HTML.it L'avatar di ChReAn
    Registrato dal
    Aug 2002
    Messaggi
    486
    Perche' li usi sotto windows.
    Turbo C sotto DOS ti permetteva di gestire gli interrupt in quanto il DOS stesso non frapponeva un layer fra l'utente e il SO.
    La grafica ormai non si gestisce piu' direttamente tramite interrupt, ma si usano framework appositi (SDL, DirectX, OpenGL, DirectFB ecc...) che vanno a interfacciarsi coi driver della scheda grafica.
    ChReAn
    -------------------

    Slackware 9.1 powered

  5. #5
    a parte nn so usare cio che hai detto tu..HO CAPITO!! s'era aperto turbo c dalla shell di dos (il famoso prompt) e quindi era x quello?
    /( ..:: ShArK ::.. )\

  6. #6
    Utente di HTML.it L'avatar di ChReAn
    Registrato dal
    Aug 2002
    Messaggi
    486
    Si', ma non il prompt di DOS che c'e' su windows. Proprio il DOS vero.
    ChReAn
    -------------------

    Slackware 9.1 powered

  7. #7
    sisi ho capito provo a scuola...thk
    /( ..:: ShArK ::.. )\

  8. #8
    Prova a usare gli interrupt del DOS (INT 21h), a me funzionava

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    305
    queste macro non puoi utilizzarle con compilatori a 32bit
    ma con compilatori a 16 bit tipico è TurboC 3.0

    con la console vc6 non puoi usarlo

  10. #10
    Utente di HTML.it L'avatar di ChReAn
    Registrato dal
    Aug 2002
    Messaggi
    486
    Originariamente inviato da scancode

    con la console vc6 non puoi usarlo
    In che senso?
    ChReAn
    -------------------

    Slackware 9.1 powered

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 © 2024 vBulletin Solutions, Inc. All rights reserved.