Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .globl _start
- .section .text
- _start:
- leaq people, %rbx # pointer to people record
- leaq numpeople, %rcx # number of people in rcx
- xor %rdi, %rdi # zero rdi for the comparison later
- xor %r10, %r10 # zero string char counter
- mainloop:
- movq NAME_OFFSET(%rbx), %rdx # name offset (0) of people into rdx
- innerloop:
- movb (%rdx), %al
- cmp $0, %al # check for null char
- je end_of_string # loop over bytes
- incq %r10 # increment character counter
- incq %rdx # next byte
- jmp innerloop
- end_of_string:
- cmp %rdi, %r10
- jbe skip_over
- movq %r10, %rdi
- skip_over:
- addq $PERSON_RECORD_SIZE, %rdx # next person in record
- loopq mainloop # decrement number of people in rcx and start all over again
- movq $60, %rax
- syscall
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement