Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // 101 w rejestrze
- #include <stdio.h>
- int main(){
- int x = 20;
- int y;
- asm volatile(
- ".intel_syntax noprefix;"
- "mov eax,%1;"
- "mov ecx,33;"
- "xor ebx,ebx;"
- "petla:"
- "dec ebx;"
- "jz koniec"
- "shl eax,1;" // przesunięcie bitowe w lewo
- "jc warunek;" // skok do warunku(jesli nie zero)
- "warunek:"
- "dec ebx;" // zmniejszenie ebx
- "jz koniec;"
- "shl eax,1;" // przesunięcie aby sprawdzić drugi bit
- "jc warunek;" // jesli nie zero to wraca do warunku
- "jnc warunek2;" // jesli zero to sprawdza 3 bit
- "warunek2:"
- "dec ebx;"
- "jz koniec;"
- "jnc petla;"
- "inc ebx;"
- "jc warunek;"
- "koniec:"
- "mov %0,ebx;"
- ".att_syntax prefix;"
- :"=r"(y)
- :"r"(x)
- :"eax","ecx"
- );
- printf("y = %d\n",y);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement