Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- void main()
- {
- char s[] = "Abaaaaaddaaafg"; //char *s = "Abcdefg";
- short int y;
- asm volatile(
- ".intel_syntax noprefix;"
- "mov ebx,%1;"
- "mov cx, 0;" // zerowanie zmiennej w której bdmy trzymac wynik
- "petla:"
- "mov al, [ebx];"
- "sub al, 0;" // sprawdzamy czy jest na końcu
- "jz koniec;" // jeżeli nie jest to koniec taka pętla
- "cmp al,97;" // sprawdzamy czy jest mala literka(a) w kodzie ascii
- "jnz skocz;" // to wykonujemy jeżeli prawda
- "inc cx;" // zwiekszamy o jeden cx
- "skocz: " // koniec ifa
- "inc ebx;" /// int do pętli
- "jmp petla;"
- "koniec:"
- "mov ecx,%1;"
- "mov [ecx],dl;"
- "mov edx,1;"
- "mov eax,1;"
- "int 0x80;"
- "mov %0, cx;"
- ".att_syntax prefix;"
- : "=r" (y)
- : "r" (s)
- : "ebx", "cx", "al"
- );
- //printf("y=%d", y);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement