[C++/ASM] Come accedere ad un oggetto string dall'Assembler

di
Anonimizzato4168
il
2 risposte

[C++/ASM] Come accedere ad un oggetto string dall'Assembler

Ciao a tutti! Volevo chiedere se era possibile e come si facesse ad accedere ad un determinato carattere all'interno di un oggetto string da una parte di codice assembler inline...

In pratica vorrei riprodurre questa situazione:


        string str = "ciao";
        char c = str[3];             // 'o'
però accedendo a str (in generale) tramite del codice assembler...

per i vettori di char utilizzo:


        char a[5] = { 'c', 'i', 'a', 'o', '\0' };
        char *b = "ciao";
    
        __asm
        {
            mov al, [a+2]       // al = 'a'

            mov esi, b
            mov al, [esi+2]     // al = 'a'
        }
Ma per accedere "all'interno" dell'oggetto string???

Grazie mille a tutti in anticipo! Ciao!
Ciamiz

2 Risposte

  • Re: [C++/ASM] Come accedere ad un oggetto string dall'Assembler

    Ciao,

    La cosa migliore è probabilmente usare il metodo c_str della string , che restituisce un char* (const) standard... se hai necessità di modificare la stringa, visto il const, puoi usare la strcpy per copiare il contenuto in un buffer da modificare e poi, dopo le modifiche, risalvarlo nella string originale...

    Ciaociao
  • Re: [C++/ASM] Come accedere ad un oggetto string dall'Assembler

    Prova a creare un puntatore all'oggetto.
    e poi lo lo indirizzi come sai.

    spero di esserti stato di aiuto

    saluti smalldragon
Devi accedere o registrarti per scrivere nel forum
2 risposte