Portál AbcLinuxu, 12. května 2025 04:09
int i = 5; char * msg = "Ahoj"; _asm { mov ecx, i zacatek: push msg call dword ptr printf add esp, 4 loop zacatek }
ecx
je jeden z tech, ktere maji funkce k volnemu pouziti, pokud chcete uchovat jeho hodnotu, musite si ji nekam (na zasobnik) pred zavolanim ulozit a po navratu z fce vybrat.
int i = 5; char * msg = "Ahoj"; _asm { mov ebx, i jz konec zacatek: push msg call dword ptr printf add esp, 4 dec ebx jnz zacatek konec: }Instrukce loop už se moc nepoužívá, dvojice dec a jnz proběhne rychlej a navíc máte tu možnost si zvolit registr pro cyklus.
int i = 5; char * msg = "Ahoj"; _asm { mov ecx, i zacatek: mov ebx, ecx push msg call dword ptr printf add esp, 4 mov ecx, ebx loop zacatek }
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.