fsh-shell/includes/commands/SET.asm

71 lines
1.1 KiB
NASM

fshcmdSET: .db "SET", 0
fshcmdSETo: .db $01
fshcmdSETu: .db "Sets a value in FSH memory", 0
fshcmdSETf:
fshcmdSETfArg0:
ld hl, FshCmdArg0
ld de, 0
ld e, (hl)
inc hl
ld d, (hl)
ex de, hl
ld de, 0
call cpHLDE
jr nz, fshcmdSETfArg1
fshcmdSETfArg0Get:
ld a, 'G'
call _PutC
xor a
ld (CurCol), a
ld hl, fshcmdSETfDIndex
call _PutS
ld hl, fshcmdSETfInputBuffer
ld de, 3
call inputnumstr
call strtob
ld hl, FshCmdArg0
ld (hl), a
call _NewLine
fshcmdSETfArg1:
ld hl, FshCmdArg1
ld de, 0
ld e, (hl)
inc hl
ld d, (hl)
ex de, hl
ld de, 0
call cpHLDE
jr nz, fshcmdSETfExe
fshcmdSETfArg1Get:
xor a
ld (CurCol), a
ld hl, fshcmdSETfDValue
call _PutS
ld hl, fshcmdSETfInputBuffer
ld de, 5
call inputnumstr
call strtow
ex de, hl
ld hl, FshCmdArg1
ld (hl), d
inc hl
ld (hl), e
fshcmdSETfExe:
ld hl, FshCmdArg0
ld de, 0
ld e, (hl)
push de
ld hl, FshCmdArg1
ld d, (hl)
inc hl
ld e, (hl)
ex de, hl
pop de
call fshvarset
call _NewLine
jp ErrCatch
fshcmdSETfInputBuffer: .db $00, $00, $00, $00, $00, $00
fshcmdSETfDIndex: .db "Index= ", 0
fshcmdSETfDValue: .db "Value= ", 0