Advertisement
Guest User

101 to 111 in binary

a guest
Apr 25th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #funkcija toBin(int a) otkucana u asembleru
  2. #prima jedan parametar (int a) i vraca njegov zapis u binarnom
  3.  
  4. .section .text
  5. .globl toBin
  6.  
  7. toBin:
  8.     pushl %ebp
  9.     movl %esp, %ebp
  10.    
  11.     #movl 8(%ebp),%ecx #u ebx cuvamo parametar a
  12.     movl $0,%eax #cuva resenje
  13.     movl $1,%ebx #cuva stepen desetke
  14.    
  15. ponovi:
  16.     cmpl $0,8(%ebp)
  17.     je kraj
  18.     movl 8(%ebp),%edx
  19.     andl $1,%edx
  20.     cmpl $0,%edx
  21.     je nastavak
  22.     addl %ebx,%eax #na eax dodamo stepen desetke
  23.    
  24. nastavak:
  25.     #ovde treba pomnoziti ebx sa 10 (pomnozimo ga sa 8 (shift left za 3) i sa 2 i saberemo)
  26.     movl %ebx,%edx
  27.     movb $1,%cl
  28.     shll %cl,%ebx
  29.     movb $3,%cl
  30.     shll %cl,%edx
  31.     addl %edx, %ebx
  32.    
  33.     movb $1,%cl     #podelimo parametar a sa 2
  34.     movl 8(%ebp),%edx
  35.     shrl %cl,%edx
  36.     movl %edx,8(%ebp)
  37.    
  38.     jmp ponovi  #ponovimo sve sa a/2
  39.    
  40. kraj:
  41.     movl %ebp, %esp
  42.     popl %ebp
  43.     ret
  44.    
  45.    
  46.     #Gcc -m32 -g -o naziv prvi.c drugi.S
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement