Advertisement
Guest User

Untitled

a guest
Sep 30th, 2024
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. .globl _start
  2. .section .text
  3. _start:
  4. leaq people, %rbx # pointer to people record
  5. leaq numpeople, %rcx # number of people in rcx
  6. xor %rdi, %rdi # zero rdi for the comparison later
  7. xor %r10, %r10 # zero string char counter
  8. mainloop:
  9. movq NAME_OFFSET(%rbx), %rdx # name offset (0) of people into rdx
  10. innerloop:
  11. movb (%rdx), %al
  12. cmp $0, %al # check for null char
  13. je end_of_string # loop over bytes
  14. incq %r10 # increment character counter
  15. incq %rdx # next byte
  16. jmp innerloop
  17. end_of_string:
  18. cmp %rdi, %r10
  19. jbe skip_over
  20. movq %r10, %rdi
  21. skip_over:
  22. addq $PERSON_RECORD_SIZE, %rdx # next person in record
  23. loopq mainloop # decrement number of people in rcx and start all over again
  24.  
  25. movq $60, %rax
  26. syscall
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement