programs: Fix post-SVN tidying
Some checks failed
Build system / Check kernel codestyle (pull_request) Successful in 28s
Build system / Build (pull_request) Failing after 56s

- Fix include paths after moving files up a level, from old SVN trunk subdirs. e.g. `include '../../macros.inc’`.
- Add SPDX placeholder.
- Translated a few RU comments to en_US.
- Note: Line endings standardised from `CRLF` > `LF`, so best to view diffs with whitespace changes hidden.
This commit is contained in:
2025-05-19 14:32:32 +01:00
parent f9ef36d154
commit 177c6817e5
3 changed files with 2107 additions and 2097 deletions

View File

@@ -1,3 +1,6 @@
; SPDX-License-Identifier: NOASSERTION
;
;; Calculator for MenuetOS (c) Ville Turjanmaa ;; Calculator for MenuetOS (c) Ville Turjanmaa
;; ;;
;; Compile with FASM ;; Compile with FASM
@@ -31,9 +34,9 @@ use32
dd E_END ; esp dd E_END ; esp
dd 0x0,0x0 ; I_Param , I_Icon dd 0x0,0x0 ; I_Param , I_Icon
include '../../../macros.inc' include '../../macros.inc'
include '../../../gui_patterns.inc' include '../../gui_patterns.inc'
include '../../../KOSfuncs.inc' include '../../KOSfuncs.inc'
hotkeys_count equ 26 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, \ asci: db 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 43, 61, 13, 45, 42, 47, 44, 46, 27, 182, \

View File

@@ -1,15 +1,17 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; SPDX-License-Identifier: NOASSERTION
;; Periodic Table for KolibriOS ;
;;
;; <20><><EFBFBD><E0A8AE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><><E5A8AC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
;; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
;; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
;; navanax [violetlab+rambler.ru]
;; Johnny_B [john+kolibrios.org]
;;
;; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><><E1AEA7><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><><E3AAA0><EFBFBD><E2A5AB> <20><> ASCIIZ-<2D><><EFBFBD>
include '..\..\..\macros.inc' ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; 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] macro strtbl name,[string]
{ {
common common
@@ -24,16 +26,18 @@ macro strtbl name,[string]
use32 use32
org 0x0 org 0x0
db 'MENUET01' ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 8-<2D><><EFBFBD><EFBFBD><E2AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E1AFAE><EFBFBD><EFA5AC><><E4A0A9><EFBFBD> MeOS db 'MENUET01' ; standard 8-byte header for MeOS executables
dd 0x01 ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> dd 0x01 ; header version
dd START ; <EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><EFBFBD><E1AFAE><EFBFBD><EFA5AC><EFBFBD> <20><><EFBFBD><EFBFBD> dd START ; pointer to the start of the executable code
dd I_END ; <EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> dd I_END ; image size
dd I_END+0x1000 ; <EFBFBD>ॡ㥬<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> dd I_END+0x1000 ; required memory for the application
dd I_END+0x1000 ; <EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><EFBFBD> dd I_END+0x1000 ; pointer to the start of the stack
dd 0x0 , 0x0 ; I_Param , I_Icon dd 0x0 , 0x0 ; I_Param , I_Icon
;GLOBAL VARIABLES AND CONSTANTS
re_ID dd 0x00000001 ;to store the number of the currently displayed element
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
re_ID dd 0x00000001 ;<3B><><EFBFBD> <20><EFBFBD><E0A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><EFBFBD> <20><EFBFBD><EBA2AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
START: START:
@@ -46,8 +50,8 @@ START:
red: red:
call draw_window call draw_window
still: ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><> <20>ணࠬ<E0AEA3><E0A0AC> still: ;main program loop
push 10 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E1AEA1><EFBFBD><EFBFBD> push 10 ;waiting for event
pop eax pop eax
mcall mcall
@@ -62,11 +66,11 @@ key:
jmp still jmp still
button: button:
mov al,17 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ID <20><><EFBFBD><EFBFBD><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mov al,17 ;get ID of the pressed button
mcall mcall
shr eax,8 ; eax=24-<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ButtonID shr eax,8 ; eax=24-bit ButtonID
cmp eax,1 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>" [x] cmp eax,1 ; whether they are pressed "close" [x]
jne noclose jne noclose
or eax,-1 or eax,-1
mcall mcall
@@ -98,14 +102,14 @@ draw_window:
mcall mcall
text_in_window: text_in_window:
mov eax,4 ;<EFBFBD><EFBFBD><><E2A5AA><EFBFBD> mov eax,4 ;text output
mov ecx,0x80000000 ;asciiz, <EFBFBD><EFBFBD><EFBFBD><EFBFBD> !!! mov ecx,0x80000000 ; asciz, color !!!
mov ebx,40*65536+200 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> mov ebx,40*65536+200 ;lanthanide
mov edx,Lantanoid_text mov edx,Lantanoid_text
mcall mcall
add ebx,20 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> add ebx,20 ;actinide
mov edx,Actinoid_text mov edx,Actinoid_text
mcall mcall
@@ -153,7 +157,7 @@ text_in_window:
mov edx,Otkrytie mov edx,Otkrytie
mcall mcall
; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ; The conclusion of the numbers
mov ebx,30*65536+43 mov ebx,30*65536+43
mov edx,Period_text ;1 mov edx,Period_text ;1
mcall mcall
@@ -168,11 +172,11 @@ text_in_window:
@@: @@:
add ebx,20 add ebx,20
add edx,4 ;<EFBFBD>.<2E>. <20><><EFBFBD> = 4 <20><><EFBFBD>⠬(<28> <20><><EFBFBD><EFBFBD><EFBFBD>) add edx,4 ;since the string = 4 bytes (with zero)
mcall mcall
ret ret
Table: ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E2A0A1><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Table: ;Drawing a table in the form of buttons
table_row_1: table_row_1:
shl eax,1 shl eax,1
mov ebx,50*65536+25 mov ebx,50*65536+25
@@ -545,7 +549,7 @@ text_on_buttons:
dec edi dec edi
jns text_row9_loop jns text_row9_loop
;; <mistifi(ator> - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뭮ᨬ <20> <20><EFBFBD><E2A4A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E6A5A4><EFBFBD> ;; <mistifi(ator> - In short, we put it in a separate procedure
call draw_text call draw_text
;; </mistifi(ator> ;; </mistifi(ator>
@@ -556,20 +560,20 @@ text_on_buttons:
ret ret
draw_text: 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]
; 1 <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFA4AA><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [optmzd-mem]
; 2 <20><EFBFBD> <20><><EFBFBD><EFBFBD><E1AAAE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [optmzd-mem]
; 3 <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AAAE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [optmzd-spd]
; 4 <20><EFBFBD> <20><EFBFBD><E2AEAC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> [optmzd-spd]
; 5 <20><EFBFBD> <20><><EFBFBD><EFBFBD><E2ADAE><EFBFBD> [optmzd-mem]
; 6 <20><EFBFBD> <20><EFBFBD><E2A5AF><EFBFBD> <20><><EFBFBD><EFBFBD><E1ABA5><EFBFBD> [optmzd-mem]
; 7 <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEAE><EFBFBD><EFBFBD><EFBFBD>⥫쭮<E2A5AB><ECADAE><EFBFBD> [optmzd-spd]
; 8 <20><EFBFBD><><E2A5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [optmzd-mem]
; 9 <20><EFBFBD><><E2A5AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [optmzd-mem]
;10 <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> [optmzd-mem]
;11 <20><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><E0A2AE><EFBFBD><EFBFBD>뢠⥫<EBA2A0><E2A5AB> [optmzd-mem]
;; <mistifi(ator> - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>᪠, <20><><EFBFBD>-<2D><> <20><> <20><20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AEA2><><E2A5AA><EFBFBD> ;; <mistifi(ator> - coloring, so that there is no overlap when drawing text
mov eax,13 mov eax,13
mov ebx,320*65536+210 mov ebx,320*65536+210
mov ecx,255*65536+(15*11) mov ecx,255*65536+(15*11)
@@ -578,100 +582,100 @@ draw_text:
;; </mistifi(ator> ;; </mistifi(ator>
push edi ; <20><EFBFBD> <20><><EFBFBD><E2A8AC><EFBFBD><EFBFBD><E0AEA2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ebx push edi ;To optimize EBX changes
; 1 <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFA4AA><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [optmzd-mem] ; 1 output serial number [optmzd-mem]
mov ebx,0x30000 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 3 <20><><EFBFBD><EFBFBD><EFBFBD> mov ebx,0x30000 ;Display 3 digits
mov ecx,[re_ID] mov ecx,[re_ID]
mov edx,320*65536+255 mov edx,320*65536+255
xor esi,esi xor esi,esi
mov eax,47 mov eax,47
mcall mcall
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>𒑟 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>! [ᤥ<><E1A4A5><EFBFBD><EFBFBD> <20><><EFBFBD><><E1AEAA><EFBFBD><E9A5AD> <20><><EFBFBD><EFBFBD> <20><> 20 <20><><EFBFBD><EFBFBD> :)))] ;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] ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD> mov ecx,[sc.work_text] ; Color
or ecx,0x80000000 ; asciiz or ecx,0x80000000 ; asciiz
mov eax,4 ; <EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD><EBA2A0><EFBFBD><EFBFBD> 10 ࠧ! ⠪ <20><><EFBFBD> <20><><EFBFBD><EFBFBD>襬 1 ࠧ mov eax,4 ; this function is called 10 times! so we will write 1 time
; 2 <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [optmzd-mem] ; 2 output Russian name [optmzd-mem]
mov edi,Rus_nazv ;<EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><><E3AAA0><EFBFBD><E2A5AB> ;) mov edi,Rus_nazv ;pointer to the beginning of an array of signs ;)
mov ebx,320*65536+255 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD> add ebx,15 mov ebx,320*65536+255 ;Coordinates are introduced here, then there will be only Add EBX, 15
call out_asciiz_item call out_asciiz_item
xor ecx,ecx ;color xor ecx,ecx ;color
; 3 <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E1AAAE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [optmzd-spd] ; 3 output English name [optmzd-spd]
mov edx,Elements mov edx,Elements
mov edi,[re_ID] mov edi,[re_ID]
dec edi dec edi
mov esi,12 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> mov esi,12 ; The length of the line
imul edi,esi ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E3AAA0><EFBFBD> <20><> <20><EFBFBD><E3A6AD> <20><><EFBFBD> imul edi,esi ; we consider the pointer to the desired line
add edx,edi add edx,edi
add ebx,15 ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> y-<2D><><EFBFBD><EFBFBD><E0A4A8><EFBFBD><EFBFBD><><E2A5AA><EFBFBD> <20><> 15 <20><><EFBFBD><EFBFBD><E1A5AB> add ebx,15 ; We increase the text of the text by 15 pixels
mcall mcall
; 4 <EFBFBD><EFBFBD> <20><EFBFBD><E2AEAC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> [optmzd-spd] ; 4 output atomic mass [optmzd-spd]
mov edx,MassNo mov edx,MassNo
mov edi,[re_ID] mov edi,[re_ID]
dec edi dec edi
mov esi,7 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> mov esi,7 ; The length of the line
imul edi,esi ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><><E3AAA0><EFBFBD> <20><> <20><EFBFBD><E3A6AD> <20><><EFBFBD> imul edi,esi ; we consider the pointer to the desired line
add edx,edi add edx,edi
add ebx,15 add ebx,15
mcall mcall
mov ecx,0x80000000 ;asciiz, <EFBFBD><EFBFBD><EFBFBD><EFBFBD> !!! mov ecx,0x80000000 ; asciz, color !!!
; 5 <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [optmzd-mem] ; 5 output density [optmzd-mem]
mov edi,Plotnost mov edi,Plotnost
call out_asciiz_item call out_asciiz_item
; 6 <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [optmzd-mem] ; 6 output oxidation state [optmzd-mem]
mov edi,Step_ok mov edi,Step_ok
call out_asciiz_item call out_asciiz_item
xor ecx,ecx ;color xor ecx,ecx ;color
; 7 <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [optmzd-spd] ; 7 output electronegativity [optmzd-spd]
mov edx,Electr mov edx,Electr
mov edi,[re_ID] mov edi,[re_ID]
dec edi dec edi
mov esi,4 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> mov esi,4 ;Line length
shl edi,2 shl edi,2
add edx,edi add edx,edi
add ebx,15 add ebx,15
mcall mcall
mov ecx,0x80000000 ;asciiz, <EFBFBD><EFBFBD><EFBFBD><EFBFBD> !!! mov ecx,0x80000000 ;asciz, color !!!
; 8 <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [optmzd-mem] ; 8 output melting point [optmzd-mem]
mov edi,T_plavl mov edi,T_plavl
call out_asciiz_item call out_asciiz_item
; 9 <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> [optmzd-mem] ; 9 output boiling point [optmzd-mem]
mov edi,T_kipen mov edi,T_kipen
call out_asciiz_item call out_asciiz_item
;10 <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> [optmzd-mem] ;10 output distribution in the Earth's crust [optmzd-mem]
mov edi,Rasprostr mov edi,Rasprostr
call out_asciiz_item call out_asciiz_item
;11 <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><E0A2AE><EFBFBD><EFBFBD>뢠⥫<EBA2A0><E2A5AB> [optmzd-mem] ;11 output names of discoverers [optmzd-mem]
mov edi,First_Explore mov edi,First_Explore
call out_asciiz_item call out_asciiz_item
pop edi ; <EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><E0A0AD> <20> <20><><EFBFBD> :) pop edi ; He was preserved at the beginning :)
ret ret
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><EBAFAE><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><EFBFBD><EBA2AE> <20><><EFBFBD><EFBFBD> ; the function performs a set of actions to display information
out_asciiz_item: out_asciiz_item:
mov edx,[re_ID] mov edx,[re_ID]
dec edx dec edx
shl edx,2 ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> 4 (ࠧ<><E0A0A7><EFBFBD><><E3AAA0><EFBFBD>) shl edx,2 ;multiply by 4 (pointer size)
mov edx,[edx+edi] ;<EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD> <20> edx mov edx,[edx+edi] ;pointer to a string in edx
add ebx,15 add ebx,15
mcall mcall
ret ret
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;; ;; ;;
;; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ;; ;; Data area ;;
;; ;; ;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;---- begin ---- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> -------------------------- ;---- begin ---- <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> --------------------------

View File

@@ -1,3 +1,6 @@
; SPDX-License-Identifier: NOASSERTION
;
; RTF READER FOR KOLIBRI >= 0.7.7.0 ; RTF READER FOR KOLIBRI >= 0.7.7.0
; Written in pure assembler by Ivushkin Andrey aka Willow ; Written in pure assembler by Ivushkin Andrey aka Willow
; Menu_bar and scroll_bar from box_lib provided by dunkaist ; Menu_bar and scroll_bar from box_lib provided by dunkaist
@@ -57,15 +60,15 @@ AR_OFFSET equ 10
dd fname_buf ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><E0A0AC> dd fname_buf ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><E0A0AC>
dd cur_dir_path ; <20><><EFBFBD><EFBFBD> <20> <20>ணࠬ<E0AEA3><E0A0AC> dd cur_dir_path ; <20><><EFBFBD><EFBFBD> <20> <20>ணࠬ<E0AEA3><E0A0AC>
include '../../../config.inc' ;for nightbuild include '../../config.inc' ;for nightbuild
include '../../../macros.inc' ; <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><E1A5AC><EFBFBD><EFBFBD><EFBFBD><E9A8AA>! include '../../macros.inc' ; Macros facilitate the life of assemblers!
include '../../../develop/libraries/box_lib/trunk/box_lib.mac' include '../../develop/libraries/box_lib/trunk/box_lib.mac'
include '../../../KOSfuncs.inc' include '../../KOSfuncs.inc'
include '../../../load_lib.mac' include '../../load_lib.mac'
@use_library @use_library
; include '../../../debug.inc' ; include '../../debug.inc'
TOP=TOP+4 TOP=TOP+4
include 'bgifont.inc' include 'bgifont.inc'