title: Convert ASM to C (not reverse engineer)
body: <p>I googled and I see a surprising amount of flippant responses basically laughing at the asker for asking such a question.</p>
  
  <p>Microchip provides some source code for free (I don't want to post it here in case that's a no-no.  Basically, google AN937, click the first link and there's a link for "source code" and its a zipped file).  Its in ASM and when I look at it I start to go cross-eyed.  I'd like to convert it to something resembling a c type language so that I can follow along.  Because lines such as:</p>
  
  <pre><code>GLOBAL  _24_bit_sub
  movf    BARGB2,w
  subwf   AARGB2,f
  </code></pre>
  
  <p>are probably very simple but they mean nothing to me.</p>
  
  <p>There may be some automated ASM to C translator out there but all I can find are people saying its impossible. Frankly, its impossible for it to be impossible.  Both languages have structure and that structure surely can be translated.</p>