mirror of
https://github.com/Tolik-Trek/Estex-DSS.git
synced 2026-06-15 09:21:47 +03:00
85 lines
1.3 KiB
NASM
85 lines
1.3 KiB
NASM
;///////////////////////////////////////////////////
|
|
;
|
|
; VER, VERSION. ‚뢮¤ ¢¥àᨨ „Ž‘
|
|
;
|
|
;///////////////////////////////////////////////////
|
|
cmd_version:
|
|
LD C,Dss.Version
|
|
RST ToDSS
|
|
LD L,D
|
|
LD H,E
|
|
LD DE,PRM1
|
|
CALL .Set_Ver_to_PRM ; set DSS version
|
|
;R13
|
|
LD HL,256*CONSOLE_MODF + CONSOLE_VERS
|
|
LD BC,CONSOLE_BUILD
|
|
LD DE,PRM2
|
|
CALL .Set_Ver_to_PRM ; set Shell version
|
|
;R13
|
|
LD DE,VERSMSG
|
|
JP MESSAGE
|
|
; ¢å®¤: hl=ç¨á«®, de=¡ãä¥à
|
|
.num_ver:
|
|
.num_mod:
|
|
ld ix,.tmp1__
|
|
res 7,(ix+0)
|
|
jr .decim
|
|
|
|
; ¢å®¤: hl=ç¨á«®, de=¡ãä¥à
|
|
.num_build:
|
|
ld ix,.tmp1__
|
|
res 7,(ix+0)
|
|
ld bc,100 ; 100
|
|
call .num16
|
|
|
|
.decim: ld bc,10 ; 10
|
|
call .num16
|
|
ld a,l
|
|
add a,"0"
|
|
jr .num16_exit
|
|
|
|
.tmp1__: BYTE 0
|
|
|
|
.num16: ld a,'0'-1
|
|
and a
|
|
inc a
|
|
sbc hl,bc
|
|
jr nc,$-3
|
|
add hl,bc
|
|
cp "0"
|
|
jr z,$+6
|
|
set 7,(ix+0)
|
|
bit 7,(ix+0)
|
|
ret z
|
|
.num16_exit:
|
|
ld (de),a ; á®åà. ¢ ¡ãä¥à¥
|
|
inc de
|
|
ret
|
|
;
|
|
; ‚室:
|
|
; L - ®¬¥à ¢¥àᨨ (0..9)
|
|
; H - ®¬¥à ¬®¤¨ä¨ª 樨 (0..99)
|
|
; BC - ®¬¥à ¡¨«¤ (0..999)
|
|
; DE - ®¬¥à ¯ à ¬¥âà
|
|
.Set_Ver_to_PRM:
|
|
PUSH BC
|
|
PUSH HL
|
|
LD H,0
|
|
CALL .num_ver ;decim2 ®¬¥à ¢¥àᨨ (0..9)
|
|
LD A,'.'
|
|
LD (DE),A
|
|
INC DE
|
|
POP HL
|
|
LD L,H
|
|
LD H,0
|
|
CALL .num_mod ;decim2 ®¬¥à ¬®¤¨ä¨ª 樨 (0..99)
|
|
POP HL
|
|
LD A,'.'
|
|
LD (DE),A
|
|
INC DE
|
|
CALL .num_build ;decim3 ®¬¥à ¡¨«¤ (0..999)
|
|
XOR A
|
|
LD (DE),A
|
|
RET
|
|
;
|