title: What's the difference between the .asciz and the .string assembler directives?
body: <p>I know that the <code>.ascii</code> directive doesn't put a null character at the end of the string, as the <code>.asciz</code> directive is used for that purpose. However, I don't know whether the <code>.string</code> directive puts a null character at the end of the string.</p>
  
  <p>If it does append the null character, then what's the difference between the <code>.asciz</code> and the <code>.string</code> directives? To me, having both <code>.asciz</code> and <code>.string</code> seems redundant.</p>