Work_PD ds 2 ; макс. диаст. │ рабочие
Work_PSmin ds 2 ; мин. систол. │ переменные
Work_PSmax ds 2 ; сред. систол. │
Work_PS ds 2 ; макс. систол. ─┘
;
Count1sec ds 1 ; счетчики
Count1min ds 1 ; времени
Count15min ds 1 ;
org _STATbase-4 ;
StatBase ds 2 ; указ. на начало стат. за сутки
StatPoint ds 1 ; указатель хвоста (последний + 1)
org _STATbase ;
Statistics ds 1152 ; статистика за сутки. Формат
; - по 12байт, как тек. значения
; записей: 24ч*60мин/15мин = 96
;▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
;----------------------------------
; Инверсный семисегментный знакогенератор
;----------------------------------
org ROMend-0Fh ; в самом конце ПЗУ
;,gfedcba
Z_GEN: db NOT(00111111b) ; 0 ┌─A─┐
db NOT(00000110b) ; 1 F B
db NOT(01011011b) ; 2 ├─G─┤
db NOT(01001111b) ; 3 E C
db NOT(01100110b) ; 4 └─D─┘ H
db NOT(01101101b) ; 5
db NOT(01111101b) ; 6
db NOT(00000111b) ; 7
db NOT(01111111b) ; 8
db NOT(01101111b) ; 9
db NOT(00110111b) ; A
db NOT(01111100b) ; b
db NOT(00111001b) ; C
db NOT(01011110b) ; d
db NOT(01111001b) ; E
db NOT(01110001b) ; F
;----------------------------------
;▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
; Стартпрограммы ;
;----------------------------------
org 0000h ;
ZERO: di
JMP ReST7 ; на инициализацию и тесты
;--------------------------------- org 0008h ;
ReST1: MOV A,L ; HL=HL+DE
ADD E ; 16-битное сложение
MOV L,A ;
MOV A,H ;
ADC D ;
MOV H,A ;
RET ;
;--------------------------------- org 0010h ;
ReST2: MOV A,L ; HL=HL-DE
SUB E ; 16-битное вычитание
MOV L,A ;
MOV A,H ;
SBB D ;
MOV H,A ;
RET ;
;--------------------------------- org 0018h ;
ReST3: XRA A ; HL=-HL
SUB L ; 16-битная инверсия
MOV L,A ;
MVI A,00H ;
SBB H ;
MOV H,A ;
RET ;
;--------------------------------- org 0020h ;
ReST4: MOV A,H ; сравнение HL, DE.
CMP D ; HL<DE => CF=1, ZF=0
RC ; HL=DE => CF=0, ZF=1
RNZ ; HL>DE => CF=0, ZF=0
MOV A,L ;
CMP E ;
RET ;
;--------------------------------- org 0028h ;
ReST5: RET ;
;--------------------------------- org 0030h ;
ReST6: RET ;
;----------------------------------
;▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
org 0038h
ReST7: di ; запрет прерываний
lxi sp,_STATbase-10h; загрузка указателя стека
mvi a,PPIinit ; настройка
out Port1RCW ; микросхем ППИ
out Port2RCW ;
xra a
out Port1C ; обнулить выходы
out Port2C ;
cma ; (A) <- FF
out Ind1 ;
out Ind10 ; погасить
out Ind100 ; индикаторы
;----------------------------------
; Модуль проверки ОЗУ
;----------------------------------
; проверка ОЗУ
lxi h,RAMbase ; начало ОЗУ
mvi b,0FFh ;
MEMload2: mov M,b ; загрузка ЕДИНИЦаМИ
inx h ;
mov M,b ; addr+1
inx h ;
mov M,b ; addr+2
inx h ;
mov M,b ; addr+3
inx h ;
mov a,h ;
cpi HIGH(RAMend)+1 ;
JNZ MEMload2 ; поиск 2049-го прохода
lxi h,RAMbase ; начало ОЗУ
MEMread2: mov a,M ; чтение
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.