Estex-DSS/SHELL/Commands/DATE.ASM

153 lines
2.7 KiB
NASM

; Ž¡à ¡®â稪¨ ª®¬ ­¤ DATE ¨ TIME
;
;///////////////////////////////////////////////////
;
; DATE. ‚뢮¤ ¨«¨ ãáâ ­®¢ª  ¤ âë
;
;///////////////////////////////////////////////////
cmd_date:
ex de,hl ; hl=ª®¬-áâப 
;ld de,T9186 ; ¡ãä¥à
ld de,work_buffer1;
ld c,Dss.GSwitch ; ¢ë¤¥«¨âì ¯ à ¬¥âà ª®¬-áâப¨
RST ToDSS
;ld de,T9186
ld de,work_buffer1;
ld a,(de)
or a
jr z,cmd_dt1
call A893C
jp c,invalid_param ; "Invalid parametr"
xor a
cp h
jp nz,invalid_param ; "Invalid parametr"
ld a,31
cp l
jp c,invalid_param ; "Invalid parametr"
ld b,l
push bc
call A893C
pop bc
jp c,invalid_param ; "Invalid parametr"
xor a
cp h
jp nz,invalid_param ; "Invalid parametr"
ld a,12
cp l
jp c,invalid_param ; "Invalid parametr"
ld c,l
push bc
call A893C
push hl
ld c,Dss.SysTime
RST ToDSS
pop ix
pop de
ld c,Dss.SetTime
RST ToDSS
cmd_dt1:ld c,Dss.SysTime
RST ToDSS
push ix
push de
ld a,d ; ç¨á«®
ld hl,PRM1 ; ªã¤ 
call A8913 ; ¤¥áïâ. ¢ë¢®¤ ¢ ¡ãä¥à
ld a,"."
ld (hl),a
inc hl
pop de
ld a,e ; ç¨á«®
call A8913 ; ¤¥áïâ. ¢ë¢®¤ ¢ ¡ãä¥à
ld a,"."
ld (hl),a
inc hl
push hl
pop ix
pop hl
call A8964
ld de,MAIN_MSG.DATE ; ¨­¤¥ªá "Current date: %1"
jp MESSAGE ; ¢ë¢¥á⨠áâபã
;///////////////////////////////////////////////////
;
; TIME. ‚뢮¤ ¨«¨ ãáâ ­®¢ª  ¢à¥¬¥­¨
;
;///////////////////////////////////////////////////
cmd_time:
ex de,hl
;ld de,T9186
ld de,work_buffer1;
ld c,Dss.GSwitch
RST ToDSS
;ld de,T9186
ld de,work_buffer1;
ld a,(de)
or a
jr z,cmd_tm1
call A893C
jp c,invalid_param ; "Invalid parametr"
xor a
cp h
jp nz,invalid_param ; "Invalid parametr"
ld a,23
cp l
jp c,invalid_param ; "Invalid parametr"
ld b,l
push bc
call A893C
pop bc
jp c,invalid_param ; "Invalid parametr"
xor a
cp h
jp nz,invalid_param ; "Invalid parametr"
ld a,59
cp l
jp c,invalid_param ; "Invalid parametr"
ld c,l
push bc
call A893C
pop bc
jp c,invalid_param ; "Invalid parametr"
xor a
cp h
jp nz,invalid_param ; "Invalid parametr"
ld a,59
cp l
jp c,invalid_param ; "Invalid parametr"
push bc
ld a,l
push af
ld c,Dss.SysTime
RST ToDSS
pop bc
pop hl
ld c,Dss.SetTime
RST ToDSS
cmd_tm1:ld c,Dss.SysTime
RST ToDSS
push bc
push hl
ld a,h ; ç¨á«®
ld hl,PRM1 ; ªã¤ 
call A8913 ; ¤¥áïâ. ¢ë¢®¤ ¢ ¡ãä¥à
ld a,":"
ld (hl),a
inc hl
pop de
ld a,e ; ç¨á«®
call A8913 ; ¤¥áïâ. ¢ë¢®¤ ¢ ¡ãä¥à
ld a,":"
ld (hl),a
inc hl
pop af ; ç¨á«®
call A8913 ; ¤¥áïâ. ¢ë¢®¤ ¢ ¡ãä¥à
xor a
ld (hl),a ; ¢ ª®­¥æ áâப¨
ld de,MAIN_MSG.TIME ; ¨­¤¥ªá "Current time: %1"
jp MESSAGE ; ¢ë¢¥á⨠áâபã