diff --git a/programs/other/calc/calc.asm b/programs/other/calc/calc.asm
index 6e167db34..59ae8a6fb 100644
--- a/programs/other/calc/calc.asm
+++ b/programs/other/calc/calc.asm
@@ -1,3 +1,6 @@
+; SPDX-License-Identifier: NOASSERTION
+;
+
;; Calculator for MenuetOS (c) Ville Turjanmaa
;;
;; Compile with FASM
@@ -31,9 +34,9 @@ use32
dd E_END ; esp
dd 0x0,0x0 ; I_Param , I_Icon
-include '../../../macros.inc'
-include '../../../gui_patterns.inc'
-include '../../../KOSfuncs.inc'
+include '../../macros.inc'
+include '../../gui_patterns.inc'
+include '../../KOSfuncs.inc'
hotkeys_count equ 26
asci: db 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 43, 61, 13, 45, 42, 47, 44, 46, 27, 182, \
diff --git a/programs/other/period/period.asm b/programs/other/period/period.asm
index 3db36a5e0..65cb031ea 100644
--- a/programs/other/period/period.asm
+++ b/programs/other/period/period.asm
@@ -1,2061 +1,2065 @@
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; Periodic Table for KolibriOS
-;;
-;; Периодическая система химических элементов
-;; Дмитрия Ивановича Менделеева
-;; Авторы:
-;; navanax [violetlab+rambler.ru]
-;; Johnny_B [john+kolibrios.org]
-;;
-;; макрос для создания массива указателей на ASCIIZ-строки
-
-include '..\..\..\macros.inc'
-macro strtbl name,[string]
-{
- common
- label name dword
- forward
- local lbl
- dd lbl
- forward
- lbl db string,0
-}
-
-use32
-
- org 0x0
- db 'MENUET01' ; стандартный 8-байтовый заголовок для исполняемых файлов MeOS
- dd 0x01 ; версия заголовка
- dd START ; указатель на начало исполняемого кода
- dd I_END ; размер образа
- dd I_END+0x1000 ; требуемая память для приложения
- dd I_END+0x1000 ; указатель на начала стека
- dd 0x0 , 0x0 ; I_Param , I_Icon
-
-;ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ И КОНСТАНТЫ
-re_ID dd 0x00000001 ;для хранения номера текущего выводимого элемента
-
-START:
-
- mov eax,48
- mov ebx,3
- mov ecx,sc
- mov edx,sizeof.system_colors
- mcall
-
-red:
- call draw_window
-
-still: ;основной цикл программы
- push 10 ;ожидание события
- pop eax
- mcall
-
- dec eax
- je red
- dec eax
- jne button
-
-key:
- mov al,2
- mcall
- jmp still
-
-button:
- mov al,17 ;получаем ID нажатой кнопки
- mcall
- shr eax,8 ; eax=24-битный ButtonID
-
- cmp eax,1 ;нажата ли "Закрыть" [x]
- jne noclose
- or eax,-1
- mcall
-
-noclose:
- cmp eax,200
- jne no_H
- mov eax,1
-no_H:
- mov [re_ID],eax
-;;
- call draw_text
-;;
- jmp still
-
-draw_window:
-
- mov eax,12 ;begin drawing
- xor ebx,ebx
- inc ebx
- mcall
- ; DRAW WINDOW
- xor eax,eax
- mov ebx,50*65536+555 ;x
- mov ecx,30*65536+455 ;y
- mov edx,[sc.work]
- or edx,0x34000000 ;style
- mov edi,caption
- mcall
-
-text_in_window:
- mov eax,4 ;вывод текста
- mov ecx,0x80000000 ;asciiz, ЦВЕТ !!!
-
- mov ebx,40*65536+200 ;лантаноиды
- mov edx,Lantanoid_text
- mcall
-
- add ebx,20 ;актиноиды
- mov edx,Actinoid_text
- mcall
-
- mov ebx,150*65536+255
- mov edx,number
- mcall
-
- add ebx,15
- mov edx,name
- mcall
-
- add ebx,15
- mov edx,eng_name
- mcall
-
- add ebx,15
- mov edx,Atomic_massa
- mcall
-
- add ebx,15
- mov edx,density
- mcall
-
- add ebx,15
- mov edx,Step_okisl
- mcall
-
- add ebx,15
- mov edx,Electrootr
- mcall
-
- add ebx,15
- mov edx,T_pl
- mcall
-
- add ebx,15
- mov edx,T_kip
- mcall
-
- add ebx,15
- mov edx,Raspr
- mcall
-
- add ebx,15
- mov edx,Otkrytie
- mcall
-
- ; ВЫВОД НОМЕРОВ ПЕРИОДОВ
- mov ebx,30*65536+43
- mov edx,Period_text ;1
- mcall
-
- call @f ;2
- call @f ;3
- call @f ;4
- call @f ;5
- call @f ;6
- call @f ;7
- jmp Table
-
- @@:
- add ebx,20
- add edx,4 ;т.к. строка = 4 байтам(с нулём)
- mcall
- ret
-
-Table: ;Отрисовка таблицы в виде конопочек
- table_row_1:
- shl eax,1
- mov ebx,50*65536+25
- mov ecx,35*65536+20
- mov edx,200
- mov esi,0xE19123
- mcall
- He_:
- mov ebx,491*65536+25
- mov esi,0x0f0c314
- mov edx,2
- mcall
- table_row_2:
- Li:
- mov ebx,50*65536+25
- mov ecx,56*65536+20
- mov esi,0xE19123
- inc edx
- mcall
- Be:
- mov ebx,76*65536+25
- inc edx
- mcall
- B_:
- mov ebx,361*65536+25
- inc edx
- mov esi,0x0f0c314
- mcall
- mov edi,4
- table_row_2_loop:
- add ebx,26*65536
- inc edx
- mcall
- dec edi
- jns table_row_2_loop
- table_row_3:
- Na:
- mov ebx,50*65536+25
- mov ecx,77*65536+20
- mov esi,0xE19123
- inc edx
- mcall
-
- mov ebx,76*65536+25
- inc edx
- mcall
-
- mov ebx,361*65536+25
- inc edx
- mov esi,0x0f0c314
- mcall
- mov edi,4
- table_row_3_loop:
- add ebx,26*65536
- inc edx
- mcall
- dec edi
- jns table_row_3_loop
-
- Table_row_4:
- K_:
- mov ebx,50*65536+25
- mov ecx,98*65536+20
- mov esi,0xE19123
- inc edx
- mcall
- Ca:
- mov ebx,76*65536+25
- inc edx
- mcall
- Sc:
- mov ebx,102*65536+25
- inc edx
- mov esi,0x559beb
- mcall
- mov edi,8
- Table_row_4_loop1:
- add ebx,26*65536
- inc edx
- mcall
- dec edi
- jns Table_row_4_loop1
-
- mov ebx,361*65536+25
- inc edx
- mov esi,0x0f0c314
- mcall
- mov edi,4
- table_row_4_loop2:
- add ebx,26*65536
- inc edx
- mcall
- dec edi
- jns table_row_4_loop2
-
- Table_row_5:
- Rb_:
- mov ebx,50*65536+25
- mov ecx,119*65536+20
- mov esi,0xE19123
- inc edx
- mcall
- Sr_:
- mov ebx,76*65536+25
- inc edx
- mcall
- Y_:
- mov ebx,102*65536+25
- inc edx
- mov esi,0x559beb
- mcall
- mov edi,8
- Table_row_5_loop1:
- add ebx,26*65536
- inc edx
- mcall
- dec edi
- jns Table_row_5_loop1
-
- mov ebx,361*65536+25
- inc edx
- mov esi,0x0f0c314
- mcall
- mov edi,4
- table_row_5_loop2:
- add ebx,26*65536
- inc edx
- mcall
- dec edi
- jns table_row_5_loop2
-
- Table_row_6:
- Cs_:
- mov ebx,50*65536+25
- mov ecx,140*65536+20
- mov esi,0xE19123
- inc edx
- mcall
- Ba_:
- mov ebx,76*65536+25
- inc edx
- mcall
- La_:
- mov ebx,102*65536+25
- inc edx
- mov esi,0x559beb
- mcall
- mov edx,71
- mov edi,8
- Table_row_6_loop1:
- add ebx,26*65536
- inc edx
- mcall
- dec edi
- jns Table_row_6_loop1
-
- mov ebx,361*65536+25
- inc edx
- mov esi,0x0f0c314
- mcall
- mov edi,4
- table_row_6_loop2:
- add ebx,26*65536
- inc edx
- mcall
- dec edi
- jns table_row_6_loop2
-
- Table_row_7:
- Fr_:
- mov ebx,50*65536+25
- mov ecx,161*65536+20
- mov esi,0xE19123
- inc edx
- mcall
- Ra_:
- mov ebx,76*65536+25
- inc edx
- mcall
- Ac_:
- mov ebx,102*65536+25
- inc edx
- mov esi,0x559beb
- mcall
- mov edx,103
- mov edi,8
- Table_row_7_loop1:
- add ebx,26*65536
- inc edx
- mcall
- dec edi
- jns Table_row_7_loop1
-
- mov ebx,361*65536+25
- inc edx
- mov esi,0x0f0c314
- mcall
- mov edi,4
- table_row_7_loop2:
- add ebx,26*65536
- inc edx
- mcall
- dec edi
- jns table_row_7_loop2
-
- row_1:
- Cerium_:
- mov ebx,102*65536+25
- mov ecx,190*65536+20
- mov edx,58
- mov esi,0x73beeb
- mcall
- mov edi,12
-
- row_1_loop:
- add ebx,26*65536
- inc edx
- mcall
- dec edi
- jns row_1_loop
- row_2:
- dgfsfHe_:
- mov ebx,102*65536+25
- mov ecx,211*65536+20
- mov edx,90
- mcall
- mov edi,12
- row_2_loop:
-
- add ebx,26*65536
- inc edx
- mcall
- dec edi
- jns row_2_loop
-
-text_on_buttons:
- text_row1:
- ;H
- shr eax,1
- mov ebx,62*65536+43
- mov ecx,0x00000000
- mov edx,Symbols
- mov esi,3
- mcall
- ;Ne
- mov ebx,500*65536+43
- add edx,3
- mcall
- text_row2_1:
- mov ebx,60*65536+63
- add edx,3
- mcall
-
- mov ebx,85*65536+63
- add edx,3
- mcall
- text_row2_2:
- mov ebx,374*65536+63
- add edx,3
- mcall
- mov edi,4
-
- text_row2_2_loop:
- add ebx,25*65536
- add edx,3
- mcall
-
- dec edi
- jns text_row2_2_loop
- text_row3_1:
- mov ebx,60*65536+83
- add edx,3
- mcall
-
- mov ebx,85*65536+83
- add edx,3
- mcall
- text_row3_2:
- mov ebx,374*65536+83
- add edx,3
- mcall
- mov edi,4
- text_row3_2_loop:
- add ebx,25*65536
- add edx,3
- mcall
-
- dec edi
- jns text_row3_2_loop
- text_row4:
- mov ebx,60*65536+104
- add edx,3
- mcall
- mov edi,16
- text_row4_loop:
- add ebx,26*65536
- add edx,3
- mcall
-
- dec edi
- jns text_row4_loop
- text_row5:
- mov ebx,60*65536+125
- add edx,3
- mcall
- mov edi,16
- text_row5_loop:
- add ebx,26*65536
- add edx,3
- mcall
-
- dec edi
- jns text_row5_loop
- text_row6:
- mov ebx,60*65536+146
- add edx,3
- mcall
- mov edi,16
- text_row6_loop:
- add ebx,26*65536
- add edx,3
- mcall
- dec edi
- jns text_row6_loop
- text_row7:
- mov ebx,60*65536+167
- add edx,3
- mcall
- mov edi,11 ;9
- text_row7_loop:
- add ebx,26*65536
- add edx,3
- mcall
-
- dec edi
- jns text_row7_loop
- mov edi,4
- text_row7_loop2:
- add ebx,26*65536
- add edx,3
- mcall
- dec edi
- jns text_row7_loop2
-
- text_row8:
- mov ebx,111*65536+197
- add edx,3
- mcall
- mov edi,12
-
- text_row8_loop:
- add ebx,26*65536
- add edx,3
- mcall
-
- dec edi
- jns text_row8_loop
-
- text_row9:
- mov ebx,111*65536+217
- add edx,3
- mcall
- mov edi,12
-
- text_row9_loop:
- add ebx,26*65536
- add edx,3
- mcall
-
- dec edi
- jns text_row9_loop
-
-;; - короче выносим в отдельную процедуру
- call draw_text
-;;
-
- finish:
- mov eax,12 ;end drawing
- mov ebx,2
- mcall
-ret
-
-draw_text:
-
- ; 1 вывод порядкового номера [optmzd-mem]
- ; 2 вывод русского названия [optmzd-mem]
- ; 3 вывод английского названия [optmzd-spd]
- ; 4 вывод атомной массы [optmzd-spd]
- ; 5 вывод плотность [optmzd-mem]
- ; 6 вывод степень окисления [optmzd-mem]
- ; 7 вывод электроотрицательности [optmzd-spd]
- ; 8 вывод температура плавления [optmzd-mem]
- ; 9 вывод температура кипения [optmzd-mem]
- ;10 вывод распределение в земной коре [optmzd-mem]
- ;11 вывод имён первооткрывателей [optmzd-mem]
-
-;; - закраска, что-бы не было наложения при прорисовке текста
- mov eax,13
- mov ebx,320*65536+210
- mov ecx,255*65536+(15*11)
- mov edx,[sc.work]
- mcall
-;;
-
-
- push edi ; чтобы оптимизировать изменения ebx
-
- ; 1 вывод порядкового номера [optmzd-mem]
- mov ebx,0x30000 ;выводить 3 цифры
- mov ecx,[re_ID]
- mov edx,320*65536+255
- xor esi,esi
- mov eax,47
- mcall
-
-;ВНИМАНИЕ! ЗДЕСЬ ЗАДАЁТСЯ ЦВЕТ ВСЕГО ОСТАЛЬНОГО ТЕКСТА! [сделано для сокращения кода на 20 байт :)))]
- mov ecx,[sc.work_text] ; ЦВЕТ
- or ecx,0x80000000 ; asciiz
- mov eax,4 ; эта функция вызывается 10 раз! так что запишем 1 раз
-
- ; 2 вывод РУССКОЕ НАЗВАНИЕ [optmzd-mem]
- mov edi,Rus_nazv ;указатель на начало массива указателей ;)
- mov ebx,320*65536+255 ;здесь вносятся координаты, дальше будет лишь add ebx,15
- call out_asciiz_item
-
- xor ecx,ecx ;color
- ; 3 вывод английского названия [optmzd-spd]
- mov edx,Elements
- mov edi,[re_ID]
- dec edi
- mov esi,12 ;длина строки
- imul edi,esi ;считаем указатель на нужную строку
- add edx,edi
- add ebx,15 ; увеличиваем y-координату текста на 15 пикселей
- mcall
-
- ; 4 вывод атомной массы [optmzd-spd]
- mov edx,MassNo
- mov edi,[re_ID]
- dec edi
- mov esi,7 ;длина строки
- imul edi,esi ;считаем указатель на нужную строку
- add edx,edi
- add ebx,15
- mcall
-
- mov ecx,0x80000000 ;asciiz, ЦВЕТ !!!
- ; 5 вывод ПЛОТНОСТЬ [optmzd-mem]
- mov edi,Plotnost
- call out_asciiz_item
-
- ; 6 вывод СТЕПЕНЬ ОКИСЛЕНИЯ [optmzd-mem]
- mov edi,Step_ok
- call out_asciiz_item
-
- xor ecx,ecx ;color
- ; 7 вывод ЭЛЕКТРООТРИЦАТЕЛЬНОСТЬ [optmzd-spd]
- mov edx,Electr
- mov edi,[re_ID]
- dec edi
- mov esi,4 ;длина строки
- shl edi,2
- add edx,edi
- add ebx,15
- mcall
-
- mov ecx,0x80000000 ;asciiz, ЦВЕТ !!!
- ; 8 вывод ТЕМПЕРАТУРА ПЛАВЛЕНИЯ [optmzd-mem]
- mov edi,T_plavl
- call out_asciiz_item
-
- ; 9 вывод ТЕМПЕРАТУРА КИПЕНИЯ [optmzd-mem]
- mov edi,T_kipen
- call out_asciiz_item
-
- ;10 вывод РАСПРЕДЕЛЕНИЕ В ЗЕМНОЙ КОРЕ [optmzd-mem]
- mov edi,Rasprostr
- call out_asciiz_item
-
- ;11 вывод имён первооткрывателей [optmzd-mem]
- mov edi,First_Explore
- call out_asciiz_item
-
- pop edi ; он был сохранён в начале :)
- ret
-
-;функция выполняет набор действий для вывода информации
-out_asciiz_item:
- mov edx,[re_ID]
- dec edx
- shl edx,2 ;умножить на 4 (размер указателя)
- mov edx,[edx+edi] ;указатель на строку в edx
- add ebx,15
- mcall
-ret
-
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;; ;;
-;; ОБЛАСТЬ ДАННЫХ ;;
-;; ;;
-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-;---- begin ---- Данные для ГЛАВНОГО окна --------------------------
-caption db 'Периодическая система Д.И.Менделеева by navanax & Johnny_B',0
-density db 'Плотность',0
-Atomic_massa db 'Атомная масса',0
-name db 'Название',0
-eng_name db 'Англ. название',0
-T_pl db 'Температура пл.',0
-T_kip db 'Температура кип.',0
-Electrootr db 'Электроотрицательность',0
-Raspr db 'Распределение в земн. коре',0
-Step_okisl db 'Степень окисления',0
-Otkrytie db 'Открытие',0
-number db 'Порядковый номер',0
-Period_text:
- db ' I',0
- db ' II',0
- db 'III',0
- db ' IV',0
- db ' V',0
- db ' VI',0
- db 'VII',0
-Lantanoid_text db 'Лантаноиды',0
-Actinoid_text db ' Актиноиды',0
-;---- end ------ Данные для ГЛАВНОГО окна --------------------------
-
-
-;*********************************************
-; БАЗА ДАННЫХ ПО ХИМИЧЕСКИМ ЭЛЕМЕНТАМ
-;*********************************************
-;определимся, что кол-во элементов = 116. Ни больше, ни меньше!
-;Каждый массив должен содержать 116 элементов,
-;чтобы не было выхода за его пределы
-
-;Английское название
-Elements: ;116 элементов
-db 'Hydrogen ' ; 1
-db 'Helium '
-db 'Lithium '
-db 'Beryllium '
-db 'Boron '
-db 'Carbon '
-db 'Nitrogen '
-db 'Oxygen '
-db 'Fluorine '
-db 'Neon '
-db 'Sodium '
-db 'Magnesium '
-db 'Aluminum '
-db 'Silicon '
-db 'Phosphorus '
-db 'Sulfur '
-db 'Chlorine '
-db 'Argon '
-db 'Potassium '
-db 'Calcium ' ;20
-db 'Scandium '
-db 'Titanium '
-db 'Vandium '
-db 'Chromium '
-db 'Manganese '
-db 'Iron '
-db 'Cobalt '
-db 'Nickel '
-db 'Copper '
-db 'Zinc ' ;30
-db 'Gallium '
-db 'Germanium '
-db 'Arsenic '
-db 'Selenium '
-db 'Bromine '
-db 'Krypton '
-db 'Rubidium '
-db 'Strontium '
-db 'Yttrium '
-db 'Zirconium '
-db 'Niobium '
-db 'Molybdenum '
-db 'Technetium '
-db 'Ruthenium '
-db 'Rhodium '
-db 'Palladium '
-db 'Silver '
-db 'Cadmium '
-db 'Indium '
-db 'Tin ' ;50
-db 'Antimony '
-db 'Tellurium '
-db 'Iodine '
-db 'Xenon '
-db 'Cesium '
-db 'Barium '
-db 'Lanthanum '
-db 'Cerium '
-db 'Praseodymium'
-db 'Neodymium '
-db 'Promethium '
-db 'Samarium '
-db 'Europium '
-db 'Gadolinium '
-db 'Terbium '
-db 'Dysprosium '
-db 'Homium '
-db 'Erbium '
-db 'Thulium '
-db 'Ytterbium ' ;70
-db 'Lutetium '
-db 'Hafnium '
-db 'Tantalum '
-db 'Tungsten '
-db 'Rhenium '
-db 'Osmium '
-db 'Iridum '
-db 'Platinum '
-db 'Gold '
-db 'Mercury ' ;80
-db 'Thallium '
-db 'Lead '
-db 'Bismuth '
-db 'Polonium '
-db 'Astatine '
-db 'Radon '
-db 'Francium '
-db 'Radium '
-db 'Actinum '
-db 'Thorium ' ;90
-db 'Protactinium'
-db 'Uranium '
-db 'Neptunium '
-db 'Plutonium '
-db 'Americium '
-db 'Curium '
-db 'Berkelium '
-db 'Californium '
-db 'Einsteinium '
-db 'Fermium ' ;100
-db 'Mendelevium '
-db 'Nobelium '
-db 'Lawrencium '
-db 'Reserfordium'
-db 'Dubnium '
-db 'Siborgovium '
-db 'Boronium '
-db 'Hassium '
-db 'Meithnerium '
-db 'Darmstadtium' ;110
-db 'Roentgenium '
-db 'Copernicium '
-db 'Nihonium '
-db 'Flerovium '
-db 'Moscovium '
-db 'Livermorium ' ;116
-db 'Tennessine '
-db 'Oganesson '
-
-
-;---------------------------------
-
-Symbols: ;116 элементов
-db 'H '
-db 'He '
-db 'Li '
-db 'Be '
-db 'B '
-db 'C '
-db 'N '
-db 'O '
-db 'F '
-db 'Ne '
-db 'Na '
-db 'Mg '
-db 'Al '
-db 'Si '
-db 'P '
-db 'S '
-db 'Cl '
-db 'Ar '
-db 'K '
-db 'Ca '
-db 'Sc '
-db 'Ti '
-db 'V '
-db 'Cr '
-db 'Mn '
-db 'Fe '
-db 'Co '
-db 'Ni '
-db 'Cu '
-db 'Zn '
-db 'Ga '
-db 'Ge '
-db 'As '
-db 'Se '
-db 'Br '
-db 'Kr '
-db 'Rb '
-db 'Sr '
-db 'Y '
-db 'Zr '
-db 'Nb '
-db 'Mo '
-db 'Tc '
-db 'Ru '
-db 'Rh '
-db 'Pd '
-db 'Ag '
-db 'Cd '
-db 'In '
-db 'Sn '
-db 'Sb '
-db 'Te '
-db 'I '
-db 'Xe '
-db 'Cs '
-db 'Ba '
-db 'La '
-db 'Hf '
-db 'Ta '
-db 'W '
-db 'Re '
-db 'Os '
-db 'Ir '
-db 'Pt '
-db 'Au '
-db 'Hg '
-db 'Tl '
-db 'Pb '
-db 'Bi '
-db 'Po '
-db 'At '
-db 'Rn '
-db 'Fr '
-db 'Ra '
-db 'Ac '
-db 'Rf '
-db 'Db '
-db 'Sg '
-db 'Bh '
-db 'Hs '
-db 'Mt '
-db 'Ds '
-db 'Rg '
-db 'Cn '
-db 'Nh '
-db 'Fi '
-db 'Mc '
-db 'Lv '
-;
-db 'Ts '
-db 'Og '
-;
-db 'Ce '
-db 'Pr '
-db 'Nd '
-db 'Pm '
-db 'Sm '
-db 'Eu '
-db 'Gd '
-db 'Tb '
-db 'Dy '
-db 'Ho '
-db 'Er '
-db 'Tm '
-db 'Yb '
-db 'Lu '
-db 'Th '
-db 'Pa '
-db 'U '
-db 'Np '
-db 'Pu '
-db 'Am '
-db 'Cm '
-db 'Bk '
-db 'Cf '
-db 'Es '
-db 'Fm '
-db 'Md '
-db 'No '
-db 'Lr '
-
-;АТОМНАЯ МАССА
-MassNo: ;116 элементов
-db '1.00794' ; 1
-db '4.0026 '
-db '6.941 '
-db '9.01218'
-db '10.811 '
-db '12.0107'
-db '14.0067'
-db '15.9994'
-db '18.9984'
-db '20.179 ' ; 10
-db '22.9898'
-db '24.305 '
-db '26.9815'
-db '28.0855'
-db '30.9738'
-db '32.066 '
-db '35.453 '
-db '39.948 '
-db '39.0983'
-db '40.078 ' ; 20
-db '44.9559'
-db '47.88 '
-db '50.9415'
-db '51.996 '
-db '54.938 '
-db '55.847 '
-db '58.9332'
-db '58.6934'
-db '63.546 '
-db '65.39 ' ; 30
-db '69.723 '
-db '72.61 '
-db '74.922 '
-db '78.96 '
-db '79.904 '
-db '83.80 '
-db '85.47 '
-db '87.62 '
-db '88.906 '
-db '91.224 ' ; 40
-db '92.906 '
-db '95.94 '
-db '(98) '
-db '101.07 '
-db '102.905'
-db '106.42 '
-db '107.868'
-db '112.41 '
-db '114.82 '
-db '118.71 ' ; 50
-db '121.75 '
-db '127.60 '
-db '126.90 '
-db '131.29 '
-db '132.90 '
-db '137.33 '
-db '138.91 '
-db '140.12 '
-db '140.91 '
-db '144.24 ' ; 60
-db '(147) '
-db '150.36 '
-db '151.96 '
-db '157.25 '
-db '158.92 '
-db '162.50 '
-db '164.93 '
-db '167.26 '
-db '168.93 '
-db '173.04 ' ; 70
-db '174.97 '
-db '178.49 '
-db '180.95 '
-db '183.85 '
-db '186.21 '
-db '190.2 '
-db '192.22 '
-db '195.08 '
-db '196.97 '
-db '200.59 ' ; 80
-db '204.38 '
-db '207.19 '
-db '208.98 '
-db '(209) '
-db '(210) '
-db '(222) '
-db '(223) '
-db '(226) '
-db '(227) '
-db '232.04 ' ; 90
-db '(231) '
-db '238.029'
-db '(237) '
-db '(244) '
-db '(243) '
-db '(247) '
-db '(247) '
-db '(251) '
-db '(254) '
-db '(257) ' ; 100
-db '(258) '
-db '(259) '
-db '(262) ' ;103
-db '(261) '
-db '(262) '
-db '(266) '
-db '(264) '
-db '(269) '
-db '(268) '
-db '(271) ' ; 110
-db '(272) '
-db '(285) '
-db '(284) '
-db '(289) '
-db '(288) '
-db '(292) ' ;116
-;
-db '294,210'
-db '294,214'
-
-
-;-----------------------
-
-;ЭЛЕКТРООТРИЦАТЕЛЬНОСТЬ
-Electr: ; 116 элементов
-db '2,1 ' ; 1
-db '5,5 '
-db '0,97'
-db '1,47'
-db '2,01'
-db '2,50'
-db '3,07'
-db '3,50'
-db '4,10'
-db '4,84' ; 10
-db '0,93'
-db '1,23'
-db '1,47'
-db '2,25'
-db '2,32'
-db '2,60'
-db '2,83'
-db '3,20'
-db '0,91'
-db '1,04' ; 20
-db '1,20'
-db '1,32'
-db '1,45'
-db '1,56'
-db '1,60'
-db '1,64'
-db '1,70'
-db '1,75'
-db '1,75'
-db '1,66' ; 30
-db '1,82'
-db '2,02'
-db '2,11'
-db '2,48'
-db '2,74'
-db '2,94'
-db '0,89'
-db '0,99'
-db '1,11'
-db '1,22' ;40
-db '1,6 '
-db '2,16'
-db '1,9 '
-db '2.2 '
-db '2.28'
-db '2,2 '
-db '1,93'
-db '1,69'
-db '1,78'
-db '1,96'
-db '2,05'
-db '2,1 '
-db '2,66'
-db '??? '
-db '0,79'
-db '0,89'
-db '1,1 '
-db '1,12'
-db '1,13'
-db '1,14' ;60
-db '1,13'
-db '1,17'
-db '1,2 '
-db '1,2 '
-db '1,2 '
-db '1,22'
-db '1,23'
-db '1,24'
-db '1,25'
-db '1,1 ' ; 70
-db '1,27'
-db '1,3 '
-db '1,5 '
-db '1,36'
-db '1,46'
-db '1,52'
-db '1,55'
-db '1,44'
-db '1,42'
-db '1,42' ; 80
-db '1,42'
-db '1,55'
-db '1,67'
-db '1,76'
-db '1,90'
-db '2,06'
-db '0,86'
-db '0,97'
-db '1,00'
-db '1,11' ;90
-db '1,14'
-db '1,22'
-db '1,22'
-db '1,2 '
-db '1,1 '
-db '1,2 '
-db '1,1 '
-db '1,2 '
-db '??? '
-db '??? ' ; 100
-db '1,2 '
-db '??? '
-db '??? '
-db '??? '
-db '??? '
-db '??? '
-db '??? '
-db '??? '
-db '??? '
-db '??? ' ; 110
-db '??? '
-db '??? '
-db '??? '
-db '??? '
-db '??? '
-db '??? ' ; 116
-db '??? '
-dd '??? '
-
-
-;-----------------------
-
-;ТЕМПЕРАТУРА ПЛАВЛЕНИЯ 116 элементов
-strtbl T_plavl, \
-"- 259,19", \
-"- 271,15", \
-"180,5", \
-"1287", \
-"2075", \
-"4000(графит)", \
-"-210,0", \
-"-218,7", \
-"-219,699", \
-"-248,6", \
-"97,83", \
-"648", \
-"660,37", \
-"1415", \
-"44,14(белый) 593(красный)", \
-"119,3", \
-"-101,03", \
-"-189,34", \
-"63,51", \
-"842", \ ;20
-"1541", \
-"1658", \
-"1920", \
-"1890", \
-"1245", \
-"1539", \
-"1494", \
-"1455", \
-"1084,5", \
-"419,5", \
-"29,78", \
-"937", \
-"817 (под давлением)", \
-"217", \
-"-7,25", \
-"-157,37", \
-"39,3", \
-"768", \
-"1528", \
-"1855", \ ;40
-"2470", \
-"2620", \
-"2250", \
-"2607", \
-"1963", \
-"1554", \
-"961,93", \
-"321,108", \
-"156,634", \
-"231,9681", \
-"630,74", \
-"449,8", \
-"113,5", \
-"-111,85", \
-"28,7", \
-"727", \
-"920", \
-"804", \
-"931", \
-"1024", \ ;60
-"1170", \
-"1072", \
-"826", \
-"1312", \
-"1356", \
-"1409", \
-"1470", \
-"1522", \
-"1545", \
-"824", \
-"1663", \
-"2230", \
-"3270", \
-"3660", \
-"3190", \
-"3027", \
-"2443", \
-"1772", \
-"1064,43", \
-"-38,862", \ ;80
-"303,6", \
-"327,502", \
-"271,44", \
-"254", \
-"575", \
-"-71,0", \
-"21", \
-"969", \
-"1050", \
-"1750", \
-"1580", \
-"1134", \
-"637", \
-"640", \
-"1292", \
-"1345", \
-"1050", \
-"900", \
-"860", \
-"???", \ ;100
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \ ;110
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \ ; 116
-"???", \
-"???"
-
-
-;-----------------------
-
-;ТЕМПЕРАТУРА КИПЕНИЯ 116 элементов
-strtbl T_kipen, \
-"- 252,87", \
-"- 268,935", \
-"1336,6", \
-"2471", \
-"3700", \
-"4200(графит)", \
-"-195,802", \
-"-182,962", \
-"-188,2", \
-"-246,048", \
-"886", \
-"1095", \
-"2500", \
-"3250", \
-"287,3 - белый ", \
-"444,674", \
-"-34,1", \
-"-185,86", \
-"760", \
-"1495", \ ;20
-"2850", \
-"3260", \
-"3450", \
-"2680", \
-"2080", \
-"3200", \
-"2960", \
-"2900", \
-"2540", \
-"906,2", \
-"2403", \
-"2850", \
-"-", \
-"685,3", \
-"59,82", \
-"153,35", \
-"696", \
-"1390", \
-"3320", \
-"4340", \ ;40
-"4927", \
-"4630", \
-"4630", \
-"4900", \
-"3700", \
-"2940", \
-"2170", \
-"766,5", \
-"2024", \
-"2620", \
-"1634", \
-"990", \
-"184,35", \
-"-108,12", \
-"667,6", \
-"1860", \
-"3450", \
-"3450", \
-"3510", \
-"3080", \ ;60
-"3000", \
-"1800", \
-"1440", \
-"3272", \
-"3073", \
-"2587", \
-"2707", \
-"2857", \
-"1947", \
-"1211", \
-"3412", \
-"4620", \
-"5425", \
-"6000", \
-"5900", \
-"5000", \
-"4380", \
-"3800", \
-"2947", \
-"356,66", \ ;80
-"1457", \
-"1745", \
-"1564", \
-"962", \
-"309", \
-"-61,9", \
-"669", \
-"1536", \
-"3300", \
-"4200", \
-"4500", \
-"4200", \
-"4100", \
-"3350", \
-"2880", \
-"3200", \
-"2630", \
-"1227", \
-"???", \
-"???", \ ;100
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \ ; 110
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \
-"???", \ ; 116
-"345 - 230", \
-"80 (+-30)"
-
-
-;Русское название ; 116 элементов
-strtbl Rus_nazv, \
-"Водород", \ ;1
-"Гелий", \
-"Литий", \
-"Бериллий", \
-"Бор", \
-"Углерод", \
-"Азот", \
-"Кислород", \
-"Фтор", \
-"Неон", \ ;10
-"Натрий", \
-"Магний", \
-"Алюминий", \
-"Кремний", \
-"Фосфор", \
-"Сера", \
-"Хлор", \
-"Аргон", \
-"Калий", \
-"Кальций", \
-"Скандий", \
-"Титан", \
-"Ванадий", \
-"Хром", \
-"Марганец", \
-"Железо", \
-"Кобальт", \
-"Никель", \
-"Медь", \
-"Цинк", \ ;30
-"Галлий", \
-"Германий", \
-"Мышьяк", \
-"Селен", \
-"Бром", \
-"Криптон", \
-"Рубидий", \
-"Стронций", \
-"Иттрий", \
-"Цирконий", \
-"Ниобий", \
-"Молибден", \
-"Технеций", \
-"Рутений", \
-"Родий", \
-"Палладий", \
-"Серебро", \
-"Кадмий", \
-"Индий", \
-"Олово", \ ;50
-"Сурьма", \
-"Теллур", \
-"Йод", \
-"Ксенон", \
-"Цезий", \
-"Барий", \
-"Лантан", \
-"Церий", \
-"Празеодим", \
-"Неодим", \
-"Прометий", \
-"Самарий", \
-"Европий", \
-"Гадолиний", \
-"Тербий", \
-"Диспрозий", \
-"Гольмий", \
-"Эрбий", \
-"Тулий", \
-"Иттербий", \ ;70
-"Лютеций", \
-"Гафний", \
-"Тантал", \
-"Вольфрам", \
-"Рений", \
-"Осмий", \
-"Иридий", \
-"Платина", \
-"Золото", \
-"Ртуть", \
-"Таллий", \
-"Свинец", \
-"Висмут", \
-"Полоний", \
-"Астат", \
-"Радон", \
-"Франций", \
-"Радий", \
-"Актиний", \
-"Торий",\
-"Протактиний",\
-"Уран",\
-"Нептуний", \ ;90
-"Плутоний", \
-"Америций", \
-"Кюрий", \
-"Берклий", \
-"Калифорний", \
-"Эйнштейний", \
-"Фермий", \
-"Менделевий", \
-"Нобелий", \
-"Лоуренсий", \
-"Резерфордий", \
-"Дубний", \
-"Сиборговий", \
-"Борий", \
-"Гассий", \
-"Мейтнерий", \
-"Дармштадтий", \ ;110
-"Рентгений", \
-"Коперниций", \
-"Нихоний", \
-"Флеровий", \
-"Московий", \
-"Ливерморий", \ ;116
-"Теннессин", \
-"Оганесон"
-
-
-;Первооткрыватели ; 116 элементов
-strtbl First_Explore, \
-"Г.Кавендиш, 1766", \
-"Ж.Жансен, Дж.Н.Локьер, 1868", \
-"А.Арфедсон, 1817", \
-"Л.Воклен, 1798", \
-"Л.Ж.Гей-Люссак 1808", \
-"известен до н.э.", \
-"Д.Резерфорд, 1772", \
-"К.В.Шееле, 1772", \
-"А.Муассан, 1886", \
-"У.Рамзай,М.Траверс 1898", \
-"Г.Дэви, 1807",\
-"Г.Дэви, 1808",\
-"Х.К.Эрстед, 1825",\
-"Ж.Л.Гей-Люссак, Л.Ж.Тенар, 1811",\
-"Х.Брандт, 1669",\
-"известна до н.э.",\
-"К.В.Шееле, 1774",\
-"У.Рамзай, Дж.Рэлей, 1894",\
-"Г.Дэви, 1807",\
-"Г.Дэви, 1808",\
-"Л.Ф.Нильсон, 1879",\
-"У.Грегор, 1790 ",\
-"Г.Роско, 1869",\
-"Л.Н.Воклен, 1797",\
-"Ю.Ган, 1774",\
-"известно до н.э.",\
-"Ю.Брандт, 1735",\
-"А.Кронштедт, 1751",\
-"известна до н.э.",\
-"известен со средн. веков",\
-"П.Э.Лекок де Буабодран, 1875",\
-"К.А.Винклер, 1886",\
-"известен со средн. веков",\
-"Й.Берцелиус, Й.Ган, 1817",\
-"Ж.Балар, 1826",\
-"У.Рамзай, М.Траверс, 1898",\
-"Р.Бунзен, Г.Кирхгоф, 1861",\
-"А.Крофорд, 1808",\
-"Ю.Гадолин, 1794",\
-"М.Клапрот, 1789",\
-"Ч.Хатчет, 1801",\
-"К.В.Шееле, 1778",\
-"Э.Сегре, К.Перье, 1937",\
-"К.К.Клаус, 1844",\
-"У.Волластон, 1804",\
-"У.Волластон, 1803",\
-"известно до н.э.",\
-"Ф.Штромейер, 1817",\
-"Р.Рейх, И.Рихтер, 1863",\
-"известно до н.э.",\
-"известна до н.э.",\
-"Ф.Мюллер, 1782",\
-"Б.Куртуа, 1811",\
-"У.Рамзай, М.Траверс, 1898",\
-"Р.Бунзен, Г.Кирхгоф, 1860",\
-"Г.Дэви, 1774",\
-"К.Мосандер, 1839",\
-"К.Мосандер, 1839",\
-"К.Ауэр фон Вельсбах, 1885",\
-"К.Ауэр фон Вельсбах, 1842",\
-"Л.Гленденин, Ч.Кориэлл и др., 1942",\
-"П.Э.Лекок де Буабодран, 1879",\
-"Э.Демарсе, 1901",\
-"Ж.Мариньяк, 1880",\
-"К.Мосандер, 1843",\
-"П.Э.Лекок де Буабодран, 1886",\
-"П.Клеве, 1879",\
-"К.Мосандер, 1843",\
-"П.Клеве, 1879",\
-"Ж.Мариньяк, 1878",\
-"Ж.Урбэн, Ч.Джеймс, 1907",\
-"Д.Костер и др., 1922",\
-"А.Г.Экеберг, 1802",\
-"К.В.Шееле, 1781",\
-"И. и В.Ноддак, О.Берг, 1925",\
-"С.Теннант, 1804",\
-"С.Теннант, 1804",\
-"изв. с древности",\
-"известно до н.э.",\
-"известна до н.э.",\
-"У.Крукс, 1861",\
-"известен до н.э.",\
-"И.Потт, 1739",\
-"М. и П.Кюри, 1898",\
-"Д.Корсон др., 1940",\
-"Э.Дорн, 1940",\
-"М.Перей, 1939",\
-"М. и П.Кюри, Ж.Бемюн, 1898",\
-"А.Дебьерн, 1899",\
-"Й.Берцелиус, 1828",\
-"О.Ган, Л.Мейтнер, Ф.Содди, 1918",\
-"М.Клапрот, 1789",\
-"Э.М.Макмиллан, Ф.Х.Эйблсон, 1940",\
-"Г.Сиборг и др., 1940",\
-"Г.Сиборг и др., 1944",\
-"Г.Сиборг и др., 1944",\
-"Г.Сиборг и др., 1949",\
-"Г.Сиборг и др., 1950",\
-"А.Гиорсо, С.Томпсон, 1952",\
-"А.Гиорсо, С.Томпсон, 1952",\
-"А.Гиорсо и др., 1955",\
-"Учёные СССР, 1966",\
-"А.Гиорсо и др., 1961",\
-"Г.Н.Флеров и др., 1964",\
-"Г.Н.Флеров и др., 1967",\
-"Г.Н.Флеров и др., 1974",\
-"P.Armbruster, G.Munzenber, 1981",\
-"P.Armbruster, G.Munzenber, 1984",\
-"P.Armbruster, G.Munzenber, 1982",\
-"S.Hofmann, V. Ninov, 1994",\
-"S.Hofmann, V. Ninov, 1994",\
-"S.Hofmann, V. Ninov, 1996",\
-"не открыт",\
-"Учёные России, 1998",\
-"не открыт",\
-"Ю.Ц.Оганессян, В.К.Утенков, 2000", \
-"ОИЯИ в г.Дубна", \
-"ОИЯИ и Ливерморская лаборатория"
-
-
-; Плотность 116 элементов
-strtbl Plotnost, \
-"-", \ ; 1
-"-", \
-"535", \
-"1848", \
-"2460", \
-"2267", \
-"-", \
-"-", \
-"-", \
-"0,90035 г/л", \
-"968", \ ; 10
-"1738", \
-"2700", \
-"2330", \
-"1823", \
-"1960", \
-"-", \
-"1,7837 г/л", \
-"856", \
-"1550", \
-"2985", \ ; 20
-"4507", \
-"6110", \
-"7140", \
-"7470", \
-"7874", \
-"8900", \
-"8908", \
-"8920", \
-"7140", \
-"5904", \ ; 30
-"5323", \
-"5727", \
-"4819", \
-"-", \
-"3,745 г/л", \
-"1532", \
-"2630", \
-"4472", \
-"6511", \
-"8570", \ ; 40
-"10280", \
-"11500", \
-"12370", \
-"12450", \
-"12023", \
-"10490", \
-"8650", \
-"7310", \
-"7310", \
-"6697", \ ; 50
-"6240", \
-"4940", \
-"5,851 г/л", \
-"1879", \
-"3510", \
-"6146", \
-"6689", \
-"6640", \
-"6800", \
-"7264", \ ; 60
-"7353", \
-"5244", \
-"7901", \
-"8219", \
-"8551", \
-"8795", \
-"9066", \
-"9321", \
-"6570", \
-"9841", \ ; 70
-"13310", \
-"16650", \
-"19250", \
-"21020", \
-"22610", \
-"22650", \
-"21090", \
-"19300", \
-"-", \
-"11850", \ ; 80
-"11340", \
-"9780", \
-"9196", \
-"-", \
-"9,73 г/л", \
-"2400", \
-"5000", \
-"10070", \
-"11724", \
-"15370", \ ; 90
-"19050", \
-"20450", \
-"19816", \
-"-", \
-"13510", \
-"14780", \
-"15100", \
-"-", \
-"-", \
-"-", \ ; 100
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \ ; 110
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \ ; 116
-"-", \
-"4,9 - 5,1 "
-
-
-;РАСПРОСТРАНЕНИЕ В ЗЕМНОЙ КОРЕ 116 элементов
-strtbl Rasprostr, \
-"0,14 %", \ ; 1
-"менее 0,0015 %", \
-"0,0030 %", \
-"0,0006 %", \
-"0,005 %", \
-"0,032 %", \
-"0,0046 %", \
-"46,60 %", \
-"0,070 %", \
-"0,00007 г/т", \ ; 10
-"2,83 %", \
-"2,09 %", \
-"8,13 %", \
-"27,72 %", \
-"0,118 %", \
-"0,052 %", \
-"0,020 %", \
-"0,000004 %", \
-"2,59 %", \
-"3,63 %", \ ; 20
-"0,001 %", \
-"0,57 %", \
-"0,0110 %", \
-"0,0200 %", \
-"0,100 %", \
-"5,00 %", \
-"0,0023 %", \
-"0,0080 %", \
-"0,0045 %", \
-"0,0065 %", \ ; 30
-"0,0015 %", \
-"0,00015 %", \
-"0,00017 %", \
-"0,000014 %", \
-"0,00016 %", \
-"0,000114 % (в атмосфере)", \
-"0,0120 %", \
-"???", \
-"0,0040 %", \
-"0,0160 %", \ ; 40
-"0,0024 %", \
-"0,0003 %", \
-"-", \
-"0,0000005 %", \
-"0.0000001 %", \
-"0,000001 %", \
-"0,000007 %", \
-"0,0000135 %", \
-"0,00001 %", \
-"0,008 %", \
-"0,00005 %", \ ; 50
-"0,000001 %", \
-"0,00004 %", \
-"0,000039 % (в атмосфере)", \
-"0,00037 %", \
-"0,040 %", \
-"0,0029 %", \
-"0,007 %", \
-"0,0007 %", \
-"0,0025 %", \
-"-", \ ; 60
-"0,0007 %", \
-"0,00013 %", \
-"0,00054 %", \
-"0,00043 %", \
-"0,0005 %", \
-"0,00013 %", \
-"0,00033 %", \
-"0,000027 %", \
-"0,000033 %", \
-"0,00008 %", \ ; 70
-"0,0003 - 0,0004 %", \
-"0,00025 %", \
-"0,0001 %", \
-"0,00000007 %", \
-"0,000005 %", \
-"0,0000001 %", \
-"0,0000005 %", \
-"0,00000043 %", \
-"0,000007 %", \
-"0,0003 %", \ ; 80
-"0,0015 %", \
-"0,00002 %", \
-"0,00000000000002 %", \
-"17 мг в слое коры 1,6 км", \
-"-", \
-"-", \
-"0,0000000001 %", \
-"0,0000000006 %", \
-"0,0008 %", \
-"-", \ ; 90
-"0,0003 %", \
-"-", \
-"-", \
-"0,0003 %", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \ ; 100
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \ ; 110
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \ ; 116
-"-", \
-"-"
-
-
-; степень окисления 116 элементов
-strtbl Step_ok, \
-"+1 -1", \ ; 1
-"-", \
-"+1", \
-"+2 (+1)", \
-"+3 (+2)", \
-"+4 -4", \
-"от +5 до -3 ", \
-"+4 -4", \
-"-1", \
-"-", \ ; 10
-"+1", \
-"+2 (+1)", \
-"+3 (+1 +2)", \
-"+1 +2 +3 +4", \
-"-3 +3 +5", \
-"-2 +4 +6", \
-"-1 +1 +3 +5 +7", \
-"-", \
-"+1", \
-"+2 (+1)", \ ; 20
-"+3 (+1 +2)", \
-"+4 +2 +3", \
-"от +2 до +5", \
-"+2 +3 +6 (+4 +5 +1)", \
-"от +2 до +7", \
-"+2 +3 (+1 +2 +4 +6 +8)", \
-"+2 +3 (+1 +4 +5)", \
-"+2 (+1 +3 +4)", \
-"+1 +2 (+3 +4)", \
-"+2", \ ; 30
-"+1 +3", \
-"+4 +3 +2 +1", \
-"+5 +3 -3", \
-"+6 +4 -2 (+2)", \
-"-1 +1 +3 +5 +7", \
-"+2", \
-"+1", \
-"+2 (+1)", \
-"+3", \
-"+4 (+1 +2 +3)", \ ; 40
-"+5 (+1 +2 +3 +4)", \
-"от +2 до +6", \
-"от -1 до +7", \
-"+3 +4 +6 +8", \
-"+1 +2 +3 +4 +5 +6", \
-"+1 +2 +3 +4 (+5 +6)", \
-"+1 +2 +3", \
-"+2 (+1)", \
-"+3 (+1)", \
-"+2 +4", \ ; 50
-"+3 +5 (-3)", \
-"-2 +6 +4 (+2)", \
-"-1 +1 +3 +5 +7", \
-"+2 +4 +6 +8", \
-"+1", \
-"+2 (+1)", \
-"+3", \
-"+3 (+4)", \
-"+4 +3 (+2)", \
-"+4 +3 (+2)", \ ; 60
-"+3", \
-"+2 +3 (+2)", \
-"+3 +2", \
-"+3 (+2 +1)", \
-"+1 +3 +4", \
-"+3 (+2 +4)", \
-"+3 (+2)", \
-"+3 (+1)", \
-"+3 +2 (+4)", \
-"+2 +3", \ ; 70
-"+3", \
-"+4 (+3 +2)", \
-"+5 (+2 +3 +4)", \
-"от +2 до +6", \
-"от +7 до -1", \
-"+4 +6 +8 +1 +3 +5", \
-"+4 +3 +1 +2 +6", \
-"+4 +3 +2 (+5 +6)", \
-"+1 +3 (+5)", \
-"+2 +1", \ ; 80
-"+1 +3", \
-"+1 +4 +2", \
-"+3 +5 -3 (+1 +2)", \
-"+6 +4 +2 -2", \
-"-1 +1 +5 (+7)", \
-"+2 +4 +6", \
-"+1", \
-"+2", \
-"+3", \
-"+4 (+2 +3)", \ ; 90
-"+4 +5 (+3)", \
-"от +2 до +6", \
-"+3 +4 +5 (+6 +7)", \
-"от +3 до +7", \
-"от +2 до +7", \
-"+3 (+4 +6)", \
-"+3 (+4)", \
-"+2 +3 (+4)", \
-"+2 +3", \
-"+2 +3", \ ; 100
-"+1 +2 +3", \
-"+2 +3", \
-"+3", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \ ; 110
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \
-"-", \ ; 116
-"-", \
-"-1, 0, +1, +2, +4, +6"
-I_END:
-sc system_colors
\ No newline at end of file
+; SPDX-License-Identifier: NOASSERTION
+;
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; Periodic Table of Chemical Elements for KolibriOS
+;; Dmitry Ivanovich Mendeleyev
+;; Authors:
+;; navanax [violetlab+rambler.ru]
+;; Johnny_B [john+kolibrios.org]
+
+
+;; macro for creating an array of pointers to ASCIIZ strings
+
+include '..\..macros.inc'
+macro strtbl name,[string]
+{
+ common
+ label name dword
+ forward
+ local lbl
+ dd lbl
+ forward
+ lbl db string,0
+}
+
+use32
+
+ org 0x0
+ db 'MENUET01' ; standard 8-byte header for MeOS executables
+ dd 0x01 ; header version
+ dd START ; pointer to the start of the executable code
+ dd I_END ; image size
+ dd I_END+0x1000 ; required memory for the application
+ dd I_END+0x1000 ; pointer to the start of the stack
+ dd 0x0 , 0x0 ; I_Param , I_Icon
+
+
+;GLOBAL VARIABLES AND CONSTANTS
+re_ID dd 0x00000001 ;to store the number of the currently displayed element
+
+
+START:
+
+ mov eax,48
+ mov ebx,3
+ mov ecx,sc
+ mov edx,sizeof.system_colors
+ mcall
+
+red:
+ call draw_window
+
+still: ;main program loop
+ push 10 ;waiting for event
+ pop eax
+ mcall
+
+ dec eax
+ je red
+ dec eax
+ jne button
+
+key:
+ mov al,2
+ mcall
+ jmp still
+
+button:
+ mov al,17 ;get ID of the pressed button
+ mcall
+ shr eax,8 ; eax=24-bit ButtonID
+
+ cmp eax,1 ; whether they are pressed "close" [x]
+ jne noclose
+ or eax,-1
+ mcall
+
+noclose:
+ cmp eax,200
+ jne no_H
+ mov eax,1
+no_H:
+ mov [re_ID],eax
+;;
+ call draw_text
+;;
+ jmp still
+
+draw_window:
+
+ mov eax,12 ;begin drawing
+ xor ebx,ebx
+ inc ebx
+ mcall
+ ; DRAW WINDOW
+ xor eax,eax
+ mov ebx,50*65536+555 ;x
+ mov ecx,30*65536+455 ;y
+ mov edx,[sc.work]
+ or edx,0x34000000 ;style
+ mov edi,caption
+ mcall
+
+text_in_window:
+ mov eax,4 ;text output
+ mov ecx,0x80000000 ; asciz, color !!!
+
+ mov ebx,40*65536+200 ;lanthanide
+ mov edx,Lantanoid_text
+ mcall
+
+ add ebx,20 ;actinide
+ mov edx,Actinoid_text
+ mcall
+
+ mov ebx,150*65536+255
+ mov edx,number
+ mcall
+
+ add ebx,15
+ mov edx,name
+ mcall
+
+ add ebx,15
+ mov edx,eng_name
+ mcall
+
+ add ebx,15
+ mov edx,Atomic_massa
+ mcall
+
+ add ebx,15
+ mov edx,density
+ mcall
+
+ add ebx,15
+ mov edx,Step_okisl
+ mcall
+
+ add ebx,15
+ mov edx,Electrootr
+ mcall
+
+ add ebx,15
+ mov edx,T_pl
+ mcall
+
+ add ebx,15
+ mov edx,T_kip
+ mcall
+
+ add ebx,15
+ mov edx,Raspr
+ mcall
+
+ add ebx,15
+ mov edx,Otkrytie
+ mcall
+
+ ; The conclusion of the numbers
+ mov ebx,30*65536+43
+ mov edx,Period_text ;1
+ mcall
+
+ call @f ;2
+ call @f ;3
+ call @f ;4
+ call @f ;5
+ call @f ;6
+ call @f ;7
+ jmp Table
+
+ @@:
+ add ebx,20
+ add edx,4 ;since the string = 4 bytes (with zero)
+ mcall
+ ret
+
+Table: ;Drawing a table in the form of buttons
+ table_row_1:
+ shl eax,1
+ mov ebx,50*65536+25
+ mov ecx,35*65536+20
+ mov edx,200
+ mov esi,0xE19123
+ mcall
+ He_:
+ mov ebx,491*65536+25
+ mov esi,0x0f0c314
+ mov edx,2
+ mcall
+ table_row_2:
+ Li:
+ mov ebx,50*65536+25
+ mov ecx,56*65536+20
+ mov esi,0xE19123
+ inc edx
+ mcall
+ Be:
+ mov ebx,76*65536+25
+ inc edx
+ mcall
+ B_:
+ mov ebx,361*65536+25
+ inc edx
+ mov esi,0x0f0c314
+ mcall
+ mov edi,4
+ table_row_2_loop:
+ add ebx,26*65536
+ inc edx
+ mcall
+ dec edi
+ jns table_row_2_loop
+ table_row_3:
+ Na:
+ mov ebx,50*65536+25
+ mov ecx,77*65536+20
+ mov esi,0xE19123
+ inc edx
+ mcall
+
+ mov ebx,76*65536+25
+ inc edx
+ mcall
+
+ mov ebx,361*65536+25
+ inc edx
+ mov esi,0x0f0c314
+ mcall
+ mov edi,4
+ table_row_3_loop:
+ add ebx,26*65536
+ inc edx
+ mcall
+ dec edi
+ jns table_row_3_loop
+
+ Table_row_4:
+ K_:
+ mov ebx,50*65536+25
+ mov ecx,98*65536+20
+ mov esi,0xE19123
+ inc edx
+ mcall
+ Ca:
+ mov ebx,76*65536+25
+ inc edx
+ mcall
+ Sc:
+ mov ebx,102*65536+25
+ inc edx
+ mov esi,0x559beb
+ mcall
+ mov edi,8
+ Table_row_4_loop1:
+ add ebx,26*65536
+ inc edx
+ mcall
+ dec edi
+ jns Table_row_4_loop1
+
+ mov ebx,361*65536+25
+ inc edx
+ mov esi,0x0f0c314
+ mcall
+ mov edi,4
+ table_row_4_loop2:
+ add ebx,26*65536
+ inc edx
+ mcall
+ dec edi
+ jns table_row_4_loop2
+
+ Table_row_5:
+ Rb_:
+ mov ebx,50*65536+25
+ mov ecx,119*65536+20
+ mov esi,0xE19123
+ inc edx
+ mcall
+ Sr_:
+ mov ebx,76*65536+25
+ inc edx
+ mcall
+ Y_:
+ mov ebx,102*65536+25
+ inc edx
+ mov esi,0x559beb
+ mcall
+ mov edi,8
+ Table_row_5_loop1:
+ add ebx,26*65536
+ inc edx
+ mcall
+ dec edi
+ jns Table_row_5_loop1
+
+ mov ebx,361*65536+25
+ inc edx
+ mov esi,0x0f0c314
+ mcall
+ mov edi,4
+ table_row_5_loop2:
+ add ebx,26*65536
+ inc edx
+ mcall
+ dec edi
+ jns table_row_5_loop2
+
+ Table_row_6:
+ Cs_:
+ mov ebx,50*65536+25
+ mov ecx,140*65536+20
+ mov esi,0xE19123
+ inc edx
+ mcall
+ Ba_:
+ mov ebx,76*65536+25
+ inc edx
+ mcall
+ La_:
+ mov ebx,102*65536+25
+ inc edx
+ mov esi,0x559beb
+ mcall
+ mov edx,71
+ mov edi,8
+ Table_row_6_loop1:
+ add ebx,26*65536
+ inc edx
+ mcall
+ dec edi
+ jns Table_row_6_loop1
+
+ mov ebx,361*65536+25
+ inc edx
+ mov esi,0x0f0c314
+ mcall
+ mov edi,4
+ table_row_6_loop2:
+ add ebx,26*65536
+ inc edx
+ mcall
+ dec edi
+ jns table_row_6_loop2
+
+ Table_row_7:
+ Fr_:
+ mov ebx,50*65536+25
+ mov ecx,161*65536+20
+ mov esi,0xE19123
+ inc edx
+ mcall
+ Ra_:
+ mov ebx,76*65536+25
+ inc edx
+ mcall
+ Ac_:
+ mov ebx,102*65536+25
+ inc edx
+ mov esi,0x559beb
+ mcall
+ mov edx,103
+ mov edi,8
+ Table_row_7_loop1:
+ add ebx,26*65536
+ inc edx
+ mcall
+ dec edi
+ jns Table_row_7_loop1
+
+ mov ebx,361*65536+25
+ inc edx
+ mov esi,0x0f0c314
+ mcall
+ mov edi,4
+ table_row_7_loop2:
+ add ebx,26*65536
+ inc edx
+ mcall
+ dec edi
+ jns table_row_7_loop2
+
+ row_1:
+ Cerium_:
+ mov ebx,102*65536+25
+ mov ecx,190*65536+20
+ mov edx,58
+ mov esi,0x73beeb
+ mcall
+ mov edi,12
+
+ row_1_loop:
+ add ebx,26*65536
+ inc edx
+ mcall
+ dec edi
+ jns row_1_loop
+ row_2:
+ dgfsfHe_:
+ mov ebx,102*65536+25
+ mov ecx,211*65536+20
+ mov edx,90
+ mcall
+ mov edi,12
+ row_2_loop:
+
+ add ebx,26*65536
+ inc edx
+ mcall
+ dec edi
+ jns row_2_loop
+
+text_on_buttons:
+ text_row1:
+ ;H
+ shr eax,1
+ mov ebx,62*65536+43
+ mov ecx,0x00000000
+ mov edx,Symbols
+ mov esi,3
+ mcall
+ ;Ne
+ mov ebx,500*65536+43
+ add edx,3
+ mcall
+ text_row2_1:
+ mov ebx,60*65536+63
+ add edx,3
+ mcall
+
+ mov ebx,85*65536+63
+ add edx,3
+ mcall
+ text_row2_2:
+ mov ebx,374*65536+63
+ add edx,3
+ mcall
+ mov edi,4
+
+ text_row2_2_loop:
+ add ebx,25*65536
+ add edx,3
+ mcall
+
+ dec edi
+ jns text_row2_2_loop
+ text_row3_1:
+ mov ebx,60*65536+83
+ add edx,3
+ mcall
+
+ mov ebx,85*65536+83
+ add edx,3
+ mcall
+ text_row3_2:
+ mov ebx,374*65536+83
+ add edx,3
+ mcall
+ mov edi,4
+ text_row3_2_loop:
+ add ebx,25*65536
+ add edx,3
+ mcall
+
+ dec edi
+ jns text_row3_2_loop
+ text_row4:
+ mov ebx,60*65536+104
+ add edx,3
+ mcall
+ mov edi,16
+ text_row4_loop:
+ add ebx,26*65536
+ add edx,3
+ mcall
+
+ dec edi
+ jns text_row4_loop
+ text_row5:
+ mov ebx,60*65536+125
+ add edx,3
+ mcall
+ mov edi,16
+ text_row5_loop:
+ add ebx,26*65536
+ add edx,3
+ mcall
+
+ dec edi
+ jns text_row5_loop
+ text_row6:
+ mov ebx,60*65536+146
+ add edx,3
+ mcall
+ mov edi,16
+ text_row6_loop:
+ add ebx,26*65536
+ add edx,3
+ mcall
+ dec edi
+ jns text_row6_loop
+ text_row7:
+ mov ebx,60*65536+167
+ add edx,3
+ mcall
+ mov edi,11 ;9
+ text_row7_loop:
+ add ebx,26*65536
+ add edx,3
+ mcall
+
+ dec edi
+ jns text_row7_loop
+ mov edi,4
+ text_row7_loop2:
+ add ebx,26*65536
+ add edx,3
+ mcall
+ dec edi
+ jns text_row7_loop2
+
+ text_row8:
+ mov ebx,111*65536+197
+ add edx,3
+ mcall
+ mov edi,12
+
+ text_row8_loop:
+ add ebx,26*65536
+ add edx,3
+ mcall
+
+ dec edi
+ jns text_row8_loop
+
+ text_row9:
+ mov ebx,111*65536+217
+ add edx,3
+ mcall
+ mov edi,12
+
+ text_row9_loop:
+ add ebx,26*65536
+ add edx,3
+ mcall
+
+ dec edi
+ jns text_row9_loop
+
+;; - In short, we put it in a separate procedure
+ call draw_text
+;;
+
+ finish:
+ mov eax,12 ;end drawing
+ mov ebx,2
+ mcall
+ret
+
+draw_text:
+ ; 1 output serial number [optmzd-mem]
+ ; 2 output Russian name [optmzd-mem]
+ ; 3 output English name [optmzd-spd]
+ ; 4 output atomic mass [optmzd-spd]
+ ; 5 output density [optmzd-mem]
+ ; 6 output oxidation state [optmzd-mem]
+ ; 7 output electronegativity [optmzd-spd]
+ ; 8 output melting point [optmzd-mem]
+ ; 9 output boiling point [optmzd-mem]
+ ;10 output distribution in the Earth's crust [optmzd-mem]
+ ;11 output names of discoverers [optmzd-mem]
+
+
+;; - coloring, so that there is no overlap when drawing text
+ mov eax,13
+ mov ebx,320*65536+210
+ mov ecx,255*65536+(15*11)
+ mov edx,[sc.work]
+ mcall
+;;
+
+
+ push edi ;To optimize EBX changes
+
+ ; 1 output serial number [optmzd-mem]
+ mov ebx,0x30000 ;Display 3 digits
+ mov ecx,[re_ID]
+ mov edx,320*65536+255
+ xor esi,esi
+ mov eax,47
+ mcall
+
+;ATTENTION! HERE IS THE COLOR OF ALL THE REST OF THE TEXT! [done to reduce the code by 20 bytes :)]
+ mov ecx,[sc.work_text] ; Color
+ or ecx,0x80000000 ; asciiz
+ mov eax,4 ; this function is called 10 times! so we will write 1 time
+
+ ; 2 output Russian name [optmzd-mem]
+ mov edi,Rus_nazv ;pointer to the beginning of an array of signs ;)
+ mov ebx,320*65536+255 ;Coordinates are introduced here, then there will be only Add EBX, 15
+ call out_asciiz_item
+
+ xor ecx,ecx ;color
+ ; 3 output English name [optmzd-spd]
+ mov edx,Elements
+ mov edi,[re_ID]
+ dec edi
+ mov esi,12 ; The length of the line
+ imul edi,esi ; we consider the pointer to the desired line
+ add edx,edi
+ add ebx,15 ; We increase the text of the text by 15 pixels
+ mcall
+
+ ; 4 output atomic mass [optmzd-spd]
+ mov edx,MassNo
+ mov edi,[re_ID]
+ dec edi
+ mov esi,7 ; The length of the line
+ imul edi,esi ; we consider the pointer to the desired line
+ add edx,edi
+ add ebx,15
+ mcall
+
+ mov ecx,0x80000000 ; asciz, color !!!
+ ; 5 output density [optmzd-mem]
+ mov edi,Plotnost
+ call out_asciiz_item
+
+ ; 6 output oxidation state [optmzd-mem]
+ mov edi,Step_ok
+ call out_asciiz_item
+
+ xor ecx,ecx ;color
+ ; 7 output electronegativity [optmzd-spd]
+ mov edx,Electr
+ mov edi,[re_ID]
+ dec edi
+ mov esi,4 ;Line length
+ shl edi,2
+ add edx,edi
+ add ebx,15
+ mcall
+
+ mov ecx,0x80000000 ;asciz, color !!!
+ ; 8 output melting point [optmzd-mem]
+ mov edi,T_plavl
+ call out_asciiz_item
+
+ ; 9 output boiling point [optmzd-mem]
+ mov edi,T_kipen
+ call out_asciiz_item
+
+ ;10 output distribution in the Earth's crust [optmzd-mem]
+ mov edi,Rasprostr
+ call out_asciiz_item
+
+ ;11 output names of discoverers [optmzd-mem]
+ mov edi,First_Explore
+ call out_asciiz_item
+
+ pop edi ; He was preserved at the beginning :)
+ ret
+
+; the function performs a set of actions to display information
+out_asciiz_item:
+ mov edx,[re_ID]
+ dec edx
+ shl edx,2 ;multiply by 4 (pointer size)
+ mov edx,[edx+edi] ;pointer to a string in edx
+ add ebx,15
+ mcall
+ret
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;; ;;
+;; Data area ;;
+;; ;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;---- begin ---- Данные для ГЛАВНОГО окна --------------------------
+caption db 'Периодическая система Д.И.Менделеева by navanax & Johnny_B',0
+density db 'Плотность',0
+Atomic_massa db 'Атомная масса',0
+name db 'Название',0
+eng_name db 'Англ. название',0
+T_pl db 'Температура пл.',0
+T_kip db 'Температура кип.',0
+Electrootr db 'Электроотрицательность',0
+Raspr db 'Распределение в земн. коре',0
+Step_okisl db 'Степень окисления',0
+Otkrytie db 'Открытие',0
+number db 'Порядковый номер',0
+Period_text:
+ db ' I',0
+ db ' II',0
+ db 'III',0
+ db ' IV',0
+ db ' V',0
+ db ' VI',0
+ db 'VII',0
+Lantanoid_text db 'Лантаноиды',0
+Actinoid_text db ' Актиноиды',0
+;---- end ------ Данные для ГЛАВНОГО окна --------------------------
+
+
+;*********************************************
+; БАЗА ДАННЫХ ПО ХИМИЧЕСКИМ ЭЛЕМЕНТАМ
+;*********************************************
+;определимся, что кол-во элементов = 116. Ни больше, ни меньше!
+;Каждый массив должен содержать 116 элементов,
+;чтобы не было выхода за его пределы
+
+;Английское название
+Elements: ;116 элементов
+db 'Hydrogen ' ; 1
+db 'Helium '
+db 'Lithium '
+db 'Beryllium '
+db 'Boron '
+db 'Carbon '
+db 'Nitrogen '
+db 'Oxygen '
+db 'Fluorine '
+db 'Neon '
+db 'Sodium '
+db 'Magnesium '
+db 'Aluminum '
+db 'Silicon '
+db 'Phosphorus '
+db 'Sulfur '
+db 'Chlorine '
+db 'Argon '
+db 'Potassium '
+db 'Calcium ' ;20
+db 'Scandium '
+db 'Titanium '
+db 'Vandium '
+db 'Chromium '
+db 'Manganese '
+db 'Iron '
+db 'Cobalt '
+db 'Nickel '
+db 'Copper '
+db 'Zinc ' ;30
+db 'Gallium '
+db 'Germanium '
+db 'Arsenic '
+db 'Selenium '
+db 'Bromine '
+db 'Krypton '
+db 'Rubidium '
+db 'Strontium '
+db 'Yttrium '
+db 'Zirconium '
+db 'Niobium '
+db 'Molybdenum '
+db 'Technetium '
+db 'Ruthenium '
+db 'Rhodium '
+db 'Palladium '
+db 'Silver '
+db 'Cadmium '
+db 'Indium '
+db 'Tin ' ;50
+db 'Antimony '
+db 'Tellurium '
+db 'Iodine '
+db 'Xenon '
+db 'Cesium '
+db 'Barium '
+db 'Lanthanum '
+db 'Cerium '
+db 'Praseodymium'
+db 'Neodymium '
+db 'Promethium '
+db 'Samarium '
+db 'Europium '
+db 'Gadolinium '
+db 'Terbium '
+db 'Dysprosium '
+db 'Homium '
+db 'Erbium '
+db 'Thulium '
+db 'Ytterbium ' ;70
+db 'Lutetium '
+db 'Hafnium '
+db 'Tantalum '
+db 'Tungsten '
+db 'Rhenium '
+db 'Osmium '
+db 'Iridum '
+db 'Platinum '
+db 'Gold '
+db 'Mercury ' ;80
+db 'Thallium '
+db 'Lead '
+db 'Bismuth '
+db 'Polonium '
+db 'Astatine '
+db 'Radon '
+db 'Francium '
+db 'Radium '
+db 'Actinum '
+db 'Thorium ' ;90
+db 'Protactinium'
+db 'Uranium '
+db 'Neptunium '
+db 'Plutonium '
+db 'Americium '
+db 'Curium '
+db 'Berkelium '
+db 'Californium '
+db 'Einsteinium '
+db 'Fermium ' ;100
+db 'Mendelevium '
+db 'Nobelium '
+db 'Lawrencium '
+db 'Reserfordium'
+db 'Dubnium '
+db 'Siborgovium '
+db 'Boronium '
+db 'Hassium '
+db 'Meithnerium '
+db 'Darmstadtium' ;110
+db 'Roentgenium '
+db 'Copernicium '
+db 'Nihonium '
+db 'Flerovium '
+db 'Moscovium '
+db 'Livermorium ' ;116
+db 'Tennessine '
+db 'Oganesson '
+
+
+;---------------------------------
+
+Symbols: ;116 элементов
+db 'H '
+db 'He '
+db 'Li '
+db 'Be '
+db 'B '
+db 'C '
+db 'N '
+db 'O '
+db 'F '
+db 'Ne '
+db 'Na '
+db 'Mg '
+db 'Al '
+db 'Si '
+db 'P '
+db 'S '
+db 'Cl '
+db 'Ar '
+db 'K '
+db 'Ca '
+db 'Sc '
+db 'Ti '
+db 'V '
+db 'Cr '
+db 'Mn '
+db 'Fe '
+db 'Co '
+db 'Ni '
+db 'Cu '
+db 'Zn '
+db 'Ga '
+db 'Ge '
+db 'As '
+db 'Se '
+db 'Br '
+db 'Kr '
+db 'Rb '
+db 'Sr '
+db 'Y '
+db 'Zr '
+db 'Nb '
+db 'Mo '
+db 'Tc '
+db 'Ru '
+db 'Rh '
+db 'Pd '
+db 'Ag '
+db 'Cd '
+db 'In '
+db 'Sn '
+db 'Sb '
+db 'Te '
+db 'I '
+db 'Xe '
+db 'Cs '
+db 'Ba '
+db 'La '
+db 'Hf '
+db 'Ta '
+db 'W '
+db 'Re '
+db 'Os '
+db 'Ir '
+db 'Pt '
+db 'Au '
+db 'Hg '
+db 'Tl '
+db 'Pb '
+db 'Bi '
+db 'Po '
+db 'At '
+db 'Rn '
+db 'Fr '
+db 'Ra '
+db 'Ac '
+db 'Rf '
+db 'Db '
+db 'Sg '
+db 'Bh '
+db 'Hs '
+db 'Mt '
+db 'Ds '
+db 'Rg '
+db 'Cn '
+db 'Nh '
+db 'Fi '
+db 'Mc '
+db 'Lv '
+;
+db 'Ts '
+db 'Og '
+;
+db 'Ce '
+db 'Pr '
+db 'Nd '
+db 'Pm '
+db 'Sm '
+db 'Eu '
+db 'Gd '
+db 'Tb '
+db 'Dy '
+db 'Ho '
+db 'Er '
+db 'Tm '
+db 'Yb '
+db 'Lu '
+db 'Th '
+db 'Pa '
+db 'U '
+db 'Np '
+db 'Pu '
+db 'Am '
+db 'Cm '
+db 'Bk '
+db 'Cf '
+db 'Es '
+db 'Fm '
+db 'Md '
+db 'No '
+db 'Lr '
+
+;АТОМНАЯ МАССА
+MassNo: ;116 элементов
+db '1.00794' ; 1
+db '4.0026 '
+db '6.941 '
+db '9.01218'
+db '10.811 '
+db '12.0107'
+db '14.0067'
+db '15.9994'
+db '18.9984'
+db '20.179 ' ; 10
+db '22.9898'
+db '24.305 '
+db '26.9815'
+db '28.0855'
+db '30.9738'
+db '32.066 '
+db '35.453 '
+db '39.948 '
+db '39.0983'
+db '40.078 ' ; 20
+db '44.9559'
+db '47.88 '
+db '50.9415'
+db '51.996 '
+db '54.938 '
+db '55.847 '
+db '58.9332'
+db '58.6934'
+db '63.546 '
+db '65.39 ' ; 30
+db '69.723 '
+db '72.61 '
+db '74.922 '
+db '78.96 '
+db '79.904 '
+db '83.80 '
+db '85.47 '
+db '87.62 '
+db '88.906 '
+db '91.224 ' ; 40
+db '92.906 '
+db '95.94 '
+db '(98) '
+db '101.07 '
+db '102.905'
+db '106.42 '
+db '107.868'
+db '112.41 '
+db '114.82 '
+db '118.71 ' ; 50
+db '121.75 '
+db '127.60 '
+db '126.90 '
+db '131.29 '
+db '132.90 '
+db '137.33 '
+db '138.91 '
+db '140.12 '
+db '140.91 '
+db '144.24 ' ; 60
+db '(147) '
+db '150.36 '
+db '151.96 '
+db '157.25 '
+db '158.92 '
+db '162.50 '
+db '164.93 '
+db '167.26 '
+db '168.93 '
+db '173.04 ' ; 70
+db '174.97 '
+db '178.49 '
+db '180.95 '
+db '183.85 '
+db '186.21 '
+db '190.2 '
+db '192.22 '
+db '195.08 '
+db '196.97 '
+db '200.59 ' ; 80
+db '204.38 '
+db '207.19 '
+db '208.98 '
+db '(209) '
+db '(210) '
+db '(222) '
+db '(223) '
+db '(226) '
+db '(227) '
+db '232.04 ' ; 90
+db '(231) '
+db '238.029'
+db '(237) '
+db '(244) '
+db '(243) '
+db '(247) '
+db '(247) '
+db '(251) '
+db '(254) '
+db '(257) ' ; 100
+db '(258) '
+db '(259) '
+db '(262) ' ;103
+db '(261) '
+db '(262) '
+db '(266) '
+db '(264) '
+db '(269) '
+db '(268) '
+db '(271) ' ; 110
+db '(272) '
+db '(285) '
+db '(284) '
+db '(289) '
+db '(288) '
+db '(292) ' ;116
+;
+db '294,210'
+db '294,214'
+
+
+;-----------------------
+
+;ЭЛЕКТРООТРИЦАТЕЛЬНОСТЬ
+Electr: ; 116 элементов
+db '2,1 ' ; 1
+db '5,5 '
+db '0,97'
+db '1,47'
+db '2,01'
+db '2,50'
+db '3,07'
+db '3,50'
+db '4,10'
+db '4,84' ; 10
+db '0,93'
+db '1,23'
+db '1,47'
+db '2,25'
+db '2,32'
+db '2,60'
+db '2,83'
+db '3,20'
+db '0,91'
+db '1,04' ; 20
+db '1,20'
+db '1,32'
+db '1,45'
+db '1,56'
+db '1,60'
+db '1,64'
+db '1,70'
+db '1,75'
+db '1,75'
+db '1,66' ; 30
+db '1,82'
+db '2,02'
+db '2,11'
+db '2,48'
+db '2,74'
+db '2,94'
+db '0,89'
+db '0,99'
+db '1,11'
+db '1,22' ;40
+db '1,6 '
+db '2,16'
+db '1,9 '
+db '2.2 '
+db '2.28'
+db '2,2 '
+db '1,93'
+db '1,69'
+db '1,78'
+db '1,96'
+db '2,05'
+db '2,1 '
+db '2,66'
+db '??? '
+db '0,79'
+db '0,89'
+db '1,1 '
+db '1,12'
+db '1,13'
+db '1,14' ;60
+db '1,13'
+db '1,17'
+db '1,2 '
+db '1,2 '
+db '1,2 '
+db '1,22'
+db '1,23'
+db '1,24'
+db '1,25'
+db '1,1 ' ; 70
+db '1,27'
+db '1,3 '
+db '1,5 '
+db '1,36'
+db '1,46'
+db '1,52'
+db '1,55'
+db '1,44'
+db '1,42'
+db '1,42' ; 80
+db '1,42'
+db '1,55'
+db '1,67'
+db '1,76'
+db '1,90'
+db '2,06'
+db '0,86'
+db '0,97'
+db '1,00'
+db '1,11' ;90
+db '1,14'
+db '1,22'
+db '1,22'
+db '1,2 '
+db '1,1 '
+db '1,2 '
+db '1,1 '
+db '1,2 '
+db '??? '
+db '??? ' ; 100
+db '1,2 '
+db '??? '
+db '??? '
+db '??? '
+db '??? '
+db '??? '
+db '??? '
+db '??? '
+db '??? '
+db '??? ' ; 110
+db '??? '
+db '??? '
+db '??? '
+db '??? '
+db '??? '
+db '??? ' ; 116
+db '??? '
+dd '??? '
+
+
+;-----------------------
+
+;ТЕМПЕРАТУРА ПЛАВЛЕНИЯ 116 элементов
+strtbl T_plavl, \
+"- 259,19", \
+"- 271,15", \
+"180,5", \
+"1287", \
+"2075", \
+"4000(графит)", \
+"-210,0", \
+"-218,7", \
+"-219,699", \
+"-248,6", \
+"97,83", \
+"648", \
+"660,37", \
+"1415", \
+"44,14(белый) 593(красный)", \
+"119,3", \
+"-101,03", \
+"-189,34", \
+"63,51", \
+"842", \ ;20
+"1541", \
+"1658", \
+"1920", \
+"1890", \
+"1245", \
+"1539", \
+"1494", \
+"1455", \
+"1084,5", \
+"419,5", \
+"29,78", \
+"937", \
+"817 (под давлением)", \
+"217", \
+"-7,25", \
+"-157,37", \
+"39,3", \
+"768", \
+"1528", \
+"1855", \ ;40
+"2470", \
+"2620", \
+"2250", \
+"2607", \
+"1963", \
+"1554", \
+"961,93", \
+"321,108", \
+"156,634", \
+"231,9681", \
+"630,74", \
+"449,8", \
+"113,5", \
+"-111,85", \
+"28,7", \
+"727", \
+"920", \
+"804", \
+"931", \
+"1024", \ ;60
+"1170", \
+"1072", \
+"826", \
+"1312", \
+"1356", \
+"1409", \
+"1470", \
+"1522", \
+"1545", \
+"824", \
+"1663", \
+"2230", \
+"3270", \
+"3660", \
+"3190", \
+"3027", \
+"2443", \
+"1772", \
+"1064,43", \
+"-38,862", \ ;80
+"303,6", \
+"327,502", \
+"271,44", \
+"254", \
+"575", \
+"-71,0", \
+"21", \
+"969", \
+"1050", \
+"1750", \
+"1580", \
+"1134", \
+"637", \
+"640", \
+"1292", \
+"1345", \
+"1050", \
+"900", \
+"860", \
+"???", \ ;100
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \ ;110
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \ ; 116
+"???", \
+"???"
+
+
+;-----------------------
+
+;ТЕМПЕРАТУРА КИПЕНИЯ 116 элементов
+strtbl T_kipen, \
+"- 252,87", \
+"- 268,935", \
+"1336,6", \
+"2471", \
+"3700", \
+"4200(графит)", \
+"-195,802", \
+"-182,962", \
+"-188,2", \
+"-246,048", \
+"886", \
+"1095", \
+"2500", \
+"3250", \
+"287,3 - белый ", \
+"444,674", \
+"-34,1", \
+"-185,86", \
+"760", \
+"1495", \ ;20
+"2850", \
+"3260", \
+"3450", \
+"2680", \
+"2080", \
+"3200", \
+"2960", \
+"2900", \
+"2540", \
+"906,2", \
+"2403", \
+"2850", \
+"-", \
+"685,3", \
+"59,82", \
+"153,35", \
+"696", \
+"1390", \
+"3320", \
+"4340", \ ;40
+"4927", \
+"4630", \
+"4630", \
+"4900", \
+"3700", \
+"2940", \
+"2170", \
+"766,5", \
+"2024", \
+"2620", \
+"1634", \
+"990", \
+"184,35", \
+"-108,12", \
+"667,6", \
+"1860", \
+"3450", \
+"3450", \
+"3510", \
+"3080", \ ;60
+"3000", \
+"1800", \
+"1440", \
+"3272", \
+"3073", \
+"2587", \
+"2707", \
+"2857", \
+"1947", \
+"1211", \
+"3412", \
+"4620", \
+"5425", \
+"6000", \
+"5900", \
+"5000", \
+"4380", \
+"3800", \
+"2947", \
+"356,66", \ ;80
+"1457", \
+"1745", \
+"1564", \
+"962", \
+"309", \
+"-61,9", \
+"669", \
+"1536", \
+"3300", \
+"4200", \
+"4500", \
+"4200", \
+"4100", \
+"3350", \
+"2880", \
+"3200", \
+"2630", \
+"1227", \
+"???", \
+"???", \ ;100
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \ ; 110
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \
+"???", \ ; 116
+"345 - 230", \
+"80 (+-30)"
+
+
+;Русское название ; 116 элементов
+strtbl Rus_nazv, \
+"Водород", \ ;1
+"Гелий", \
+"Литий", \
+"Бериллий", \
+"Бор", \
+"Углерод", \
+"Азот", \
+"Кислород", \
+"Фтор", \
+"Неон", \ ;10
+"Натрий", \
+"Магний", \
+"Алюминий", \
+"Кремний", \
+"Фосфор", \
+"Сера", \
+"Хлор", \
+"Аргон", \
+"Калий", \
+"Кальций", \
+"Скандий", \
+"Титан", \
+"Ванадий", \
+"Хром", \
+"Марганец", \
+"Железо", \
+"Кобальт", \
+"Никель", \
+"Медь", \
+"Цинк", \ ;30
+"Галлий", \
+"Германий", \
+"Мышьяк", \
+"Селен", \
+"Бром", \
+"Криптон", \
+"Рубидий", \
+"Стронций", \
+"Иттрий", \
+"Цирконий", \
+"Ниобий", \
+"Молибден", \
+"Технеций", \
+"Рутений", \
+"Родий", \
+"Палладий", \
+"Серебро", \
+"Кадмий", \
+"Индий", \
+"Олово", \ ;50
+"Сурьма", \
+"Теллур", \
+"Йод", \
+"Ксенон", \
+"Цезий", \
+"Барий", \
+"Лантан", \
+"Церий", \
+"Празеодим", \
+"Неодим", \
+"Прометий", \
+"Самарий", \
+"Европий", \
+"Гадолиний", \
+"Тербий", \
+"Диспрозий", \
+"Гольмий", \
+"Эрбий", \
+"Тулий", \
+"Иттербий", \ ;70
+"Лютеций", \
+"Гафний", \
+"Тантал", \
+"Вольфрам", \
+"Рений", \
+"Осмий", \
+"Иридий", \
+"Платина", \
+"Золото", \
+"Ртуть", \
+"Таллий", \
+"Свинец", \
+"Висмут", \
+"Полоний", \
+"Астат", \
+"Радон", \
+"Франций", \
+"Радий", \
+"Актиний", \
+"Торий",\
+"Протактиний",\
+"Уран",\
+"Нептуний", \ ;90
+"Плутоний", \
+"Америций", \
+"Кюрий", \
+"Берклий", \
+"Калифорний", \
+"Эйнштейний", \
+"Фермий", \
+"Менделевий", \
+"Нобелий", \
+"Лоуренсий", \
+"Резерфордий", \
+"Дубний", \
+"Сиборговий", \
+"Борий", \
+"Гассий", \
+"Мейтнерий", \
+"Дармштадтий", \ ;110
+"Рентгений", \
+"Коперниций", \
+"Нихоний", \
+"Флеровий", \
+"Московий", \
+"Ливерморий", \ ;116
+"Теннессин", \
+"Оганесон"
+
+
+;Первооткрыватели ; 116 элементов
+strtbl First_Explore, \
+"Г.Кавендиш, 1766", \
+"Ж.Жансен, Дж.Н.Локьер, 1868", \
+"А.Арфедсон, 1817", \
+"Л.Воклен, 1798", \
+"Л.Ж.Гей-Люссак 1808", \
+"известен до н.э.", \
+"Д.Резерфорд, 1772", \
+"К.В.Шееле, 1772", \
+"А.Муассан, 1886", \
+"У.Рамзай,М.Траверс 1898", \
+"Г.Дэви, 1807",\
+"Г.Дэви, 1808",\
+"Х.К.Эрстед, 1825",\
+"Ж.Л.Гей-Люссак, Л.Ж.Тенар, 1811",\
+"Х.Брандт, 1669",\
+"известна до н.э.",\
+"К.В.Шееле, 1774",\
+"У.Рамзай, Дж.Рэлей, 1894",\
+"Г.Дэви, 1807",\
+"Г.Дэви, 1808",\
+"Л.Ф.Нильсон, 1879",\
+"У.Грегор, 1790 ",\
+"Г.Роско, 1869",\
+"Л.Н.Воклен, 1797",\
+"Ю.Ган, 1774",\
+"известно до н.э.",\
+"Ю.Брандт, 1735",\
+"А.Кронштедт, 1751",\
+"известна до н.э.",\
+"известен со средн. веков",\
+"П.Э.Лекок де Буабодран, 1875",\
+"К.А.Винклер, 1886",\
+"известен со средн. веков",\
+"Й.Берцелиус, Й.Ган, 1817",\
+"Ж.Балар, 1826",\
+"У.Рамзай, М.Траверс, 1898",\
+"Р.Бунзен, Г.Кирхгоф, 1861",\
+"А.Крофорд, 1808",\
+"Ю.Гадолин, 1794",\
+"М.Клапрот, 1789",\
+"Ч.Хатчет, 1801",\
+"К.В.Шееле, 1778",\
+"Э.Сегре, К.Перье, 1937",\
+"К.К.Клаус, 1844",\
+"У.Волластон, 1804",\
+"У.Волластон, 1803",\
+"известно до н.э.",\
+"Ф.Штромейер, 1817",\
+"Р.Рейх, И.Рихтер, 1863",\
+"известно до н.э.",\
+"известна до н.э.",\
+"Ф.Мюллер, 1782",\
+"Б.Куртуа, 1811",\
+"У.Рамзай, М.Траверс, 1898",\
+"Р.Бунзен, Г.Кирхгоф, 1860",\
+"Г.Дэви, 1774",\
+"К.Мосандер, 1839",\
+"К.Мосандер, 1839",\
+"К.Ауэр фон Вельсбах, 1885",\
+"К.Ауэр фон Вельсбах, 1842",\
+"Л.Гленденин, Ч.Кориэлл и др., 1942",\
+"П.Э.Лекок де Буабодран, 1879",\
+"Э.Демарсе, 1901",\
+"Ж.Мариньяк, 1880",\
+"К.Мосандер, 1843",\
+"П.Э.Лекок де Буабодран, 1886",\
+"П.Клеве, 1879",\
+"К.Мосандер, 1843",\
+"П.Клеве, 1879",\
+"Ж.Мариньяк, 1878",\
+"Ж.Урбэн, Ч.Джеймс, 1907",\
+"Д.Костер и др., 1922",\
+"А.Г.Экеберг, 1802",\
+"К.В.Шееле, 1781",\
+"И. и В.Ноддак, О.Берг, 1925",\
+"С.Теннант, 1804",\
+"С.Теннант, 1804",\
+"изв. с древности",\
+"известно до н.э.",\
+"известна до н.э.",\
+"У.Крукс, 1861",\
+"известен до н.э.",\
+"И.Потт, 1739",\
+"М. и П.Кюри, 1898",\
+"Д.Корсон др., 1940",\
+"Э.Дорн, 1940",\
+"М.Перей, 1939",\
+"М. и П.Кюри, Ж.Бемюн, 1898",\
+"А.Дебьерн, 1899",\
+"Й.Берцелиус, 1828",\
+"О.Ган, Л.Мейтнер, Ф.Содди, 1918",\
+"М.Клапрот, 1789",\
+"Э.М.Макмиллан, Ф.Х.Эйблсон, 1940",\
+"Г.Сиборг и др., 1940",\
+"Г.Сиборг и др., 1944",\
+"Г.Сиборг и др., 1944",\
+"Г.Сиборг и др., 1949",\
+"Г.Сиборг и др., 1950",\
+"А.Гиорсо, С.Томпсон, 1952",\
+"А.Гиорсо, С.Томпсон, 1952",\
+"А.Гиорсо и др., 1955",\
+"Учёные СССР, 1966",\
+"А.Гиорсо и др., 1961",\
+"Г.Н.Флеров и др., 1964",\
+"Г.Н.Флеров и др., 1967",\
+"Г.Н.Флеров и др., 1974",\
+"P.Armbruster, G.Munzenber, 1981",\
+"P.Armbruster, G.Munzenber, 1984",\
+"P.Armbruster, G.Munzenber, 1982",\
+"S.Hofmann, V. Ninov, 1994",\
+"S.Hofmann, V. Ninov, 1994",\
+"S.Hofmann, V. Ninov, 1996",\
+"не открыт",\
+"Учёные России, 1998",\
+"не открыт",\
+"Ю.Ц.Оганессян, В.К.Утенков, 2000", \
+"ОИЯИ в г.Дубна", \
+"ОИЯИ и Ливерморская лаборатория"
+
+
+; Плотность 116 элементов
+strtbl Plotnost, \
+"-", \ ; 1
+"-", \
+"535", \
+"1848", \
+"2460", \
+"2267", \
+"-", \
+"-", \
+"-", \
+"0,90035 г/л", \
+"968", \ ; 10
+"1738", \
+"2700", \
+"2330", \
+"1823", \
+"1960", \
+"-", \
+"1,7837 г/л", \
+"856", \
+"1550", \
+"2985", \ ; 20
+"4507", \
+"6110", \
+"7140", \
+"7470", \
+"7874", \
+"8900", \
+"8908", \
+"8920", \
+"7140", \
+"5904", \ ; 30
+"5323", \
+"5727", \
+"4819", \
+"-", \
+"3,745 г/л", \
+"1532", \
+"2630", \
+"4472", \
+"6511", \
+"8570", \ ; 40
+"10280", \
+"11500", \
+"12370", \
+"12450", \
+"12023", \
+"10490", \
+"8650", \
+"7310", \
+"7310", \
+"6697", \ ; 50
+"6240", \
+"4940", \
+"5,851 г/л", \
+"1879", \
+"3510", \
+"6146", \
+"6689", \
+"6640", \
+"6800", \
+"7264", \ ; 60
+"7353", \
+"5244", \
+"7901", \
+"8219", \
+"8551", \
+"8795", \
+"9066", \
+"9321", \
+"6570", \
+"9841", \ ; 70
+"13310", \
+"16650", \
+"19250", \
+"21020", \
+"22610", \
+"22650", \
+"21090", \
+"19300", \
+"-", \
+"11850", \ ; 80
+"11340", \
+"9780", \
+"9196", \
+"-", \
+"9,73 г/л", \
+"2400", \
+"5000", \
+"10070", \
+"11724", \
+"15370", \ ; 90
+"19050", \
+"20450", \
+"19816", \
+"-", \
+"13510", \
+"14780", \
+"15100", \
+"-", \
+"-", \
+"-", \ ; 100
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \ ; 110
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \ ; 116
+"-", \
+"4,9 - 5,1 "
+
+
+;РАСПРОСТРАНЕНИЕ В ЗЕМНОЙ КОРЕ 116 элементов
+strtbl Rasprostr, \
+"0,14 %", \ ; 1
+"менее 0,0015 %", \
+"0,0030 %", \
+"0,0006 %", \
+"0,005 %", \
+"0,032 %", \
+"0,0046 %", \
+"46,60 %", \
+"0,070 %", \
+"0,00007 г/т", \ ; 10
+"2,83 %", \
+"2,09 %", \
+"8,13 %", \
+"27,72 %", \
+"0,118 %", \
+"0,052 %", \
+"0,020 %", \
+"0,000004 %", \
+"2,59 %", \
+"3,63 %", \ ; 20
+"0,001 %", \
+"0,57 %", \
+"0,0110 %", \
+"0,0200 %", \
+"0,100 %", \
+"5,00 %", \
+"0,0023 %", \
+"0,0080 %", \
+"0,0045 %", \
+"0,0065 %", \ ; 30
+"0,0015 %", \
+"0,00015 %", \
+"0,00017 %", \
+"0,000014 %", \
+"0,00016 %", \
+"0,000114 % (в атмосфере)", \
+"0,0120 %", \
+"???", \
+"0,0040 %", \
+"0,0160 %", \ ; 40
+"0,0024 %", \
+"0,0003 %", \
+"-", \
+"0,0000005 %", \
+"0.0000001 %", \
+"0,000001 %", \
+"0,000007 %", \
+"0,0000135 %", \
+"0,00001 %", \
+"0,008 %", \
+"0,00005 %", \ ; 50
+"0,000001 %", \
+"0,00004 %", \
+"0,000039 % (в атмосфере)", \
+"0,00037 %", \
+"0,040 %", \
+"0,0029 %", \
+"0,007 %", \
+"0,0007 %", \
+"0,0025 %", \
+"-", \ ; 60
+"0,0007 %", \
+"0,00013 %", \
+"0,00054 %", \
+"0,00043 %", \
+"0,0005 %", \
+"0,00013 %", \
+"0,00033 %", \
+"0,000027 %", \
+"0,000033 %", \
+"0,00008 %", \ ; 70
+"0,0003 - 0,0004 %", \
+"0,00025 %", \
+"0,0001 %", \
+"0,00000007 %", \
+"0,000005 %", \
+"0,0000001 %", \
+"0,0000005 %", \
+"0,00000043 %", \
+"0,000007 %", \
+"0,0003 %", \ ; 80
+"0,0015 %", \
+"0,00002 %", \
+"0,00000000000002 %", \
+"17 мг в слое коры 1,6 км", \
+"-", \
+"-", \
+"0,0000000001 %", \
+"0,0000000006 %", \
+"0,0008 %", \
+"-", \ ; 90
+"0,0003 %", \
+"-", \
+"-", \
+"0,0003 %", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \ ; 100
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \ ; 110
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \ ; 116
+"-", \
+"-"
+
+
+; степень окисления 116 элементов
+strtbl Step_ok, \
+"+1 -1", \ ; 1
+"-", \
+"+1", \
+"+2 (+1)", \
+"+3 (+2)", \
+"+4 -4", \
+"от +5 до -3 ", \
+"+4 -4", \
+"-1", \
+"-", \ ; 10
+"+1", \
+"+2 (+1)", \
+"+3 (+1 +2)", \
+"+1 +2 +3 +4", \
+"-3 +3 +5", \
+"-2 +4 +6", \
+"-1 +1 +3 +5 +7", \
+"-", \
+"+1", \
+"+2 (+1)", \ ; 20
+"+3 (+1 +2)", \
+"+4 +2 +3", \
+"от +2 до +5", \
+"+2 +3 +6 (+4 +5 +1)", \
+"от +2 до +7", \
+"+2 +3 (+1 +2 +4 +6 +8)", \
+"+2 +3 (+1 +4 +5)", \
+"+2 (+1 +3 +4)", \
+"+1 +2 (+3 +4)", \
+"+2", \ ; 30
+"+1 +3", \
+"+4 +3 +2 +1", \
+"+5 +3 -3", \
+"+6 +4 -2 (+2)", \
+"-1 +1 +3 +5 +7", \
+"+2", \
+"+1", \
+"+2 (+1)", \
+"+3", \
+"+4 (+1 +2 +3)", \ ; 40
+"+5 (+1 +2 +3 +4)", \
+"от +2 до +6", \
+"от -1 до +7", \
+"+3 +4 +6 +8", \
+"+1 +2 +3 +4 +5 +6", \
+"+1 +2 +3 +4 (+5 +6)", \
+"+1 +2 +3", \
+"+2 (+1)", \
+"+3 (+1)", \
+"+2 +4", \ ; 50
+"+3 +5 (-3)", \
+"-2 +6 +4 (+2)", \
+"-1 +1 +3 +5 +7", \
+"+2 +4 +6 +8", \
+"+1", \
+"+2 (+1)", \
+"+3", \
+"+3 (+4)", \
+"+4 +3 (+2)", \
+"+4 +3 (+2)", \ ; 60
+"+3", \
+"+2 +3 (+2)", \
+"+3 +2", \
+"+3 (+2 +1)", \
+"+1 +3 +4", \
+"+3 (+2 +4)", \
+"+3 (+2)", \
+"+3 (+1)", \
+"+3 +2 (+4)", \
+"+2 +3", \ ; 70
+"+3", \
+"+4 (+3 +2)", \
+"+5 (+2 +3 +4)", \
+"от +2 до +6", \
+"от +7 до -1", \
+"+4 +6 +8 +1 +3 +5", \
+"+4 +3 +1 +2 +6", \
+"+4 +3 +2 (+5 +6)", \
+"+1 +3 (+5)", \
+"+2 +1", \ ; 80
+"+1 +3", \
+"+1 +4 +2", \
+"+3 +5 -3 (+1 +2)", \
+"+6 +4 +2 -2", \
+"-1 +1 +5 (+7)", \
+"+2 +4 +6", \
+"+1", \
+"+2", \
+"+3", \
+"+4 (+2 +3)", \ ; 90
+"+4 +5 (+3)", \
+"от +2 до +6", \
+"+3 +4 +5 (+6 +7)", \
+"от +3 до +7", \
+"от +2 до +7", \
+"+3 (+4 +6)", \
+"+3 (+4)", \
+"+2 +3 (+4)", \
+"+2 +3", \
+"+2 +3", \ ; 100
+"+1 +2 +3", \
+"+2 +3", \
+"+3", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \ ; 110
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \
+"-", \ ; 116
+"-", \
+"-1, 0, +1, +2, +4, +6"
+I_END:
+sc system_colors
diff --git a/programs/other/rtfread/rtfread.asm b/programs/other/rtfread/rtfread.asm
index b13bc0bb5..35e9d00d4 100644
--- a/programs/other/rtfread/rtfread.asm
+++ b/programs/other/rtfread/rtfread.asm
@@ -1,3 +1,6 @@
+; SPDX-License-Identifier: NOASSERTION
+;
+
; RTF READER FOR KOLIBRI >= 0.7.7.0
; Written in pure assembler by Ivushkin Andrey aka Willow
; Menu_bar and scroll_bar from box_lib provided by dunkaist
@@ -57,15 +60,15 @@ AR_OFFSET equ 10
dd fname_buf ; адрес буфера для параметров
dd cur_dir_path ; путь к программе
-include '../../../config.inc' ;for nightbuild
-include '../../../macros.inc' ; макросы облегчают жизнь ассемблерщиков!
-include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
-include '../../../KOSfuncs.inc'
-include '../../../load_lib.mac'
+include '../../config.inc' ;for nightbuild
+include '../../macros.inc' ; Macros facilitate the life of assemblers!
+include '../../develop/libraries/box_lib/trunk/box_lib.mac'
+include '../../KOSfuncs.inc'
+include '../../load_lib.mac'
@use_library
-; include '../../../debug.inc'
+; include '../../debug.inc'
TOP=TOP+4
include 'bgifont.inc'
@@ -242,10 +245,10 @@ key: ;
.home:
cmp ah,180 ; Home
je top_red
-
+
cmp dword[is_scroll_bar_needed], 0
je still
-
+
mov ebx,dword[prcinfo+46]
sub ebx,TOP+15
cmp ah,183 ;PgDn
@@ -254,7 +257,7 @@ key: ;
cmp dword[is_scroll_bar_needed], 0
je still
-
+
mov eax, [scroll_bar_data_vertical.position]
add eax, AR_OFFSET*7
mov ebx, [scroll_bar_data_vertical.max_area]
@@ -273,7 +276,7 @@ key: ;
cmp dword[is_scroll_bar_needed], 0
je still
-
+
mov eax, [scroll_bar_data_vertical.position]
add eax, AR_OFFSET
mov ebx, [scroll_bar_data_vertical.max_area]
@@ -299,7 +302,7 @@ key: ;
cmp dword[is_scroll_bar_needed], 0
je still
-
+
cmp dword[scroll_bar_data_vertical.position], AR_OFFSET*7
sub dword[scroll_bar_data_vertical.position], AR_OFFSET*7
jg @f
@@ -314,7 +317,7 @@ key: ;
cmp dword[is_scroll_bar_needed], 0
je still
-
+
cmp dword[scroll_bar_data_vertical.position], AR_OFFSET
sub dword[scroll_bar_data_vertical.position], AR_OFFSET
jg @f
@@ -337,7 +340,7 @@ key: ;
cmp dword[is_scroll_bar_needed], 0
je still
-
+
mov eax, [scroll_bar_data_vertical.max_area]
sub eax, [scroll_bar_data_vertical.cur_area]
mov dword[scroll_bar_data_vertical.position], eax
@@ -350,7 +353,7 @@ key: ;
;---------------------------------------------------------------------
;OpenDialog_start:
; copy_path open_dialog_name,path,library_path,0
-
+
push dword OpenDialog_data
call [OpenDialog_Start]
@@ -366,14 +369,14 @@ key: ;
cmp ah, 1 ; если нажата кнопка с номером 1,
je .exit
jmp still
-
+
.exit:
mcall -1 ; иначе конец программы
-
+
;---------------------------------------------------------------------
;--- MOUSE EVENT PROCESSING ----------------------------------------
-;---------------------------------------------------------------------
+;---------------------------------------------------------------------
mouse:
mcall 37,7
test eax, eax
@@ -454,9 +457,9 @@ mouse:
push dword scroll_bar_data_vertical
call [scrollbar_ver_mouse]
-
+
call Set_position
-
+
mov eax,scroll_bar_data_vertical.redraw
xor ebx,ebx
cmp [eax],ebx
@@ -482,7 +485,7 @@ draw_window:
@@:
mov edx, -1
mov esi, -1
-
+
mov eax, [procinfo2.box.width]
cmp eax, [window_width]
je @f
@@ -526,11 +529,11 @@ draw_window:
sub ebx, SCROLL_WIDTH_SIZE
dec ebx
@@:
-
+
mov ecx, 19*65536-23
add ecx, [procinfo2.box.height]
sub ecx, [skin_height]
-
+
mov eax, 13
mov edx, 0xf0f0f0
int 0x40
@@ -544,13 +547,13 @@ draw_window:
; draw for Vertical ScrollBar
push dword scroll_bar_data_vertical
call [scrollbar_ver_draw]
-; reset all_redraw flag
+; reset all_redraw flag
xor eax,eax
mov [scroll_bar_data_vertical.all_redraw],eax
@@:
;---------------------------------------------
;po-moumu eto govno mamonta
-
+
;mcall 47,0x30000,isymImplemented,<114,8>, 0x10DDEEFF
;add edx,36 shl 16
;mcall ,,isymMax
@@ -585,18 +588,18 @@ draw_window:
;---------------------------------------------
; draw for Menu 1
push dword menu_data_1
- call [menu_bar_draw]
+ call [menu_bar_draw]
; draw for Menu 2
push dword menu_data_2
- call [menu_bar_draw]
+ call [menu_bar_draw]
; draw for Menu 3
push dword menu_data_3
- call [menu_bar_draw]
+ call [menu_bar_draw]
;---------------------------------------------
sub dword[prcinfo+42],2*LMARGIN+SCROLL_WIDTH_SIZE
sub dword[prcinfo+46],CHARH+25
-
+
if GUTTER eq 1
mov ebx,LMARGIN shl 16+20
mov ecx,20
@@ -676,7 +679,7 @@ call Set_position
; draw for Vertical ScrollBar
push dword scroll_bar_data_vertical
call [scrollbar_ver_draw]
-; reset all_redraw flag
+; reset all_redraw flag
xor eax,eax
mov [scroll_bar_data_vertical.all_redraw],eax
@@:
@@ -712,10 +715,10 @@ Set_position:
mov ebx, [scroll_bar_data_vertical.max_area]
sub ebx, [scroll_bar_data_vertical.cur_area]
div ebx
-
+
mov dword[top], TOP
sub dword[top], eax
-
+
.quit:
ret
;---------------------------------------------------------------------
@@ -728,7 +731,7 @@ Set_scroll_position:
mov eax, dword[procinfo2+0x42]
sub eax, 17
mov word[scroll_bar_data_vertical.size_y], ax
-
+
ret
;---------------------------------------------------------------------
@@ -1049,7 +1052,7 @@ litt_end:
help_file:
file 'reader.rtf'
help_end:
-
+
I_END0:
fname_buf:
rb 1024+16