title: Issue storing a byte into a register x86-64 assembly
body: <p>I am trying to write a function that determines the length of a string given as the first argument, so %rdi will contain char *ptr.  When I call <code>movb (%rdi),%rcx</code> to move the character pointed to by %rdi into %rcx, I get the following error:<br>
  <code>incorrect register '%rdx' used with 'b' suffix</code>
  As I understand it, only certain registers can hold a byte in x86-64, so which ones can I use to move the byte into?  Or is the method I am using to extract the character at each byte in the string incorrect?</p>