71 lines
1.1 KiB
NASM
71 lines
1.1 KiB
NASM
fshcmdMOVE: .db "MOVE", 0
|
|
fshcmdMOVEo: .db $03
|
|
fshcmdMOVEu: .db "Move a value in FSH memory to another addess", 0
|
|
fshcmdMOVEf:
|
|
fshcmdMOVEfArg0:
|
|
ld hl, FshCmdArg0
|
|
ld de, 0
|
|
ld e, (hl)
|
|
inc hl
|
|
ld d, (hl)
|
|
ex de, hl
|
|
ld de, 0
|
|
call cpHLDE
|
|
jr nz, fshcmdMOVEfArg1
|
|
fshcmdMOVEfArg0Get:
|
|
ld a, 'G'
|
|
call _PutC
|
|
xor a
|
|
ld (CurCol), a
|
|
ld hl, fshcmdMOVEfDSource
|
|
call _PutS
|
|
ld hl, fshcmdMOVEfInputBuffer
|
|
ld de, 3
|
|
call inputnumstr
|
|
call strtob
|
|
ld hl, FshCmdArg0
|
|
ld (hl), a
|
|
call _NewLine
|
|
fshcmdMOVEfArg1:
|
|
ld hl, FshCmdArg1
|
|
ld de, 0
|
|
ld e, (hl)
|
|
inc hl
|
|
ld d, (hl)
|
|
ex de, hl
|
|
ld de, 0
|
|
call cpHLDE
|
|
jr nz, fshcmdMOVEfExe
|
|
fshcmdMOVEfArg1Get:
|
|
xor a
|
|
ld (CurCol), a
|
|
ld hl, fshcmdMOVEfDDestination
|
|
call _PutS
|
|
ld hl, fshcmdMOVEfInputBuffer
|
|
ld de, 3
|
|
call inputnumstr
|
|
call strtob
|
|
ex de, hl
|
|
ld hl, FshCmdArg1
|
|
ld (hl), a
|
|
fshcmdMOVEfExe:
|
|
ld hl, FshCmdArg0
|
|
ld de, 0
|
|
ld e, (hl)
|
|
ex de, hl
|
|
push hl
|
|
ld hl, FshCmdArg1
|
|
ld de, 0
|
|
ld e, (hl)
|
|
pop hl
|
|
call fshvarcpy
|
|
ex de, hl
|
|
ld hl, 0
|
|
call fshvarset
|
|
call _NewLine
|
|
jp ErrCatch
|
|
|
|
fshcmdMOVEfInputBuffer: .db $00, $00, $00, $00
|
|
fshcmdMOVEfDSource: .db "Source= ", 0
|
|
fshcmdMOVEfDDestination: .db "Destination= ", 0
|