title: Could someone please explain what this inline #define assembly is doing?
body: <p>I'm an occasional C programmer. I've come across this bit of inline assembly code in a Turbo C program</p>
  
  <pre><code>#define ADC(dst,src)    { asm MOV AX, dst;  asm ADD AX, src;  \
                asm ADC AX, 0;    asm MOV dst, AX; }
  </code></pre>
  
  <p>dst and src are both unsigned 16-bit integers.</p>
  
  <p>It won't compile in GNU C++. Could someone please explain what it's doing? TIA!</p>