Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [C++] includere asm

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    444

    [C++] includere asm

    Come funziona la parola asm in c++?
    Io vorrei poter scrivere un pezzo di codice in assembler 8086 che, alla fine, metta un valo0re in un registro, poi questo valore deve tornare al codice c++. Come posso fare?
    *********************************
    Andrea
    *********************************

  2. #2
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    Ecco un esempio:

    codice:
    #include <iostream.h>
    
    main() {
    	int a;
    	__asm {
    		push 0x21
    		pop eax
    		mov a, eax
    	}
    
    cout << a << endl;
    
    	return 0;
    }
    mette dentro a 0x21(33)

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    444
    ho provato a fare questo codice (una specie di getch fatta in casa)
    ma nn va

    #include <iostream.h>

    main() {
    char a;
    __asm {
    mov ah, 7
    INT 21h
    mov a, al
    }

    cout << a;

    return 0;
    }
    *********************************
    Andrea
    *********************************

  4. #4
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    quello è assembler a 16 o 32 bit?
    es usi assembler a 16 bit devi usare un compilatore a 16 bit, se usi a 32 a 32 bit.
    Sennò dovresti modificare il listato asm col compilatore ma io non sono riuscito a farlo(ho anche aperto un thread simile a questo ma nn ho trovato risposte).

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

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.