57 lines
1.1 KiB
NASM
57 lines
1.1 KiB
NASM
cryptocmdROT: .db "ROT", 0
|
|
cryptocmdROTo: .db $40
|
|
cryptocmdROTm: .db "ROT Cypher, rotates the alphabet and encodes a string", 0
|
|
cryptocmdROTu: .db "ROT <shift#>", 0
|
|
cryptocmdROTf:
|
|
cryptocmdROTfArg0:
|
|
ld hl, FshCmdArgFlags
|
|
bit 1, (hl)
|
|
jr nz, cryptocmdROTfArg1
|
|
bit 0, (hl)
|
|
jr z, cryptocmdROTfArg0Get
|
|
ld hl, ErrUsageo
|
|
call ErrSet
|
|
call ErrCatch
|
|
cryptocmdROTfArg0Get:
|
|
ld hl, cryptocmdROTfDShift
|
|
call printprompt
|
|
ld hl, FshCmdArg0
|
|
ld de, 3
|
|
call inputnumstr
|
|
call strtow
|
|
ld de, FshCmdArg0
|
|
ex de, hl
|
|
ld (hl), e
|
|
call _NewLine
|
|
cryptocmdROTfArg1:
|
|
jr cryptocmdROTfArg1Get
|
|
ld hl, FshCmdArg1
|
|
ld de, FshScratch
|
|
call strcpy
|
|
ld hl, FshCmdArgFlags
|
|
bit 3, (hl)
|
|
jr z, cryptocmdROTfExe
|
|
bit 2, (hl)
|
|
jr z, cryptocmdROTfArg1Get
|
|
ld hl, ErrUsageo
|
|
call ErrSet
|
|
call ErrCatch
|
|
cryptocmdROTfArg1Get:
|
|
ld hl, cryptocmdROTfDMessage
|
|
call printprompt
|
|
ld hl, FshScratch
|
|
ld de, FshScratchSize - 4
|
|
call inputstr
|
|
call _NewLine
|
|
cryptocmdROTfExe:
|
|
ld hl, FshCmdArg0
|
|
ld a, (hl)
|
|
ld hl, FshScratch
|
|
call rotasciiencrypt
|
|
call _PutS
|
|
call _NewLine
|
|
jp Fin
|
|
|
|
cryptocmdROTfDShift: .db "Shift= ", 0
|
|
cryptocmdROTfDMessage: .db "Message= ", 0
|