title: x86 JMP opcode structure
body: <p>I'm just looking at the .text section of a simple exe I wrote in C, and I'm just trying to work out how some x86 opcodes are structured.</p>
  
  <p>From what I've been reading, it seems that 0xe9 is a single byte opcode for a relative jump (JMP), however I'm unsure how the rest of the bytes actually form the jump address.</p>
  
  <p>I'm using the super online disassembler <a href="http://www.onlinedisassembler.com/" rel="nofollow">ODA</a> to disassemble my program, and this is what is displayed:</p>
  
  <pre><code>.text:0x00411005    e936210000  jmp    0x00413140
  </code></pre>
  
  <p>So 0xe9 is the JMP instruction, and as this is a 32-bit executable, I'm assuming the next four bytes are going to be the address for the jump, however I'm a little unsure as to how they are actually structured.</p>
  
  <p>If anyone could help shine some light on his, I'd appreciate it.</p>
  
  <p>Thanks</p>