title: how does arm movw instruction map to machine code?
body: <p>I am currently trying to understand how does the movw instruction work on ARM, to be able to hex edit a library and change a value that is being set with said instruction.</p>
  
  <p>The library presents code as follows (output from objdump):</p>
  
  <pre><code>[...]
  29c4:   f44f 71f0   mov.w   r1, #480    ; 0x1e0
  [...]
  </code></pre>
  
  <p>What I'm trying to do in other words, is figure out how is 0x1e0 / 480 represented inside "f44f 71f0". I've been reading stuff around the net, including <a href="http://blogs.arm.com/software-enablement/251-how-to-load-constants-in-assembly-for-arm-architecture/" rel="nofollow">http://blogs.arm.com/software-enablement/251-how-to-load-constants-in-assembly-for-arm-architecture/</a> and I think I understand how does movw work and it's limitations; but I still don't get how does the value shown on the instruction map to the actual binary code. Any documentation or insignt you might be able to provide on the matter is much appreciated :)</p>