Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #funkcija toBin(int a) otkucana u asembleru
- #prima jedan parametar (int a) i vraca njegov zapis u binarnom
- .section .text
- .globl toBin
- toBin:
- pushl %ebp
- movl %esp, %ebp
- #movl 8(%ebp),%ecx #u ebx cuvamo parametar a
- movl $0,%eax #cuva resenje
- movl $1,%ebx #cuva stepen desetke
- ponovi:
- cmpl $0,8(%ebp)
- je kraj
- movl 8(%ebp),%edx
- andl $1,%edx
- cmpl $0,%edx
- je nastavak
- addl %ebx,%eax #na eax dodamo stepen desetke
- nastavak:
- #ovde treba pomnoziti ebx sa 10 (pomnozimo ga sa 8 (shift left za 3) i sa 2 i saberemo)
- movl %ebx,%edx
- movb $1,%cl
- shll %cl,%ebx
- movb $3,%cl
- shll %cl,%edx
- addl %edx, %ebx
- movb $1,%cl #podelimo parametar a sa 2
- movl 8(%ebp),%edx
- shrl %cl,%edx
- movl %edx,8(%ebp)
- jmp ponovi #ponovimo sve sa a/2
- kraj:
- movl %ebp, %esp
- popl %ebp
- ret
- #Gcc -m32 -g -o naziv prvi.c drugi.S
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement