MULT16
         PLA
         STA   RETADR
         PLA
         STA   RETADR+1
         PLA
         STA   :MLIER
         PLA
         STA   :MLIER+1
         PLA
         STA   :MCAND
         PLA
         STA   :MCAND+1
         LDA   #0
         STA   :HPROD     
         STA   :HPROD+1
         LDX   #17        
                          
                          
                          
         CLC   
         
:MULLP
         ROR   :HPROD+1
         ROR   :HPROD
         ROR   :MLIER+1
         ROR   :MLIER
         BCC   :DECCNT    

         CLC   

         LDA   :MCAND
         ADC   :HPROD
         STA   :HPROD
         LDA   :MCAND+1
         ADC   :HPROD+1
         STA   :HPROD+1   

:DECCNT
         DEX
         BNE   :MULLP     

         LDY   :HPROD     
         LDX   :HPROD+1   
         LDA   :MLIER+1
         TAX
         STX   RETURN+1
         LDA   :MLIER
         TAY
         STY   RETURN
         LDA   :HPROD
         STA   RETURN+2
         LDA   #2
         STA   RETLEN
         LDA   RETADR+1
         PHA
         LDA   RETADR
         PHA
         LDA   :HPROD     ;24BIT
         RTS
:MCAND   DS    3
:MLIER   DS    3
:HPROD   DS    2
