fsh-shell/includes/commands/SET.asm

65 lines
1.0 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, 3
call inputnumstr
call strtob
ld hl, FshCmdArg1
ld (hl), a
fshcmdSETfExe:
ld hl, FshCmdArg0
ld de, 0
ld e, (hl)
ld hl, FshCmdArg1
ld b, (hl)
ld hl, 0
ld l, b
call fshvarset
call _NewLine
jp Fin
fshcmdSETfInputBuffer: .db $00,$00,$00,$00
fshcmdSETfDIndex: .db "Index= ", 0
fshcmdSETfDValue: .db "Value= ", 0