So I'm trying to write a function to zero out an input buffer in static memory in my assembly program. It looks like this:
zero_input_buffer:
    mov $0, %ebx
    mov $29, %eax
    # not sure how to implement this line
    mov %ebx, input(%rip, %eax, 1)
    dec %eax
    cmp %eax, %ebx
    jle zero_input_buffer_done
    jmp zero_input_buffer
zero_input_buffer_done:
    retq
The input buffer 30 bytes long. In each loop iteration, I'm trying to 0 out %eax bytes from the input symbol. I am also trying to use rip relative addressing, just because that's what I've seen done in examples that I've seen. I know to access input starting from the first byte I can do input(%rip), but I'm not sure how to add the %eax offset. I've looked around on the internet, but nothing I try seems to work. Any help / general x64 resources would be appreciated
 
    