[linux] Assembler & C

Jozef Cervenansky jcervenansky na pobox.sk
Pondělí Srpen 23 08:26:27 CEST 1999


Ahojte.

Potreboval by som pomoct s nasledujucim problemom.

Mam definovany retazec :

   char* retazec = "Toto je retazec.";

a ja by som potreboval teraz v C-ecku zistit 32 bitovu adresu retazca, ktoru prenesiem do
registra, pr. EAX a potom prepisem prve styri znaky na , pr. BBBB, cize
retazec pred operaciou je : "Toto je retazec". po uprave : "BBBB je retazec."

            #include <stdio.h>

            int main()
            {
               char* retazec = "Toto je retazec";
            
               //Assembler
               // takto to asi nebude
                mov eax, adresa retazca -> neviem ako zistit, ako to vysvetlit assembleru
                mov cx,4           ; bude menit styri znaky
                mov al, 'B'         ; na pismeno B
     cyklus:
                mov adresa retazca, al  ;  a ukladaj
                inkementuj adresu o 1   ; dalsia pozicia
                loop cyklus
                //koniec Assembler
                printf("%s\n", retazec);  // TU MUSI VYPISAT "BBBB je retazec."
                return 0;
             }         

Vedel by mi s tym niekto pomoct ?
Za odpoved vopred velmi pekne dakujem.
S pozdravom ostava 
            Jozo



____________________________________
P. S. V. P. U.
http://www.pobox.sk/





Další informace o konferenci linux