*``````````````````````````````*
* ADDIT16 :: ADD 16-BIT VALUES *
*-                            -*
* ADDS TWO SIXTEEN BIT VALUES  *
* AND RETURNS A 16 BIT VALUE   *
* IN .Y (LOW) AND .X (HIGH).   *
* CAN BE SIGNED OR UNSIGNED.   *
*-                            -*
* CLOBBERS:                    *
*                              *
* FLAGS:  ????----  REG: AXYM  *
*-                            -*
* CYCLES: ???                  *
* SIZE:                        *
*-                            -*
* USAGE:                       *
*                              *
*  LDA  #>1000                 *
*  PHA                         *
*  LDA  #<1000                 *
*  PHA                         *
*  LDA  #>1200 ; ADD2          *
*  PHA                         *
*  LDA  #<1200                 *
*  PHA                         *
*  JSR ADDIT16                 *
*-                            -*
* ENTRY                        *
*                              *
* TOP OF STACK                 *
*                              *
* LOW BYTE OF RETURN ADDRESS   *
* HI BYTE OF RETURN ADDRESS    *
* ADDEND 2 LOW BYTE            *
* ADDEND 2 HIGH BYTE           *
* ADDEND 1 LOW BYTE            *
* ADDEND 1 HIGH BYTE           *
*-                            -*
* EXIT                         *
*                              *
* TOP OF STACK                 *
*                              *
* LOW BYTE OF RETURN ADDRESS   *
* HI BYTE OF RETURN ADDRESS    *
*                              *
* .Y = LOW BYTE OF RESULT      *
* .X = HIGH BYTE OF RESULT     *
* .A = LOW BYTE OF RET ADDR    *
*                              *
* [RETURN] = RESULT (2 BYTES)  *
* [RETLEN] = 2 (RESULT LENGTH) *
*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*
*
ADDIT16
*
** GET RETURN ADDR
*
         PLA
         STA   RETADR
         PLA
         STA   RETADR+1
*
** GET PARAMETERS
*
         PLA
         STA   :ADD2
         PLA
         STA   :ADD2+1
         PLA
         STA   :ADD1
         PLA
         STA   :ADD1+1
*
         LDA   :ADD1
         CLC
         ADC   :ADD2
         TAY              ; LOW BYTE
         STY   RETURN
         LDA   :ADD1+1
         ADC   :ADD2+1
         TAX              ; HIGH BYTE
         STX   RETURN+1
         LDA   #2
         STA   RETLEN
*
** RESTORE RETURN ADDRESS
*
         LDA   RETADR+1
         PHA
         LDA   RETADR
         PHA
*
         RTS
*
** DATA
*
:ADD1    DS    2
:ADD2    DS    2
*
