Advertisement
Guest User

Untitled

a guest
Feb 13th, 2016
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.94 KB | None | 0 0
  1. ##### Addressing modes in `mov`, and their C version
  2.  
  3. _Aaddressing modes (immediate, register, memory)_ used with the `mov` assembly instruction. Here we use `movl` ("move long") for a 32-bit word.
  4.  
  5. _**Note:** cannot move memory-to-memory, need two instructions._
  6.  
  7. <table>
  8. <tr>
  9. <th rowspan="7">movl</th>
  10. <th>Src</th>
  11. <th>Dest</th>
  12. <th>Src, Dest</th>
  13. <th>C version</th>
  14. </tr>
  15. <tr>
  16. <td rowspan="2">Imm</td>
  17. <td>Reg</td>
  18. <td>movl $0x4,%eax</td>
  19. <td>x = 0x4;</td>
  20. </tr>
  21. <tr>
  22. <td>Mem</td>
  23. <td>movl $-5,(%eax)</td>
  24. <td>*px = -5;</td>
  25. </tr>
  26. <tr>
  27. <td rowspan="2">Reg</td>
  28. <td>Reg</td>
  29. <td>movl %eax,%edx</td>
  30. <td>x = y;</td>
  31. </tr>
  32. <tr>
  33. <td>Mem</td>
  34. <td>movl %eax,(%edx)</td>
  35. <td>*px = y;</td>
  36. </tr>
  37. <tr>
  38. <td rowspan="2">Mem</td>
  39. <td rowspan="2">Mem</td>
  40. <td rowspan="2">movl (%eax),%edx</td>
  41. <td rowspan="2">y = *px;</td>
  42. </tr>
  43. <tr>
  44. </tr>
  45. </table>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement