[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