74 lines
1008 B
NASM
74 lines
1008 B
NASM
;;fshcmddecode
|
|
;;Decodes all commands.
|
|
;;Inputs:
|
|
;; HL: Cmd String mem loc
|
|
;; DE: Op code mem loc
|
|
;;Output:
|
|
;; Sets (DE) with command op code
|
|
fshcmddecode:
|
|
push hl
|
|
push de
|
|
ld de, fshcmdEXIT
|
|
call strcmp
|
|
ld hl, fshcmdEXITo
|
|
pop de
|
|
call z, bytecpy
|
|
pop hl
|
|
|
|
push hl
|
|
push de
|
|
ld de, fshcmdSET
|
|
call strcmp
|
|
ld hl, fshcmdSETo
|
|
pop de
|
|
call z, bytecpy
|
|
pop hl
|
|
|
|
push hl
|
|
push de
|
|
ld de, fshcmdVARS
|
|
call strcmp
|
|
ld hl, fshcmdVARSo
|
|
pop de
|
|
call z, bytecpy
|
|
pop hl
|
|
|
|
push hl
|
|
push de
|
|
ld de, fshcmdCLS
|
|
call strcmp
|
|
ld hl, fshcmdCLSo
|
|
pop de
|
|
call z, bytecpy
|
|
pop hl
|
|
|
|
ret
|
|
|
|
;;fshcmdroute
|
|
;;Routes all commamds.
|
|
;;Inputs:
|
|
;; HL: Op code mem loc
|
|
;;Outputs:
|
|
;; Jp to loc for cmd func
|
|
;; ult go to Fin
|
|
fshcmdroute:
|
|
ld de, fshcmdEXITo
|
|
call bytecmp
|
|
jp z, fshcmdEXITf
|
|
|
|
ld de, fshcmdSETo
|
|
call bytecmp
|
|
jp z, fshcmdSETf
|
|
|
|
ld de, fshcmdVARSo
|
|
call bytecmp
|
|
jp z, fshcmdVARSf
|
|
|
|
ld de, fshcmdCLSo
|
|
call bytecmp
|
|
jp z, fshcmdCLSf
|
|
|
|
jp Fin
|
|
|
|
#include "includes/commands.inc"
|