mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-29 17:50:18 +00:00
176 lines
2.4 KiB
Plaintext
176 lines
2.4 KiB
Plaintext
|
NEW
|
|||
|
AUTO 3,1
|
|||
|
*--------------------------------------
|
|||
|
STRVX.StrVShift jsr K.GetMemPtr
|
|||
|
>STYA ZPPtr1 strV
|
|||
|
|
|||
|
.1 inx
|
|||
|
beq .2
|
|||
|
|
|||
|
jsr STRVX.NStrPtr1
|
|||
|
bcc .1
|
|||
|
|
|||
|
rts
|
|||
|
|
|||
|
.2 >LDYA ZPPtr1
|
|||
|
>STYA ZPPtr2
|
|||
|
|
|||
|
jsr STRVX.NStrPtr1
|
|||
|
|
|||
|
jsr STRVX.Ptr1Ptr2cpy
|
|||
|
clc
|
|||
|
rts
|
|||
|
*--------------------------------------
|
|||
|
STRVX.StrVGet jsr K.GetMemPtr
|
|||
|
>STYA ZPPtr1 strV
|
|||
|
|
|||
|
.1 inx
|
|||
|
beq .2
|
|||
|
|
|||
|
jsr STRVX.NStrPtr1
|
|||
|
bcc .1
|
|||
|
|
|||
|
rts
|
|||
|
|
|||
|
.2 lda (ZPPtr1)
|
|||
|
tay
|
|||
|
bne .3
|
|||
|
|
|||
|
sec
|
|||
|
rts Y,A = 0
|
|||
|
|
|||
|
.3 lda FORPNT+1
|
|||
|
beq .8
|
|||
|
|
|||
|
.4 ldy #$ff
|
|||
|
|
|||
|
.5 iny
|
|||
|
lda (ZPPtr1),y
|
|||
|
jsr SHARED.FORPNT.PutY
|
|||
|
bne .5
|
|||
|
|
|||
|
>LDYA FORPNT
|
|||
|
clc
|
|||
|
rts
|
|||
|
|
|||
|
.8 >LDYA ZPPtr1
|
|||
|
clc
|
|||
|
.9 rts
|
|||
|
*--------------------------------------
|
|||
|
STRVX.StrVAdd jsr K.GetMemPtr
|
|||
|
>STYA ZPPtr1
|
|||
|
|
|||
|
lda TXTPTR+1
|
|||
|
bne .10
|
|||
|
|
|||
|
sta (ZPPtr1)
|
|||
|
clc
|
|||
|
rts
|
|||
|
|
|||
|
.10 lda #1 for \0
|
|||
|
sta ZPPtr2
|
|||
|
stz ZPPtr2+1
|
|||
|
|
|||
|
.1 jsr STRVX.NStrPtr1
|
|||
|
bcs .2
|
|||
|
|
|||
|
jsr SHARED.AddYp1ToPtr2
|
|||
|
bra .1
|
|||
|
|
|||
|
.2 ldy #$ff
|
|||
|
|
|||
|
.3 iny
|
|||
|
jsr SHARED.TXTPTR.GetY
|
|||
|
bne .3
|
|||
|
|
|||
|
tya
|
|||
|
sec
|
|||
|
adc ZPPtr2
|
|||
|
bcc .4
|
|||
|
|
|||
|
inc ZPPtr2+1
|
|||
|
|
|||
|
ldy #S.MEM.LEN
|
|||
|
lda (ZPMemMgrSPtr),y
|
|||
|
cmp ZPPtr2
|
|||
|
|
|||
|
iny
|
|||
|
lda (ZPMemMgrSPtr),y
|
|||
|
sbc ZPPtr2+1
|
|||
|
bcs .4
|
|||
|
|
|||
|
lda #E.OOM
|
|||
|
sec
|
|||
|
rts
|
|||
|
|
|||
|
.4 ldy #$ff
|
|||
|
|
|||
|
.5 iny
|
|||
|
jsr SHARED.TXTPTR.GetY
|
|||
|
sta (ZPPtr1),y
|
|||
|
bne .5
|
|||
|
|
|||
|
iny
|
|||
|
sta (ZPPtr1),y StrV Ending \0
|
|||
|
|
|||
|
clc
|
|||
|
rts
|
|||
|
*--------------------------------------
|
|||
|
STRVX.NStrPtr1 ldy #$ff
|
|||
|
|
|||
|
.1 iny
|
|||
|
|
|||
|
lda (ZPPtr1)
|
|||
|
beq .2
|
|||
|
|
|||
|
inc ZPPtr1
|
|||
|
bne .1
|
|||
|
inc ZPPtr1+1
|
|||
|
bra .1
|
|||
|
|
|||
|
.2 tya
|
|||
|
beq .9
|
|||
|
|
|||
|
inc ZPPtr1
|
|||
|
bne .8
|
|||
|
inc ZPPtr1+1 skip \0
|
|||
|
|
|||
|
.8 clc
|
|||
|
rts
|
|||
|
|
|||
|
.9 sec Y,A = 0
|
|||
|
rts
|
|||
|
*--------------------------------------
|
|||
|
STRVX.Ptr1Ptr2cpy
|
|||
|
ldx #0
|
|||
|
ldy #0
|
|||
|
|
|||
|
.4 lda (ZPPtr1),y
|
|||
|
sta (ZPPtr2),y
|
|||
|
beq .6
|
|||
|
|
|||
|
.5 iny
|
|||
|
bne .4
|
|||
|
|
|||
|
inc ZPPtr1+1
|
|||
|
inc ZPPtr2+1
|
|||
|
bra .4
|
|||
|
|
|||
|
.6 inx
|
|||
|
|
|||
|
iny
|
|||
|
bne .7
|
|||
|
|
|||
|
inc ZPPtr1+1
|
|||
|
inc ZPPtr2+1
|
|||
|
|
|||
|
.7 lda (ZPPtr1),y
|
|||
|
sta (ZPPtr2),y Ending \0 ?
|
|||
|
bne .5
|
|||
|
rts
|
|||
|
*--------------------------------------
|
|||
|
MAN
|
|||
|
SAVE USR/SRC/SYS/KERNEL.S.STRVX
|
|||
|
LOAD USR/SRC/SYS/KERNEL.S
|
|||
|
ASM
|