/p>
cmp cl, -4; Порівняємо CL з -4 p> jne next; Не дорівнює - виконаємо ще раз
jmp ent1; Так само - перехід на ent1
ras: mov [Time + si], ':'; Запишемо в змінну time - В«:В»
inc si; Збільшимо на 1 зсув
jmp vw; Перейдемо на мітку vw
ent1: mov [Time + si], ''; Запишемо в змінну time - «»
inc si; Збільшимо на 1 зсув
mov ah, 04h; Функція читання дати з В«ПостійнихВ» В«CMOSВ» годин реального часу
int 1ah; Переривання введення - виведення для часу
mov ax, dx; Дату збережемо в AX
mov cx, 12; Встановимо лічильник зсуву
next1: push ax; Збережемо AX
shr ax, cl; Зрушимо AX на CL
and al, 0fh; Отримаємо номер комірки в таблиці додавши маску
xlat; Отримаємо ASCII код числа
mov [time + si], al; Занесемо його в змінну time
inc si; Збільшимо на 1 зсув
cmp si, 10; Зсув = 10? p> je ras1; Так, перехід на мітку ras1
vw1: sub cl, 4; Ні, зменшимо CL на 4
pop ax; Відновимо AX
cmp cl, -4; Порівняємо CL з -4 p> jne next1; Не дорівнює - виконаємо ще раз
jmp ent2; Так само - перехід на ent2
ras1: mov [Time + si], '.' ; Запишемо в змінну time - В«.В» p> inc si; Збільшимо на 1 зсув
jmp vw1; Перейдемо на мітку vw1
ent2: mov [Time + si], 0ah; Запис в змінну time маркерів
mov [time + si +1], 0dh; переходу на наступний рядок
pop bx; Відновимо дескриптор
mov ah, 40h; Функція запису в файл
mov cx, 20; CХ В¬ кількість байт
mov dx, offset time; DS: DX В¬ адреса рядка
int 21h
mov ah, 3eh; Функція закриття файлу
int 21h
ret; Вихід з процедури
div2_f endp; Кінець процедури підготовки файлу
; Процедура ініціалізації
init proc
mov cl, es: 80h; Отримаємо довжину хвоста PSP
cmp cl, 0; Довжина хвоста = 0? p> je live; Та програма запущена без параметрів
xor ch, ch; Тепер CX = CL = довжина хвоста
mov di, 81h; DS: SI В® хвіст в PSP
lea si, tail; DS: SI В® поле tail
mov al, ''; Приберемо пробіли з початку хвоста
repe scasb; Скануємо хвіст, поки прогалини
dec di; DI В® перший символ після прогалин
mov cx, 3; Очікувана довжина параметра
repe cmpsb; Порівнюємо введений хвіст з очікуваним
jne live; Введена невідома команда
inc flag; Введено В«offВ», встановимо прапор запиту на вивантаження
; Перевіримо, чи не встановлена ​​вже дана програма
live: mov ah, 0f1h; Встановимо нашу функцію
mov al, 0; і підфункцію на наявність нашої програми в оперативній пам'яті
int 2fh
cmp al, 0ffh; встановлена ​​програма?
je installed; Так, за наявності запиту на вивантаження її можна вивантажити
; Збережемо вектор 2fh
mov ax, 352fh; Функція отримання вектора 2fh
int 2...