anchor.diff:  
   // x (dividend) = q(quotient) x d(divisor) + p(remainder)
   
  -procedure fpc_div_mod_byte(Dividend, Divisor: byte; out Result, Remainder: byte); assembler; nostackframe;
  +procedure div_mod_byte(Dividend, Divisor: byte; out result, remainder: byte);
  +procedure div_mod_word(Dividend, Divisor: word; out result, remainder: word);
  +{$ifndef CPUAVR_16_REGS}
  +procedure div_mod_dword(Dividend, Divisor: dword; out result, remainder: dword);
  +function div_mod_qword(Dividend, Divisor: qword; out Remainder: qword): qword;
  +{$endif}
  +implementation
  +
  +procedure div_mod_byte(Dividend, Divisor: byte; out Result, Remainder: byte); assembler; nostackframe;
   label
     start, div1, div2, div3, finish;
   asm
  
positive.code:   pop R16
    pop R17
  end;
  
  end.
  
  
negative.code:   st Z, R25
  end;
  
  {$ifndef CPUAVR_16_REGS}
  procedure div_mod_dword(Dividend, Divisor: dword; out Result, Remainder: dword); assembler; nostackframe;
  label
    start, div1, div2, div3, finish;
  asm
  