Advertisement
Guest User

Untitled

a guest
Feb 18th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.         .text  
  2.         .global mystrspn
  3. mystrspn:
  4.         push    %ebp
  5.         mov     %esp, %ebp
  6.         push    %esi
  7.         push    %edx
  8.         push    %edi
  9.         mov     8(%ebp), %eax
  10.         mov     12(%ebp), %esi
  11.         movl    $0, %ebx        
  12.         movl    $0, %edi
  13.         movzb   (%esi), %edx
  14.         movzb   (%eax), %ecx
  15. continue:
  16.         sub     %edx, %ecx
  17.         jz      equal
  18.         jmp     not_equal
  19. equal:
  20.         incl    %edi
  21.         inc     %esi
  22.         movzb   (%esi), %edx
  23.         test    %edx, %edx
  24.         jz      max_before_end
  25.         inc     %eax
  26.         movzb   (%eax), %ecx
  27.         test    %ecx, %ecx
  28.         jnz     continue
  29.         jmp     max_before_end
  30. not_equal:
  31.         cmp     $0, %edi
  32.         jae     max
  33. not_equal_later:
  34.         inc     %esi
  35.         movzb   (%esi), %edx
  36.         mov     8(%ebp), %eax
  37.         movzb   (%eax), %ecx
  38.         test    %edx, %edx
  39.         jnz     continue
  40.         jmp     end
  41. max:
  42.         cmp     %ebx, %edi
  43.         ja      need_change
  44.         mov     $0, %edi
  45.         jmp     not_equal_later
  46. need_change:
  47.         mov     %edi, %ebx
  48.         mov     $0, %edi
  49.         jmp     not_equal_later
  50. max_before_end:
  51.         cmp     %ebx, %edi
  52.         ja      need_change_before_end
  53.         jmp     end
  54. need_change_before_end:
  55.         mov     %edi, %ebx
  56.         jmp     end
  57. end:
  58.         mov     %ebx, %eax
  59.         pop     %edi
  60.         pop     %edx
  61.         pop     %esi
  62.         movl    %ebp, %esp
  63.         popl    %ebp
  64.         ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement