Added MOVE FshCommand

restructured fshvarreset
This commit is contained in:
Stephen Toth 2018-06-28 17:27:59 -04:00
parent 5d5fef9afd
commit abfde4f5bb
6 changed files with 89 additions and 7 deletions

View File

@ -9,8 +9,7 @@ Setup:
CALL _homeup
CALL _ClrLCDFull
LD HL, 0
CALL fshvarfill
CALL fshvarreset
Input:
LD C, $00

Binary file not shown.

View File

@ -33,6 +33,15 @@ fshcmddecode:
call z, bytecpy
pop hl
push hl
push de
ld de, fshcmdMOVE
call strcmp
ld hl, fshcmdMOVEo
pop de
call z, bytecpy
pop hl
push hl
push de
ld de, fshcmdVARS
@ -69,10 +78,14 @@ fshcmdroute:
call bytecmp
jp z, fshcmdSETf
ld de, fshcmdCOPYo
ld de, fshcmdCOPYo
call bytecmp
jp z, fshcmdCOPYf
ld de, fshcmdMOVEo
call bytecmp
jp z, fshcmdMOVEf
ld de, fshcmdVARSo
call bytecmp
jp z, fshcmdVARSf

View File

@ -1,5 +1,6 @@
#include "includes/FshCommands/EXIT.asm"
#include "includes/FshCommands/SET.asm"
#include "includes/FshCommands/COPY.asm"
#include "includes/FshCommands/MOVE.asm"
#include "includes/FshCommands/CLS.asm"
#include "includes/FshCommands/VARS.asm"

View File

@ -0,0 +1,70 @@
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

View File

@ -112,16 +112,15 @@ fshvarcpyOOBException:
pop hl
ret
; fshvarfill
; fshvarreset
;; fills fshvars with word
;; Inputs:
;; HL: 16b
fshvarfill:
fshvarreset:
push hl
push bc
push de
ld b, 0
ld de, 0
ld hl, 0
fshvarfillLoop:
call fshvarset
inc b