HP Forums
(50g) Quick 2 IQUOT - Printable Version

+- HP Forums (https://www.hpmuseum.org/forum)
+-- Forum: HP Software Libraries (/forum-10.html)
+--- Forum: General Software Library (/forum-13.html)
+--- Thread: (50g) Quick 2 IQUOT (/thread-9282.html)



(50g) Quick 2 IQUOT - Gerald H - 10-12-2017 07:28 AM

I have found a programme that apparently does

Code:
::
ZINT 2
FPTR2 ^ZQUOText
;

faster for input > 10^10.

Could someone please verify the assembly code as its analysis is beyond my capabilities.

Also does anyone know the source of the programme?

Code:
::
  CK1&Dispatch
  # FF
  ::
    DUP
    FPTR2 ^ZAbs
    FPTR2 ^QIsZero?
    ?SEMI
    TOTEMPOB
    CODE
    %FFD5B
    GOSBVL =SAVPTR
    A=DAT1  A 
    R0=A  A 
    D0=A 
    D0+5
    C=DAT0  A 
    D0+5
    C-7 A 
    P=C   0
    CSR    A 
    D1=C 
    A=0    B 
    C=DAT0  WP
    SETDEC
    D=C    WP
    C=C+C  WP
    GONC FFDA8
    A+2 B 
    *FFDA8 C=C+C  WP
    GONC FFDB1
    A=A+1  B 
    *FFDB1 C=C+D  WP
    GONC FFDBA
    A=A+1  B 
    *FFDBA SETHEX
    ?P=   0 ->  FFDD5
    CSR    WP
    P=P-1 
    DAT0=C  WP
    CD0EX
    C+P+1 
    P=0
    CD0EX
    *FFDD5 B=0    W 
    D1-1
    GOC  FFE29
    *FFDDE SETDEC
    D0+1
    C=DAT0 16
    D0-1
    B=A    P 
    A=0    P 
    D=C    W 
    C=C+C  W 
    GONC FFDFF
    A+2 B 
    *FFDFF C=C+C  W 
    GONC FFE08
    A=A+1  B 
    *FFE08 C=C+D  W 
    GONC FFE11
    A=A+1  B 
    *FFE11 C=C+B  W 
    GONC FFE1A
    A=A+1  B 
    *FFE1A SETHEX
    DAT0=C 16
    D0+16
    D1-1
    GONC FFDDE
    *FFE29 ?A=0  P  ->  FFE39
    DAT0=A  P 
    D0+2
    GOTO  FFE4D
    *FFE39 C=DAT0  B 
    CSR    B 
    DAT0=C  P 
    D0+1
    GOSBVL =Shrink$
    *FFE4D GOVLNG =GETPTRLOOP
    ENDCODE
  ;
;