mirror of
https://github.com/nathanriggs/AppleIIAsm-Collection.git
synced 2025-08-15 04:27:39 +00:00
- getting ready for major changes for 0.6.0. - be sure to download the 0.5.0 release to ensure proper functionality, as these rountines will not work together in the SRC or BIN folder during the transition - Beginning to significantly alter documentation
42 lines
1.3 KiB
NASM
42 lines
1.3 KiB
NASM
*
|
|
*``````````````````````````````*
|
|
* SUBT16 (NATHAN RIGGS) *
|
|
* *
|
|
* SUBTRACT A 16-BIT SUBTRAHEND *
|
|
* FROM A MINUEND. *
|
|
* *
|
|
* INPUT *
|
|
* *
|
|
* WPAR1 = MINUEND *
|
|
* WPAR2 = SUBTRAHEND *
|
|
* *
|
|
* OUTPUT: *
|
|
* *
|
|
* .A = DIFFERENCE LOW BYTE *
|
|
* .X = DIFFERENCE HIGH BYTE *
|
|
* *
|
|
* DESTROY: AXYNVBDIZCMS *
|
|
* ^^^^ ^^^ *
|
|
* *
|
|
* CYCLES: 29+ *
|
|
* SIZE: 13 BYTES *
|
|
*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*
|
|
*
|
|
]MINU EQU WPAR1 ; MINUEND
|
|
]SUBT EQU WPAR2 ; SUBTRAHEND
|
|
*
|
|
SUBT16
|
|
LDA #2
|
|
STA RETLEN
|
|
LDA ]MINU ; SUBTRACT SUBTRAHEND
|
|
SEC ; LOBYTE FROM MINUEND
|
|
SBC ]SUBT ; LOBYTE
|
|
TAY ; HOLD LOBYTE IN .Y
|
|
LDA ]MINU+1 ; SUBTRACT SUBTRAHEND
|
|
SBC ]SUBT+1 ; HIBYTE FROM MINUEND
|
|
TAX ; HIGH BYTE, PASS IN .X
|
|
TYA ; LOBYTE BACK IN .A
|
|
STA RETURN
|
|
STX RETURN+1
|
|
RTS
|