Код:
ORG 40000
ENT $
DI
LD (STACK),SP
LD A,#FE
LD I,A
LD H,A
LD L,0
LD B,L
INC A
L_SAV LD (HL),A
INC L
DJNZ L_SAV
INC H
LD (HL),A
LD A,24
LD (#FFFF),A
LD A,#C3
LD (#FFF4),A
LD HL,INTER
LD (#FFF5),HL
IM 2
LD DE,INTER2
LD HL,0
EI
HALT
INTER
LD (#FFF5),DE
EI
L_INC INC HL
JP L_INC
INTER2 LD DE,-5
LD BC,-1
L_DIV ADD HL,DE
INC BC
JR C,L_DIV
SLA C
RL B
SLA C
RL B
IM 1
LD A,#3F
LD I,A
EI
STACK EQU $+1
LD SP,0
PUSH BC
LD HL,TEXT
CALL PRINT
POP HL
LD DE,-1000
CALL DIVOUT
LD A,"."
CALL PR_CHR
LD DE,-100
CALL DIVOUT
LD DE,-10
CALL DIVOUT
LD DE,-1
CALL DIVOUT
LD HL,_MHZ
CALL PRINT
LD HL,_ROMN
CALL PRINT
LD HL,5433
CALL PRINT
LD HL,_D_LF
CALL PRINT
LD HL,#3D00
XOR A
L_SUM ADC A,(HL)
INC HL
BIT 6,H
JR Z,L_SUM
CP 237
LD HL,_NFONT
JR NZ,M_FONT
LD HL,_SFONT
M_FONT
CALL PRINT
LD HL,14446
LD A,#FF
L_AND AND (HL)
INC HL
LD E,A
LD A,H
CP #3D
LD A,E
JR NZ,L_AND
LD HL,_NUSE
INC A
JR Z,M_NUSE
LD HL,_USE
M_NUSE CALL PRINT
LD HL,_RAM
CALL PRINT
LD HL,#C000
LD BC,#7FFD
LD A,#10
OUT (C),A
LD D,(HL)
LD A,#17
OUT (C),A
LD A,D
CPL
LD (HL),A
LD A,#10
OUT (C),A
LD A,(HL)
LD (HL),D
CP D
LD HL,_128K
JR Z,M128
LD HL,_48K
M128 JR PRINT
PR_CHR PUSH HL
RST #10
POP HL
RET
PRINT LD A,(HL)
AND #7F
CALL PR_CHR
BIT 7,(HL)
RET NZ
INC HL
JR PRINT
DIVOUT LD A,"0"-1
DIV_L1 ADD HL,DE
INC A
JR C,DIV_L1
SBC HL,DE
JR PR_CHR
TEXT DEFB 22,0,0,127
DEFM '1992 WRITTEN BY ALEXANDER TRUSH'
DEFB 13
DEFM ' Odessa OPI AT903 28-VIII-92'
DEFB 13,13
DEFM 'System Information V1.01'
DEFB 13,13,13
DEFM ' CPU FREQ:'
DEFB " "+128
_MHZ DEFM ' MHz.'
_D_LF DEFB 13,13+128
_ROMN DEFM ' ROM:'
DEFB 13,13
DEFM ' -Name:'
DEFB 13," "," "," "+128
_SFONT DEFM ' -Standard font.'
DEFB 13,13+128
_NFONT DEFM ' -Non standard font.'
DEFB 13,13+128
_NUSE DEFM ' -Free zone not used.'
DEFB 13,13+128
_USE DEFM ' -Free zone used.'
DEFB 13,13+128
_RAM DEFM ' RAM:'
DEFB " "+128
_128K DEFM '128K'
DEFB 13,13+128
_48K DEFM '48K'
DEFB 13,13+128