in
La comunitĂ  italiana dedicata a Sviluppatori e Architetti IT delle piattaforme Windows

C e ASM

Ultimo messaggio ricevuto il 22-06-2004 12.19 da NeoVirus. 1 risposta(e).
Pagina 1 di 1 (3 elemento/i)
Ordina messaggi: Precedente Successivo
  • 22-06-2004 12.19

    • NeoVirus
    • Utente Top 500
    • Registrato il 22-06-2004
    • Messaggi 2

    C e ASM

    Ciao a tutti, questo è il mio primo messaggio qui!

    Ho una procedura in C:<code>void putch(char ch)
    {
    asm
    {
    mov ah, 0fh
    int 10h
    mov ah, 0eh
    mov al, [ch] // -------> QUESTA RIGA
    mov bl, 02h
    int 10h
    }
    }</code>Alla riga evidenziata il compilatore mi da il seguente errore:

    <b>Invalid register combination (e. g. [BP+BX]) in function putch.</b>

    Sapete dirmi come posso risolvere questo problema?
    • No log
  • 22-06-2004 14.16 In risposta a

    • Deep_Core
    • Utente Top 10
    • Registrato il 05-01-2004
    • Italy - Trieste
    • Messaggi 319

    Re: C e ASM


    Ciao, NeoVirus e benvenuto tra i DevSpyers.

    Il problema da te riportato è dovuto al fatto che il nome del parametro formale della procedura putch (e cioè, <b>ch</b>) sfortunatamente <b><i>corrisponde al nome del registro a 8 bits</i> CH</b>! =:O

    Per risolverlo, è sufficiente rinominare il parametro formale di putch: ad esempio, prova a chiamarlo soltanto <b>c</b>.

    Vedrai che tutto funzionerà a dovere! ;-) :-D

    • No log
  • 23-06-2004 8.36 In risposta a

    • NeoVirus
    • Utente Top 500
    • Registrato il 22-06-2004
    • Messaggi 2

    Re: C e ASM

    Grazie mille, ora funziona!
    • No log
Pagina 1 di 1 (3 elemento/i)
Prelevato da http://www.devspy.com/forums/p/1444/1446.aspx
DevSpy.com 6.0 © 2001-2008 - Alcuni Diritti Riservati
Salvo diversa indicazione, tutti i contenuti sono pubblicati sotto licenza "Creative Commons Attribution-Share Alike 3.0"