<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Jul 18, 2018 at 3:54 AM, Michael Stellmann <span dir="ltr"><<a href="mailto:Michael.Stellmann@gmx.net" target="_blank">Michael.Stellmann@gmx.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div style="font-family:Verdana;font-size:12.0px"><div>
<div>Thank you very much Bruce!</div>

<div> </div>

<div>Very well explained! I'm slowly getting the hang of how lowering is supposed to work in LLVM.</div>

<div> </div>

<div> </div>

<div>P.S. The code you posted is expert level, you are sure knowledgeable about the Z80! ;-)</div>
</div></div></div>
</blockquote></div><br></div><div class="gmail_extra">Ha! I did a little Z80 programming on a Sinclair ZX81 in 1981. I knew 6502 very well, before that.</div><div class="gmail_extra"><br></div><div class="gmail_extra">That shift left then subtract-with-carry trick is exactly the same as you'd use on 8080, 8085, and 8086/8.</div><div class="gmail_extra"><br></div><div class="gmail_extra">6502 requires different tricks, as the sense of the carry bit is reversed for subtract.</div><div class="gmail_extra"><br></div></div>