mirror of
https://github.com/A2osX/A2osX.git
synced 2024-07-07 04:28:56 +00:00
78 lines
1.2 KiB
Plaintext
78 lines
1.2 KiB
Plaintext
NEW
|
||
PREFIX
|
||
AUTO 4,1
|
||
.LIST OFF
|
||
*--------------------------------------
|
||
* Uses: (pData)
|
||
* M32.ACC .BS 4
|
||
* M32.ARG .BS 4
|
||
* M32.TMP .BS 4
|
||
*--------------------------------------
|
||
M32.Add ldy #M32.ARG+4 ARG+ACC->ACC
|
||
|
||
.1 dey
|
||
lda (pData),y
|
||
pha
|
||
cpy #M32.ARG
|
||
bne .1
|
||
|
||
ldy #M32.ACC
|
||
ldx #4
|
||
|
||
clc
|
||
|
||
.2 pla
|
||
adc (pData),y
|
||
sta (pData),y
|
||
iny
|
||
dex
|
||
bne .2
|
||
|
||
rts if CS, Overflow
|
||
*---------------------------------------
|
||
M32.Sub ldy #M32.ARG+4 ARG+ACC->ACC
|
||
|
||
.1 dey
|
||
lda (pData),y
|
||
pha
|
||
cpy #M32.ARG
|
||
bne .1
|
||
|
||
ldy #M32.ACC
|
||
ldx #4
|
||
|
||
sec
|
||
|
||
.2 pla
|
||
sbc (pData),y
|
||
sta (pData),y
|
||
iny
|
||
dex
|
||
bne .2
|
||
|
||
bcs .8 if CC, Overflow
|
||
|
||
sec
|
||
rts
|
||
|
||
.8 clc
|
||
rts
|
||
*--------------------------------------
|
||
* http://6502.org/source/integers/32muldiv.htm
|
||
*--------------------------------------
|
||
M32.Mul
|
||
*--------------------------------------
|
||
M32.Div
|
||
|
||
sec
|
||
rts
|
||
*--------------------------------------
|
||
M32.Mod
|
||
|
||
|
||
clc
|
||
rts
|
||
*--------------------------------------
|
||
MAN
|
||
SAVE USR/SRC/X.M32.S
|