title: Bits bytes words and dwords - when to use what in assembly?
body: <p>I am trying to learn assembly (more like struggling) and I have come across the data types bytes, words, dwords etc.</p>
  
  <p>What really confuses me is when do you know to use one over the other. Obviously you want to use the most conservative option, but how do I know to choose a byte over a word? For example 1 word = 16 bits or 2 bytes. Does that mean I can fit 16 characters inside 1 word? So to save the alphabet I would need to declare 2 words?</p>
  
  <p>Same goes for registers (16 bit, 32 bit and 64 bit). I know you can use smaller registers such as <code>al</code> and <code>ah</code> instead of <code>eax</code> when you are manipulating smaller sizes of data. For a 16 bit register can you move a data type larger than a word into it because since it's 16 bits, it can fit a 16 bit word?</p>
  
  <p>Wrapping my head around this whole concept is difficult. If anybody happens to have any good resources or information I can look at, that would be great. Cheers!</p>