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 _homeup
CALL _ClrLCDFull CALL _ClrLCDFull
LD HL, 0 CALL fshvarreset
CALL fshvarfill
Input: Input:
LD C, $00 LD C, $00

Binary file not shown.

View File

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

View File

@ -1,5 +1,6 @@
#include "includes/FshCommands/EXIT.asm" #include "includes/FshCommands/EXIT.asm"
#include "includes/FshCommands/SET.asm" #include "includes/FshCommands/SET.asm"
#include "includes/FshCommands/COPY.asm" #include "includes/FshCommands/COPY.asm"
#include "includes/FshCommands/MOVE.asm"
#include "includes/FshCommands/CLS.asm" #include "includes/FshCommands/CLS.asm"
#include "includes/FshCommands/VARS.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 pop hl
ret ret
; fshvarfill ; fshvarreset
;; fills fshvars with word ;; fills fshvars with word
;; Inputs: fshvarreset:
;; HL: 16b
fshvarfill:
push hl push hl
push bc push bc
push de push de
ld b, 0 ld b, 0
ld de, 0 ld de, 0
ld hl, 0
fshvarfillLoop: fshvarfillLoop:
call fshvarset call fshvarset
inc b inc b