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