fsh-shell/includes/commands/COPY.asm

68 lines
1.1 KiB
NASM

fshcmdCOPY: .db "COPY", 0
fshcmdCOPYo: .db $02
fshcmdCOPYu: .db "Copys a value in FSH memory to another addess", 0
fshcmdCOPYf:
fshcmdCOPYfArg0:
ld hl, FshCmdArg0
ld de, 0
ld e, (hl)
inc hl
ld d, (hl)
ex de, hl
ld de, 0
call cpHLDE
jr nz, fshcmdCOPYfArg1
fshcmdCOPYfArg0Get:
ld a, 'G'
call _PutC
xor a
ld (CurCol), a
ld hl, fshcmdCOPYfDSource
call _PutS
ld hl, fshcmdCOPYfInputBuffer
ld de, 3
call inputnumstr
call strtob
ld hl, FshCmdArg0
ld (hl), a
call _NewLine
fshcmdCOPYfArg1:
ld hl, FshCmdArg1
ld de, 0
ld e, (hl)
inc hl
ld d, (hl)
ex de, hl
ld de, 0
call cpHLDE
jr nz, fshcmdCOPYfExe
fshcmdCOPYfArg1Get:
xor a
ld (CurCol), a
ld hl, fshcmdCOPYfDDestination
call _PutS
ld hl, fshcmdCOPYfInputBuffer
ld de, 3
call inputnumstr
call strtob
ex de, hl
ld hl, FshCmdArg1
ld (hl), a
fshcmdCOPYfExe:
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
call _NewLine
jp ErrCatch
fshcmdCOPYfInputBuffer: .db $00, $00, $00, $00, $00, $00
fshcmdCOPYfDSource: .db "Source= ", 0
fshcmdCOPYfDDestination: .db "Destination= ", 0