title: Assembly: how to add a word (2 bytes) value to a register in 4-bytes?
body: <p>I want to increase a register in 2-bytes value, e.g, 0x1234.
  I saw in <a href="http://www.mathemainzel.info/files/x86asmref.html#add" rel="nofollow">this link about assembly command</a>, that there are many options for addition.</p>
  
  <p>I know that it is possible to increase a value in one byte value, with a 3-bytes command. For example, increasing ESP in 0x12:</p>
  
  <pre><code> \x83\xc4\x12  # add esp,0x12
  </code></pre>
  
  <p>I don't understand the table in the link. Can someone explain it? My goal is to add a word while using 4-bytes command (without a NULL. this is for a shellcode), but I also want to understand the principals beyond the add instruction (the command alone in opcode is the full answer I'm looking for).</p>