cryptocmdunROT: .db "ROT", 0 cryptocmdunROTm: .db "ROT Cypher, rotates the alphabet and Decodes a string", 0 cryptocmdunROTu: .db "ROT ", 0 cryptocmdunROTf: cryptocmdunROTfArg1: ld hl, FshCmdArgFlags bit 3, (hl) jr nz, cryptocmdunROTfArg2 bit 2, (hl) jr z, cryptocmdunROTfArg1Get ld hl, ErrUsageo call ErrSet call ErrCatch cryptocmdunROTfArg1Get: ld hl, cryptocmdunROTfDShift call printprompt ld hl, FshCmdArg1 ld de, 3 call inputnumstr call strtow ld de, FshCmdArg1 ex de, hl ld (hl), e call _NewLine cryptocmdunROTfArg2: jr cryptocmdunROTfArg2Get ld hl, FshCmdArg2 ld de, FshScratch call strcpy ld hl, FshCmdArgFlags bit 5, (hl) jr z, cryptocmdunROTfExe bit 4, (hl) jr z, cryptocmdunROTfArg2Get ld hl, ErrUsageo call ErrSet call ErrCatch cryptocmdunROTfArg2Get: ld hl, cryptocmdunROTfDMessage call printprompt ld hl, FshScratch ld de, FshScratchSize - 4 call inputcharstr call _NewLine cryptocmdunROTfExe: ld hl, FshCmdArg1 ld a, (hl) ld hl, FshScratch call rotletdecrypt push hl ld hl, cryptocmdunROTfDResult call _PutS pop hl call _PutS call _NewLine jp Fin cryptocmdunROTfDShift: .db "Shift= ", 0 cryptocmdunROTfDMessage: .db "CypherText= ", 0 cryptocmdunROTfDResult: .db "Result: ", 0