mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 01:11:48 +03:00
176 lines
3.1 KiB
NASM
176 lines
3.1 KiB
NASM
; Ž¡à ¡®â稪¨ ª®¬ ¤ DATE ¨ TIME
|
|
;
|
|
|
|
|
|
;///////////////////////////////////////////////////
|
|
;
|
|
; DATE. ‚뢮¤ ¨«¨ ãáâ ®¢ª ¤ âë
|
|
;
|
|
;///////////////////////////////////////////////////
|
|
cmd_date:
|
|
ex de,hl ; hl=ª®¬-áâப
|
|
ld de,Buffers.work.buffer1;
|
|
ld c,Dss.GSwitch ; ¢ë¤¥«¨âì ¯ à ¬¥âà ª®¬-áâப¨
|
|
RST ToDSS
|
|
ld de,Buffers.work.buffer1;
|
|
ld a,(de)
|
|
or a
|
|
jr z,.cmd_dt1
|
|
call STR2DEC
|
|
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 STR2DEC
|
|
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 STR2DEC
|
|
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 BC ; [x] ¢ë¢®¤ ¤ï ¥¤¥«¨ 26/01/2023
|
|
push ix
|
|
push de
|
|
ld a,d ; ç¨á«®
|
|
ld hl,Buffers.bat_params.PRM1; ªã¤
|
|
call PUTB ; ¤¥áïâ. ¢ë¢®¤ ¢ ¡ãä¥à
|
|
ld a,"."
|
|
ld (hl),a
|
|
inc hl
|
|
pop de
|
|
ld a,e ; ç¨á«®
|
|
call PUTB ; ¤¥áïâ. ¢ë¢®¤ ¢ ¡ãä¥à
|
|
ld a,"."
|
|
ld (hl),a
|
|
inc hl
|
|
push hl
|
|
pop ix
|
|
pop hl
|
|
call PDIGIT
|
|
; [x] ¢ë¢®¤ ¤ï ¥¤¥«¨ 26/01/2023
|
|
POP DE
|
|
LD D,0
|
|
LD A,E
|
|
CP 8
|
|
JR C,.skip
|
|
LD E,8
|
|
.skip: LD HL,.days
|
|
LD BC,.days.size
|
|
CALL LCPIR
|
|
;
|
|
LD DE,Buffers.bat_params.PRM2
|
|
CALL ncopy_string
|
|
;
|
|
ld de,MAIN_MSG.DATE ; ¨¤¥ªá "Current date: %1"
|
|
jp ECHO_MESSAGE ; ¢ë¢¥á⨠áâபã
|
|
;
|
|
.days: DB 0
|
|
DZ "Sunday"
|
|
DZ "Monday"
|
|
DZ "Tuesday"
|
|
DZ "Wednesday"
|
|
DZ "Thursday"
|
|
DZ "Friday"
|
|
DZ "Saturday"
|
|
DZ "check CMOS!"
|
|
.days.size EQU $ - .days
|
|
|
|
|
|
;///////////////////////////////////////////////////
|
|
;
|
|
; TIME. ‚뢮¤ ¨«¨ ãáâ ®¢ª ¢à¥¬¥¨
|
|
;
|
|
;///////////////////////////////////////////////////
|
|
cmd_time:
|
|
ex de,hl
|
|
;ld de,T9186
|
|
ld de,Buffers.work.buffer1;
|
|
ld c,Dss.GSwitch
|
|
RST ToDSS
|
|
;ld de,T9186
|
|
ld de,Buffers.work.buffer1;
|
|
ld a,(de)
|
|
or a
|
|
jr z,cmd_tm1
|
|
call STR2DEC
|
|
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 STR2DEC
|
|
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 STR2DEC
|
|
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,Buffers.bat_params.PRM1; ªã¤
|
|
call PUTB ; ¤¥áïâ. ¢ë¢®¤ ¢ ¡ãä¥à
|
|
ld a,":"
|
|
ld (hl),a
|
|
inc hl
|
|
pop de
|
|
ld a,e ; ç¨á«®
|
|
call PUTB ; ¤¥áïâ. ¢ë¢®¤ ¢ ¡ãä¥à
|
|
ld a,":"
|
|
ld (hl),a
|
|
inc hl
|
|
pop af ; ç¨á«®
|
|
call PUTB ; ¤¥áïâ. ¢ë¢®¤ ¢ ¡ãä¥à
|
|
xor a
|
|
ld (hl),a ; ¢ ª®¥æ áâப¨
|
|
ld de,MAIN_MSG.TIME ; ¨¤¥ªá "Current time: %1"
|
|
jp ECHO_MESSAGE ; ¢ë¢¥á⨠áâபã
|