;;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, fshcmdCOPY call strcmp ld hl, fshcmdCOPYo pop de 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, fshcmdCLS call strcmp ld hl, fshcmdCLSo 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, fshcmdSLEEP call strcmp ld hl, fshcmdSLEEPo pop de call z, bytecpy pop hl ret ;;fshcmdroute ;;Routes FshCommamds. ;;Inputs: ;; HL: Op code mem loc ;;Outputs: ;; Jp to loc for cmd func fshcmdroute: pop bc ;pop the ret loc from stack into bc ld de, fshcmdEXITo call bytecmp jp z, fshcmdEXITf ld de, fshcmdSETo call bytecmp jp z, fshcmdSETf ld de, fshcmdCOPYo call bytecmp jp z, fshcmdCOPYf ld de, fshcmdMOVEo call bytecmp jp z, fshcmdMOVEf ld de, fshcmdCLSo call bytecmp jp z, fshcmdCLSf ld de, fshcmdVARSo call bytecmp jp z, fshcmdVARSf ld de, fshcmdSLEEPo call bytecmp jp z, fshcmdSLEEPf push bc ;put ret location back on stack ret #include "includes/FshCommands/FshCommands.inc"