From 02e24f0f533fe904c3a5275c4060c10c38d7c17a Mon Sep 17 00:00:00 2001 From: Ján Sučan Date: Wed, 10 May 2017 15:13:29 +0200 Subject: Uvodny commit, subory su rovnake ako na CD prilozenom k vytlacenemu texu bakalarskej prace, naviac je pridany len subor LICENCIA --- firmware/include/SHELL.INC | 51 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100755 firmware/include/SHELL.INC (limited to 'firmware/include/SHELL.INC') diff --git a/firmware/include/SHELL.INC b/firmware/include/SHELL.INC new file mode 100755 index 0000000..f951a7f --- /dev/null +++ b/firmware/include/SHELL.INC @@ -0,0 +1,51 @@ +CMDLOOP: + ; Receive command safely, EXCEPT zero word + CALL REC_BYTE + CMP R14,#0 + JMPR CC_NE,CMDLOOP_ERROR + CMP R15,#CMD_PING + JMPR CC_NE,CMDLOOP_NO_PING + ; Respond to ping + MOV R15,#SHELL_ACK + CALL SEND_BYTE + JMP CMDLOOP +CMDLOOP_NO_PING: + MOV R13,#SEND_BYTE + MOV R12,#REC_BYTE + CALL ACK_DATA + CMP R14,#0 + JMPR CC_EQ,CMDLOOP_OK +CMDLOOP_ERROR: + MOV R15,R14 + CALL SEND_BYTE + JMP CMDLOOP +CMDLOOP_OK: + PUSH R15 + MOV R15,#0 + CALL SEND_BYTE ; Send zero byte + POP R15 ; Restore command number + + CMP R15,#CMD_ERASE_BLOCKS + JMPR CC_NE,CMDLOOP_1 + CALL ERASE_BLOCKS + JMP CMDLOOP +CMDLOOP_1: + CMP R15,#CMD_READ + JMPR CC_NE,CMDLOOP_2 + CALL READ + JMP CMDLOOP +CMDLOOP_2: + CMP R15,#CMD_WRITE + JMPR CC_NE,CMDLOOP_3 + CALL WRITE + JMP CMDLOOP +CMDLOOP_3: + CMP R15,#CMD_IDENTIFY + JMPR CC_NE,CMDLOOP_4 + CALL IDENTIFY + JMP CMDLOOP +CMDLOOP_4: + CMP R15,#CMD_ERASE_CHIP + JMPR CC_NE,CMDLOOP + CALL ERASE_CHIP + JMP CMDLOOP -- cgit v1.2.3