Advertisement
kernel_memory_dump

Untitled

Apr 27th, 2014
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. .section .text
  2. .globl izbacir
  3. izbacir:
  4.     pushl %ebp
  5.     movl %esp, %ebp
  6.     movl 8(%ebp), %eax   #pocetna adresa stringa u %eax
  7.     movl %eax, %ebx
  8. kraj_s:                  #odredivanje kraja stringa
  9.     cmpb $0, (%eax)      #da li se na tekucoj poziciji nalazi NUL?
  10.     je razmaci
  11.     incl %eax            #ako ne, uvecaj %eax
  12.     jmp kraj_s
  13. razmaci:                 #odredivanje broja razmaka koje treba izbaciti
  14.     cmpb $' ', -1(%eax)  #da li se na poziciji ispred tekuce nalazi
  15.                          #znak razlicit od razmaka?
  16.     jne izbaci
  17.     decl %eax            #ako ne, umanji %eax
  18.     jmp razmaci
  19. izbaci:
  20.     movb $0, (%eax)      #upisivanje NUL znaka iza poslednjeg znaka
  21.                          #koji je razlicit od razmaka
  22. pocrazm:
  23.     cmpb $' ', (%ebx)
  24.     jne kraj
  25.     movl %ebx, %edx
  26. petdva:
  27.     cmpb $0, (%edx)
  28.     je kp
  29.     movb 1(%edx), %cl
  30.     movb %cl,(%edx)
  31.     incl %edx
  32.     jmp petdva
  33. kp:    
  34.     jmp pocrazm
  35. kraj:
  36.     movl %ebp, %esp
  37.     popl %ebp
  38.     ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement