Added sources: emulator/PrMK , games/klavisha
git-svn-id: svn://kolibrios.org@1863 a494cfbc-eb01-0410-851d-a64ba20cac60
No files matched your search
@@ -0,0 +1,254 @@
|
||||
;14.04.2009 - a macros for code load library the box_lib.obj from '/sys/lib/' or current dirrectory.
|
||||
; The macros for load any library/libraries:
|
||||
; Copyright (c) 2009, <Lrz>
|
||||
; All rights reserved.
|
||||
;
|
||||
; Redistribution and use in source and binary forms, with or without
|
||||
; modification, are permitted provided that the following conditions are met:
|
||||
; * Redistributions of source code must retain the above copyright
|
||||
; notice, this list of conditions and the following disclaimer.
|
||||
; * Redistributions in binary form must reproduce the above copyright
|
||||
; notice, this list of conditions and the following disclaimer in the
|
||||
; documentation and/or other materials provided with the distribution.
|
||||
; * Neither the name of the <organization> nor the
|
||||
; names of its contributors may be used to endorse or promote products
|
||||
; derived from this software without specific prior written permission.
|
||||
;
|
||||
; THIS SOFTWARE IS PROVIDED BY Alexey Teplov aka <Lrz> ''AS IS'' AND ANY
|
||||
; EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
; DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
|
||||
; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
; ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
;*****************************************************************************
|
||||
; This macros based on source code:
|
||||
; <Lrz> - Alexey Teplov / └ыхъёхщ ╥хяыют
|
||||
; Mario79, Mario - Marat Zakiyanov / ╠рЁрЄ ╟ръш эют
|
||||
; Diamondz - Evgeny Grechnikov / ┼тухэшщ ├Ёхўэшъют
|
||||
;------------------------
|
||||
; DESCRIPTION
|
||||
; Macro load_library
|
||||
; Logick of work.
|
||||
; A first time we must to check system path, where I belive find a system library. System path is "/sys/lib/".
|
||||
; If I cannot found my library, i must to check second way. Second way is current dirrectory.
|
||||
; If we cannot load library, we must show the error message:
|
||||
; "I'm sorry,the programm cannot found system library box_lib.obj."
|
||||
; "The find was make on 2 ways: /sys/lib/ and current dirrectory."
|
||||
;
|
||||
; ebx,library_name
|
||||
; esi,cur_dir_path
|
||||
; edi,library_path
|
||||
;---------------------------------------------------------------------
|
||||
; Macro test_load_library
|
||||
; A first time we must to check own path in current dirrectory the program, where I belive find a system library.
|
||||
; If I cannot found my library, i must to check second way. Second way is system path a "/sys/lib/".
|
||||
; If we cannot load library, we must show the error message:
|
||||
; "I'm sorry,the programm cannot found system library box_lib.obj."
|
||||
; "The find was make on 2 ways: /sys/lib/ and current dirrectory."
|
||||
|
||||
macro load_library library_name, cur_dir_path, library_path, system_path, err_message_found_lib, head_f_l, myimport, err_message_import, head_f_i
|
||||
{
|
||||
local end_steep
|
||||
;---------------------------------------------------------------------
|
||||
; loading Box_Lib library
|
||||
|
||||
mcall 68,19,system_path ; load of sys directory
|
||||
test eax,eax
|
||||
jnz end_steep
|
||||
|
||||
mov ebx,library_name
|
||||
mov esi,cur_dir_path
|
||||
mov edi,library_path
|
||||
|
||||
copy_path ;the macros making way /current pach a program/+ name system library
|
||||
|
||||
mcall 68,19,library_path ; load of alternative
|
||||
test eax,eax
|
||||
jnz end_steep
|
||||
|
||||
show_error_window err_message_found_lib, head_f_l ;show error message /create window
|
||||
|
||||
end_steep:
|
||||
|
||||
import_boxlib myimport, err_message_import, head_f_i ;import
|
||||
;---------------------------------------------------------------------
|
||||
}
|
||||
|
||||
|
||||
macro test_load_library library_name, cur_dir_path, library_path, system_path, err_message_found_lib, head_f_l, myimport, err_message_import, head_f_i
|
||||
{
|
||||
local end_steep
|
||||
;---------------------------------------------------------------------
|
||||
; loading Box_Lib library
|
||||
mov ebx,library_name
|
||||
mov esi,cur_dir_path
|
||||
mov edi,library_path
|
||||
|
||||
copy_path ;the macros making way /current pach a program/+ name system library
|
||||
|
||||
mcall 68,19,library_path ; load of alternative
|
||||
test eax,eax
|
||||
jnz end_steep
|
||||
|
||||
mcall 68,19,system_path ; load of sys directory
|
||||
test eax,eax
|
||||
jnz end_steep
|
||||
|
||||
show_error_window err_message_found_lib, head_f_l ;show error message /create window
|
||||
|
||||
end_steep:
|
||||
|
||||
import_boxlib myimport, err_message_import, head_f_i ;import
|
||||
;---------------------------------------------------------------------
|
||||
}
|
||||
|
||||
macro load_libraries library_name, cur_dir_path, library_path, system_path, err_message_found_lib, head_f_l, myimport, err_message_import, head_f_i
|
||||
{
|
||||
local end_steep
|
||||
;---------------------------------------------------------------------
|
||||
; loading Box_Lib library
|
||||
|
||||
mcall 68,19,system_path ; load of sys directory
|
||||
test eax,eax
|
||||
jnz end_steep
|
||||
|
||||
mov ebx,library_name
|
||||
mov esi,cur_dir_path
|
||||
mov edi,library_path
|
||||
|
||||
copy_path ;the macros making way /current pach a program/+ name system library
|
||||
|
||||
mcall 68,19,library_path ; load of alternative
|
||||
test eax,eax
|
||||
jnz end_steep
|
||||
|
||||
show_error_window err_message_found_lib, head_f_l ;show error message /create window
|
||||
|
||||
end_steep:
|
||||
|
||||
import_boxlib myimport, err_message_import, head_f_i ;import
|
||||
;---------------------------------------------------------------------
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
macro copy_path
|
||||
{
|
||||
local copy_path
|
||||
;---------------------------------------------------------------------
|
||||
; mov ebx,library_name
|
||||
; mov esi,cur_dir_path
|
||||
; mov edi,library_path
|
||||
|
||||
copy_path:
|
||||
xor eax,eax
|
||||
cld
|
||||
.lp1:
|
||||
lodsb
|
||||
stosb
|
||||
test eax,eax
|
||||
jnz .lp1
|
||||
mov esi,edi
|
||||
|
||||
std
|
||||
.lp2:
|
||||
lodsb
|
||||
cmp al,'/'
|
||||
jnz .lp2
|
||||
mov edi,esi
|
||||
mov esi,ebx
|
||||
add edi,2
|
||||
|
||||
|
||||
cld
|
||||
.lp3:
|
||||
lodsb
|
||||
stosb
|
||||
test eax,eax
|
||||
jnz .lp3
|
||||
;---------------------------------------------------------------------
|
||||
}
|
||||
|
||||
macro show_error_window err_message, head
|
||||
{
|
||||
local red_win
|
||||
local still
|
||||
local button
|
||||
|
||||
mcall 40,0x5 ;set mask on events rewraw window and get id button.
|
||||
red_win:
|
||||
;draw_window:
|
||||
mcall 12, 1
|
||||
mcall 0, <0,300>, <0,100>, 0x33AABBCC, 0x805080D0, head
|
||||
mcall 4, <10,10>, 0x90000000, err_message; _found_lib
|
||||
mcall 12, 2
|
||||
align 4
|
||||
still: ;main loop
|
||||
mcall 10 ;wait event
|
||||
dec eax
|
||||
jz red_win
|
||||
|
||||
sub eax,2
|
||||
jnz still ;go to main loop
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
button:
|
||||
mcall 17 ;get id button
|
||||
test ah,ah ;if in ah 0, then go to still
|
||||
jz still
|
||||
mcall -1
|
||||
}
|
||||
|
||||
macro import_boxlib myimport, err_message_import, head_f_i
|
||||
{
|
||||
local import_loop
|
||||
local import_find
|
||||
local lp
|
||||
local import_find_next
|
||||
local import_found
|
||||
local import_done
|
||||
local exit
|
||||
; initialize import
|
||||
mov edx, eax
|
||||
mov esi,myimport
|
||||
import_loop:
|
||||
lodsd
|
||||
test eax, eax
|
||||
jz import_done
|
||||
push edx
|
||||
import_find:
|
||||
mov ebx, [ds:edx]
|
||||
test ebx, ebx
|
||||
jz exit ;import_not_found
|
||||
push eax
|
||||
lp:
|
||||
mov cl, [ds:eax]
|
||||
cmp cl, [ds:ebx]
|
||||
jnz import_find_next
|
||||
test cl, cl
|
||||
jz import_found
|
||||
inc eax
|
||||
inc ebx
|
||||
jmp lp
|
||||
import_find_next:
|
||||
pop eax
|
||||
add edx, 8
|
||||
jmp import_find
|
||||
import_found:
|
||||
pop eax
|
||||
mov eax, [ds:edx+4]
|
||||
mov [esi-4], eax
|
||||
pop edx
|
||||
jmp import_loop
|
||||
exit:
|
||||
add esp,4
|
||||
|
||||
show_error_window err_message_import, head_f_i ;show error message /create window
|
||||
|
||||
import_done:
|
||||
;---------------------------------------------------------------------
|
||||
}
|
||||
@@ -0,0 +1,789 @@
|
||||
;FpuAtoFL PROTO :DWORD,:DWORD,:DWORD
|
||||
;FpuFLtoA PROTO :DWORD,:DWORD,:DWORD,:DWORD
|
||||
|
||||
;FpuAdd PROTO :DWORD,:DWORD,:DWORD,:DWORD
|
||||
;FpuSub PROTO :DWORD,:DWORD,:DWORD,:DWORD
|
||||
;FpuMul PROTO :DWORD,:DWORD,:DWORD,:DWORD
|
||||
;FpuDiv PROTO :DWORD,:DWORD,:DWORD,:DWORD
|
||||
;FpuSqrt PROTO :DWORD,:DWORD,:DWORD
|
||||
;FpuXexpY PROTO :DWORD,:DWORD,:DWORD,:DWORD
|
||||
;FpuAbs PROTO :DWORD,:DWORD,:DWORD
|
||||
;FpuTrunc PROTO :DWORD,:DWORD,:DWORD
|
||||
;FpuRound PROTO :DWORD,:DWORD,:DWORD
|
||||
;FpuChs PROTO :DWORD,:DWORD,:DWORD
|
||||
|
||||
;FpuLnx PROTO :DWORD,:DWORD,:DWORD
|
||||
;FpuLogx PROTO :DWORD,:DWORD,:DWORD
|
||||
;FpuEexpX PROTO :DWORD,:DWORD,:DWORD
|
||||
;FpuTexpX PROTO :DWORD,:DWORD,:DWORD
|
||||
|
||||
;FpuSin PROTO :DWORD,:DWORD,:DWORD
|
||||
;FpuCos PROTO :DWORD,:DWORD,:DWORD
|
||||
;FpuTan PROTO :DWORD,:DWORD,:DWORD
|
||||
;FpuArcsin PROTO :DWORD,:DWORD,:DWORD
|
||||
;FpuArccos PROTO :DWORD,:DWORD,:DWORD
|
||||
;FpuArctan PROTO :DWORD,:DWORD,:DWORD
|
||||
|
||||
;FpuSinh PROTO :DWORD,:DWORD,:DWORD
|
||||
;FpuCosh PROTO :DWORD,:DWORD,:DWORD
|
||||
;FpuTanh PROTO :DWORD,:DWORD,:DWORD
|
||||
;FpuArcsinh PROTO :DWORD,:DWORD,:DWORD
|
||||
;FpuArccosh PROTO :DWORD,:DWORD,:DWORD
|
||||
;FpuArctanh PROTO :DWORD,:DWORD,:DWORD
|
||||
|
||||
;FpuSize PROTO :DWORD,:DWORD,:DWORD
|
||||
;FpuComp PROTO :DWORD,:DWORD,:DWORD
|
||||
;FpuExam PROTO :DWORD,:DWORD
|
||||
;FpuState PROTO :DWORD
|
||||
|
||||
SRC1_FPU EQU 1
|
||||
SRC1_REAL EQU 2
|
||||
SRC1_DMEM EQU 4
|
||||
SRC1_DIMM EQU 8
|
||||
SRC1_CONST EQU 16
|
||||
|
||||
ANG_DEG EQU 0
|
||||
ANG_RAD EQU 32
|
||||
|
||||
DEST_MEM EQU 0
|
||||
DEST_IMEM EQU 64
|
||||
DEST_FPU EQU 128
|
||||
|
||||
SRC2_FPU EQU 256
|
||||
SRC2_REAL EQU 512
|
||||
SRC2_DMEM EQU 1024
|
||||
SRC2_DIMM EQU 2048
|
||||
SRC2_CONST EQU 4096
|
||||
|
||||
STR_REG EQU 0
|
||||
STR_SCI EQU 32768
|
||||
|
||||
FPU_PI EQU 1
|
||||
FPU_NAPIER EQU 2
|
||||
|
||||
XAM_VALID EQU 1
|
||||
XAM_ZERO EQU 2
|
||||
XAM_NEG EQU 4
|
||||
XAM_SMALL EQU 8
|
||||
XAM_INFINIT EQU 16
|
||||
|
||||
CMP_EQU EQU 1
|
||||
CMP_GREATER EQU 2
|
||||
CMP_LOWER EQU 4
|
||||
|
||||
|
||||
|
||||
|
||||
; #########################################################################
|
||||
;
|
||||
; FpuFLtoA
|
||||
;
|
||||
;##########################################################################
|
||||
|
||||
; -----------------------------------------------------------------------
|
||||
; This procedure was written by Raymond Filiatreault, December 2002
|
||||
; and modified April 2003. A minor flaw was corrected in July 2003.
|
||||
; Modified March 2004 to avoid any potential data loss from the FPU
|
||||
;
|
||||
; This FpuFLtoA function converts an 80-bit REAL number (Src) to its
|
||||
; decimal representation as a zero terminated alphanumeric string which
|
||||
; is returned at the specified memory destination unless an invalid
|
||||
; operation is reported by the FPU or the definition of the parameters
|
||||
; (with uID) is invalid.
|
||||
;
|
||||
; The format of the string can be specified as regular (default) or
|
||||
; scientific notation. The number of decimal places returned must also be
|
||||
; specified but the total number of significant digits must not exceed 16.
|
||||
; When the regular format is specified, the integer portion can also be
|
||||
; padded with preceding spaces to position the decimal point at a
|
||||
; specified location from the start of the string.
|
||||
;
|
||||
; The source can be an 80-bit REAL number from the FPU itself or from
|
||||
; memory.
|
||||
;
|
||||
; The source is not checked for validity. This is the programmer's
|
||||
; responsibility.
|
||||
;
|
||||
; This procedure is based on using an FPU instruction to convert the
|
||||
; REAL number into a specific packed decimal format. After unpacking,
|
||||
; the decimal point is positioned as required.
|
||||
;
|
||||
; Only EAX is used to return error or success. All other CPU registers
|
||||
; are preserved. All FPU registers are preserved.
|
||||
;
|
||||
; -----------------------------------------------------------------------
|
||||
|
||||
|
||||
; #########################################################################
|
||||
align 4
|
||||
proc FpuFLtoA stdcall, lpSrc:DWORD, lpDecimal:DWORD, lpDest:DWORD, uID:DWORD
|
||||
|
||||
locals
|
||||
tempdw dd ?
|
||||
esize dd ?
|
||||
Padding dd ?
|
||||
Decimal dd ?
|
||||
content: times 108 db ?
|
||||
tempst dt ?
|
||||
bcdstr dt ?
|
||||
oldcw dw ?
|
||||
truncw dw ?
|
||||
unpacked: times 20 db ?
|
||||
endl
|
||||
|
||||
;get the specified number of decimals for result
|
||||
;and make corrections if necessary
|
||||
|
||||
mov eax,[lpDecimal]
|
||||
test [uID],SRC2_DMEM
|
||||
jz @F
|
||||
mov eax,[eax] ;get the decimals from memory
|
||||
@@:
|
||||
push eax
|
||||
movzx eax,al ;low byte - number of decimal digits
|
||||
cmp eax,15
|
||||
jbe @F
|
||||
mov eax,15 ;a maximum of 15 decimals is allowed
|
||||
@@:
|
||||
mov [Decimal],eax
|
||||
pop eax
|
||||
movzx eax,ah ;2nd byte - number of char before decimal point
|
||||
cmp eax,17
|
||||
jbe @F
|
||||
mov eax,17 ;a maximum of 17 characters is allowed
|
||||
@@:
|
||||
mov [Padding],eax
|
||||
|
||||
test [uID],SRC1_FPU ;is data taken from FPU?
|
||||
jz @F ;continue if not
|
||||
|
||||
;-------------------------------
|
||||
;check if top register is empty
|
||||
;-------------------------------
|
||||
|
||||
fxam ;examine its content
|
||||
fstsw ax ;store results in AX
|
||||
fwait ;for precaution
|
||||
sahf ;transfer result bits to CPU flag
|
||||
jnc @F ;not empty if Carry flag not set
|
||||
jpe @F ;not empty if Parity flag set
|
||||
jz srcerr1 ;empty if Zero flag set
|
||||
|
||||
@@:
|
||||
fsave [content]
|
||||
|
||||
;----------------------------------------
|
||||
;check source for Src and load it to FPU
|
||||
;----------------------------------------
|
||||
|
||||
test [uID],SRC1_FPU
|
||||
jz @F
|
||||
lea eax,[content]
|
||||
fld tbyte [eax+28]
|
||||
jmp dest0
|
||||
|
||||
@@:
|
||||
test [uID],SRC1_REAL ;is Src an 80-bit REAL in memory?
|
||||
jz srcerr ;no proper source identificaiton
|
||||
mov eax,[lpSrc]
|
||||
fld tbyte [eax]
|
||||
jmp dest0 ;go complete process
|
||||
|
||||
srcerr:
|
||||
frstor [content]
|
||||
srcerr1:
|
||||
push edi
|
||||
mov edi,[lpDest]
|
||||
mov eax,"ERRO";ORRE"
|
||||
stosd
|
||||
mov ax,"R"
|
||||
stosw
|
||||
pop edi
|
||||
xor eax,eax
|
||||
ret
|
||||
|
||||
dest0:
|
||||
|
||||
;-------------------------------------------
|
||||
;first examine the value on FPU for validity
|
||||
;-------------------------------------------
|
||||
|
||||
fxam ;examine value on FPU
|
||||
fstsw ax ;get result
|
||||
fwait
|
||||
sahf ;transfer to CPU flags
|
||||
jz maybezero
|
||||
jpo srcerr ;C3=0 and C2=0 would be NAN or unsupported
|
||||
jnc getnumsize ;continue if normal finite number
|
||||
|
||||
;--------------------------------
|
||||
;value to be converted = INFINITY
|
||||
;--------------------------------
|
||||
|
||||
push ecx
|
||||
push esi
|
||||
push edi
|
||||
mov edi,[lpDest]
|
||||
mov al,"+"
|
||||
test ah,2 ;C1 field = sign
|
||||
jz @F
|
||||
mov al,"-"
|
||||
@@:
|
||||
stosb
|
||||
mov eax,"INFI";IFNI"
|
||||
stosd
|
||||
mov eax,"NITY";YTIN"
|
||||
stosd
|
||||
jmp finish
|
||||
|
||||
;-------------------------
|
||||
;value to be converted = 0
|
||||
;-------------------------
|
||||
|
||||
maybezero:
|
||||
jpe getnumsize ;would be denormalized number
|
||||
fstp st0 ;flush that 0 value off the FPU
|
||||
push ecx
|
||||
push esi
|
||||
push edi
|
||||
mov edi,[lpDest]
|
||||
test [uID],STR_SCI ;scientific notation?
|
||||
jnz @F ;no padding
|
||||
mov ecx,[Padding]
|
||||
sub ecx,2
|
||||
jle @F ;no padding specified or necessary
|
||||
mov al," "
|
||||
rep stosb
|
||||
@@:
|
||||
mov ax,3020h ;" 0" szstring
|
||||
stosw ;write it
|
||||
jmp finish
|
||||
|
||||
;---------------------------
|
||||
; get the size of the number
|
||||
;---------------------------
|
||||
|
||||
getnumsize:
|
||||
fldlg2 ;log10(2)
|
||||
fld st1 ;copy Src
|
||||
fabs ;insures a positive value
|
||||
fyl2x ;->[log2(Src)]*[log10(2)] = log10(Src)
|
||||
|
||||
fstcw [oldcw] ;get current control word
|
||||
fwait
|
||||
mov ax,[oldcw]
|
||||
or ax,0c00h ;code it for truncating
|
||||
mov [truncw],ax
|
||||
fldcw [truncw] ;insure rounding code of FPU to truncating
|
||||
|
||||
fist [esize] ;store characteristic of logarithm
|
||||
fldcw [oldcw] ;load back the former control word
|
||||
|
||||
ftst ;test logarithm for its sign
|
||||
fstsw ax ;get result
|
||||
fwait
|
||||
sahf ;transfer to CPU flags
|
||||
sbb [esize],0 ;decrement esize if log is negative
|
||||
fstp st0 ;get rid of the logarithm
|
||||
|
||||
;-----------------------------------------------------------------------
|
||||
; get the power of 10 required to generate an integer with the specified
|
||||
; number of significant digits
|
||||
;-----------------------------------------------------------------------
|
||||
|
||||
mov eax,[uID]
|
||||
and eax,STR_SCI
|
||||
jnz .els0 ;regular decimal notation
|
||||
mov eax,[esize]
|
||||
or eax,eax ;check if number is < 1
|
||||
js @F
|
||||
; .if eax > 15 ;if number is >= 10^16
|
||||
cmp eax,15
|
||||
jbe .endif0
|
||||
or [uID],STR_SCI ;switch to scientific notation
|
||||
mov [Decimal],15 ;insures 15 decimal places in result
|
||||
jmp scific
|
||||
.endif0:
|
||||
add eax,[Decimal]
|
||||
; .if eax > 15 ;if integer + decimal digits > 16
|
||||
cmp eax,15
|
||||
jbe .endif1
|
||||
sub eax,15
|
||||
sub [Decimal],eax ;reduce decimal digits as required
|
||||
.endif1:
|
||||
@@:
|
||||
push [Decimal]
|
||||
pop [tempdw]
|
||||
jmp @f
|
||||
.els0: ;scientific notation
|
||||
scific:
|
||||
mov eax,[Decimal]
|
||||
sub eax,[esize]
|
||||
mov [tempdw],eax
|
||||
; .endif
|
||||
@@:
|
||||
|
||||
;----------------------------------------------------------------------------------------
|
||||
; multiply the number by the power of 10 to generate required integer and store it as BCD
|
||||
;----------------------------------------------------------------------------------------
|
||||
|
||||
;.if tempdw != 0
|
||||
cmp [tempdw],0
|
||||
je @f
|
||||
fild [tempdw]
|
||||
fldl2t
|
||||
fmulp st1,st0 ;->log2(10)*exponent
|
||||
fld st0
|
||||
frndint ;get the characteristic of the log
|
||||
fxch
|
||||
fsub st,st1 ;get only the fractional part but keep the characteristic
|
||||
f2xm1 ;->2^(fractional part)-1
|
||||
fld1
|
||||
faddp st1,st0 ;add 1 back
|
||||
fscale ;re-adjust the exponent part of the REAL number
|
||||
fstp st1 ;get rid of the characteristic of the log
|
||||
fmulp st1,st0 ;->16-digit integer
|
||||
;.endif
|
||||
@@:
|
||||
|
||||
fbstp [bcdstr] ;->TBYTE containing the packed digits
|
||||
fstsw ax ;retrieve exception flags from FPU
|
||||
fwait
|
||||
shr eax,1 ;test for invalid operation
|
||||
jc srcerr ;clean-up and return error
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; unpack BCD, the 10 bytes returned by the FPU being in the little-endian style
|
||||
;------------------------------------------------------------------------------
|
||||
|
||||
push ecx
|
||||
push esi
|
||||
push edi
|
||||
lea esi,[bcdstr+9] ;go to the most significant byte (sign byte)
|
||||
lea edi,[unpacked]
|
||||
mov eax,3020h
|
||||
mov cl,byte [esi] ;sign byte
|
||||
; .if cl == 80h
|
||||
cmp cl,0x80
|
||||
jne @f
|
||||
mov al,"-" ;insert sign if negative number
|
||||
; .endif
|
||||
@@:
|
||||
stosw
|
||||
mov ecx,9
|
||||
@@:
|
||||
dec esi
|
||||
movzx eax,byte [esi]
|
||||
ror ax,4
|
||||
ror ah,4
|
||||
add ax,3030h
|
||||
stosw
|
||||
dec ecx
|
||||
jnz @B
|
||||
|
||||
mov edi,[lpDest]
|
||||
lea esi,[unpacked]
|
||||
test [uID],STR_SCI ;scientific notation?
|
||||
jnz scientific
|
||||
|
||||
;************************
|
||||
; REGULAR STRING NOTATION
|
||||
;************************
|
||||
|
||||
;------------------------------
|
||||
; check if padding is specified
|
||||
;------------------------------
|
||||
|
||||
mov ecx,[Padding]
|
||||
or ecx,ecx ;check if padding is specified
|
||||
jz nopadding
|
||||
|
||||
mov edx,2 ;at least 1 integer + sign
|
||||
mov eax,[esize]
|
||||
or eax,eax
|
||||
js @F ;only 1 integer digit if size is < 1
|
||||
add edx,eax ;->number of integer digits
|
||||
@@:
|
||||
sub ecx,edx
|
||||
jle nopadding
|
||||
mov al," "
|
||||
rep stosb
|
||||
|
||||
nopadding:
|
||||
pushfd ;save padding flags
|
||||
movsb ;insert sign
|
||||
mov ecx,1 ;at least 1 integer digit
|
||||
mov eax,[esize]
|
||||
or eax,eax ;is size negative (i.e. number smaller than 1)
|
||||
js @F
|
||||
add ecx,eax
|
||||
@@:
|
||||
mov eax,[Decimal]
|
||||
add eax,ecx ;->total number of digits to be displayed
|
||||
sub eax,19
|
||||
sub esi,eax ;address of 1st digit to be displayed
|
||||
pop eax ;retrieve padding flags in EAX
|
||||
; .if byte ptr[esi-1] == "1"
|
||||
cmp byte [esi-1],"1"
|
||||
jne @f
|
||||
dec esi
|
||||
inc ecx
|
||||
push eax ;transfer padding flags through stack
|
||||
popfd ;retrieve padding flags
|
||||
jle @F ;no padding was necessary
|
||||
dec edi ;adjust for one less padding byte
|
||||
; .endif
|
||||
@@:
|
||||
@@:
|
||||
rep movsb ;copy required integer digits
|
||||
mov ecx,[Decimal]
|
||||
or ecx,ecx
|
||||
jz @F
|
||||
mov al,"."
|
||||
stosb
|
||||
rep movsb ;copy required decimal digits
|
||||
@@:
|
||||
jmp finish
|
||||
|
||||
;********************
|
||||
; SCIENTIFIC NOTATION
|
||||
;********************
|
||||
|
||||
scientific:
|
||||
movsb ;insert sign
|
||||
mov ecx,[Decimal]
|
||||
mov eax,18
|
||||
sub eax,ecx
|
||||
add esi,eax
|
||||
cmp byte [esi-1],"1"
|
||||
pushfd ;save flags for extra "1"
|
||||
jnz @F
|
||||
dec esi
|
||||
@@:
|
||||
movsb ;copy the integer
|
||||
mov al,"."
|
||||
stosb
|
||||
rep movsb ;copy the decimal digits
|
||||
|
||||
mov al,"E"
|
||||
stosb
|
||||
mov al,"+"
|
||||
mov ecx,[esize]
|
||||
popfd ;retrieve flags for extra "1"
|
||||
jnz @F ;no extra "1"
|
||||
inc ecx ;adjust exponent
|
||||
@@:
|
||||
or ecx,ecx
|
||||
jns @F
|
||||
mov al,"-"
|
||||
neg ecx ;make number positive
|
||||
@@:
|
||||
stosb ;insert proper sign
|
||||
|
||||
;Note: the absolute value of the size could not exceed 4931
|
||||
|
||||
mov eax,ecx
|
||||
mov cl,100
|
||||
div cl ;->thousands & hundreds in AL, tens & units in AH
|
||||
push eax
|
||||
and eax,0ffh ;keep only the thousands & hundreds
|
||||
mov cl,10
|
||||
div cl ;->thousands in AL, hundreds in AH
|
||||
add ax,3030h ;convert to characters
|
||||
stosw ;insert them
|
||||
pop eax
|
||||
shr eax,8 ;get the tens & units in AL
|
||||
div cl ;tens in AL, units in AH
|
||||
add ax,3030h ;convert to characters
|
||||
stosw ;insert them
|
||||
|
||||
finish:
|
||||
xor eax,eax
|
||||
stosb ;string terminating 0
|
||||
pop edi
|
||||
pop esi
|
||||
pop ecx
|
||||
|
||||
frstor [content]
|
||||
|
||||
or al,1 ;to insure EAX!=0
|
||||
ret
|
||||
|
||||
endp
|
||||
|
||||
; #########################################################################
|
||||
|
||||
|
||||
align 4
|
||||
|
||||
; #########################################################################
|
||||
; FpuCos
|
||||
;##########################################################################
|
||||
;
|
||||
; cos(Src) -> Dest
|
||||
FpuCos:
|
||||
test [flags],(1 shl 30)
|
||||
jz @f ;jump if angle already in radians
|
||||
fldpi ;load pi (3.14159...) on FPU
|
||||
fmulp
|
||||
test [flags],(1 shl 31)
|
||||
jnz .1
|
||||
pushd 200
|
||||
jmp .2
|
||||
.1: pushd 180
|
||||
.2: fidiv dword [esp] ;value now in radians
|
||||
fwait
|
||||
add esp,4 ;clean the stack
|
||||
@@: fldpi
|
||||
fadd st,st ;->2pi
|
||||
fxch
|
||||
|
||||
@@: fprem ;reduce the angle
|
||||
fcos
|
||||
fstsw ax ;retrieve exception flags from FPU
|
||||
fwait
|
||||
shr al,1 ;test for invalid operation
|
||||
sahf ;transfer to the CPU flags
|
||||
jpe @B ;reduce angle again if necessary
|
||||
fstp st1 ;get rid of the 2pi
|
||||
ret
|
||||
|
||||
align 4
|
||||
; #########################################################################
|
||||
; FpuSin
|
||||
;##########################################################################
|
||||
;
|
||||
; sin(Src) -> Dest
|
||||
FpuSin:
|
||||
test [flags],(1 shl 30)
|
||||
jz @f ;jump if angle already in radians
|
||||
fldpi ;load pi (3.14159...) on FPU
|
||||
fmulp
|
||||
test [flags],(1 shl 31)
|
||||
jnz .1
|
||||
pushd 200
|
||||
jmp .2
|
||||
.1: pushd 180
|
||||
.2: fidiv dword [esp] ;value now in radians
|
||||
fwait
|
||||
add esp,4 ;clean the stack
|
||||
@@:
|
||||
fldpi
|
||||
fadd st,st ;->2pi
|
||||
fxch
|
||||
|
||||
fprem ;reduce the angle
|
||||
fsin
|
||||
fstp st1 ;get rid of the 2pi
|
||||
ret
|
||||
|
||||
align 4
|
||||
; #########################################################################
|
||||
; FpuArctan
|
||||
;##########################################################################
|
||||
;
|
||||
; atan(Src) -> Dest
|
||||
FpuArctan:
|
||||
fld1
|
||||
fpatan
|
||||
test [flags],(1 shl 30)
|
||||
jz @F ;jump if angle is required in radians
|
||||
test [flags],(1 shl 31)
|
||||
jnz .1
|
||||
pushd 200
|
||||
jmp .2
|
||||
.1: pushd 180
|
||||
.2: fimul dword [esp] ;*180 degrees
|
||||
fldpi ;load pi (3.14159...) on FPU
|
||||
fdivp ;*180/pi, angle now in degrees
|
||||
add esp,4 ;clean CPU stack
|
||||
|
||||
ftst ;check for negative angle
|
||||
fstsw ax ;retrieve status word from FPU
|
||||
fwait
|
||||
sahf
|
||||
jnc @F ;jump if positive number
|
||||
test [flags],(1 shl 31)
|
||||
jnz .3
|
||||
pushd 400
|
||||
jmp .4
|
||||
.3: pushd 360
|
||||
.4: fiadd dword [esp] ;angle now 0-360
|
||||
fwait
|
||||
add esp,4 ;clean CPU stack
|
||||
|
||||
@@:
|
||||
ret
|
||||
|
||||
align 4
|
||||
; #########################################################################
|
||||
; FpuTan
|
||||
;##########################################################################
|
||||
|
||||
; a = tan(x)
|
||||
FpuTan:
|
||||
fldpi ;load pi (3.14159...) on FPU
|
||||
fadd st,st ;->2pi
|
||||
fxch
|
||||
test [flags],(1 shl 30)
|
||||
jz @F ;jump if angle already in radians
|
||||
test [flags],(1 shl 31)
|
||||
jnz .1
|
||||
pushd 400
|
||||
jmp .2
|
||||
.1: pushd 360
|
||||
.2: fmul st,st1
|
||||
fidiv dword [esp] ;value now in radians
|
||||
pop eax ;clean the stack
|
||||
@@: fprem ;reduce the angle
|
||||
fptan
|
||||
|
||||
fstp st ;get rid of the 1
|
||||
fstp st1 ;get rid of the 2pi
|
||||
ret
|
||||
|
||||
align 4
|
||||
; #########################################################################
|
||||
; FpuArccos
|
||||
;##########################################################################
|
||||
; sqrt(1-Src^2)
|
||||
; acos(Src) = atan ------------- -> Dest
|
||||
; Src
|
||||
|
||||
FpuArccos:
|
||||
fld st ;copy cosine value
|
||||
fmul st0,st1 ;cos^2
|
||||
fld1
|
||||
fsubrp ;1-cos^2 = sin^2
|
||||
fsqrt ;->sin
|
||||
fxch
|
||||
fpatan ;i.e. arctan(sin/cos)
|
||||
|
||||
test [flags],(1 shl 30)
|
||||
jz @F ;jump if angle is required in radians
|
||||
test [flags],(1 shl 31)
|
||||
jnz .1
|
||||
pushd 200
|
||||
jmp .2
|
||||
.1: pushd 180
|
||||
.2: fimul dword [esp] ;*180 degrees
|
||||
fldpi ;load pi (3.14159...) on FPU
|
||||
fdivp ;*180/pi, angle now in degrees
|
||||
pop eax ;clean CPU stack
|
||||
@@:
|
||||
ret
|
||||
|
||||
align 4
|
||||
; #########################################################################
|
||||
; FpuArcsin
|
||||
;##########################################################################
|
||||
; Src
|
||||
; asin(Src) = atan ------------- -> Dest
|
||||
; sqrt(1-Src^2)
|
||||
FpuArcsin:
|
||||
fld st0 ;copy sine value
|
||||
fmul st0,st0 ;sin^2
|
||||
fld1
|
||||
fsubrp ;1-sin^2 = cos^2
|
||||
fsqrt ;->cos
|
||||
fpatan ;i.e. arctan(sin/cos) = arcsin
|
||||
test [flags],(1 shl 30)
|
||||
jz @F ;jump if angle is required in radians
|
||||
test [flags],(1 shl 31)
|
||||
jnz .1
|
||||
pushd 200
|
||||
jmp .2
|
||||
.1: pushd 180
|
||||
.2: fimul dword [esp] ;*180 degrees
|
||||
fldpi ;load pi (3.14159...) on FPU
|
||||
fdivrp ;*180/pi, angle now in degrees
|
||||
add esp,4 ;clean CPU stack
|
||||
@@:
|
||||
ret
|
||||
|
||||
align 4
|
||||
; #########################################################################
|
||||
; FpuEexpX
|
||||
;##########################################################################
|
||||
|
||||
; e^(Src) = antilog2[ log2(e) * Src ] -> Dest
|
||||
|
||||
FpuEexpX:
|
||||
|
||||
fldl2e ;->log2(e)
|
||||
fmulp ;->log2(e)*Src
|
||||
|
||||
fld st0 ;copy the logarithm
|
||||
frndint ;keep only the characteristic
|
||||
fsub st1,st ;keeps only the mantissa
|
||||
fxch ;get the mantissa on top
|
||||
|
||||
f2xm1 ;->2^(mantissa)-1
|
||||
fld1
|
||||
faddp ;add 1 back
|
||||
|
||||
fscale ;scale it with the characteristic
|
||||
|
||||
fstp st1 ;get rid of the characteristic
|
||||
ret
|
||||
|
||||
align 4
|
||||
; #########################################################################
|
||||
; FpuXexpY
|
||||
;##########################################################################
|
||||
|
||||
; Src1^Src2 = antilog2[ log2(Src1) * Src2 ] -> Dest
|
||||
|
||||
FpuXexpY:
|
||||
fxch ;set up FPU registers for next operation
|
||||
fyl2x ;->log2(Src1)*exponent
|
||||
|
||||
fld st0 ;copy the logarithm
|
||||
frndint ;keep only the characteristic
|
||||
fsub st1,st ;keeps only the mantissa
|
||||
fxch ;get the mantissa on top
|
||||
|
||||
f2xm1 ;->2^(mantissa)-1
|
||||
fld1
|
||||
faddp ;add 1 back
|
||||
|
||||
fscale ;scale it with the characteristic
|
||||
|
||||
fstp st1 ;overwrite the characteristic
|
||||
ret
|
||||
|
||||
|
||||
if 0
|
||||
exp:
|
||||
.N equ 10
|
||||
xor eax,eax
|
||||
mov ecx,.N
|
||||
fld1
|
||||
.0: dec ecx
|
||||
jz .end
|
||||
mov eax,.N
|
||||
sub eax,ecx
|
||||
mov [.d],eax
|
||||
fild [.d]
|
||||
@@: dec eax
|
||||
jz @f
|
||||
mov [.d],eax
|
||||
fild [.d]
|
||||
fmulp
|
||||
jmp @b
|
||||
@@: mov eax,.N
|
||||
sub eax,ecx
|
||||
fld st2
|
||||
@@: dec eax
|
||||
jz @f
|
||||
fld st3
|
||||
fmulp
|
||||
jmp @b
|
||||
@@: fdivrp
|
||||
faddp
|
||||
jmp .0
|
||||
.end: fxch
|
||||
fstp st0
|
||||
ret
|
||||
.d dd 0
|
||||
endf
|
||||
|
After Width: | Height: | Size: 25 KiB |
@@ -0,0 +1 @@
|
||||
__CPU_type fix p5
|
||||
@@ -0,0 +1,739 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>┴3-34 - ъЁрЄъюх ЁєъютюфёЄтю</TITLE>
|
||||
<META http-equiv="Content-Type" content="text/html; charset=windows-1251">
|
||||
<META name="keywords" content="╩ры№ъєы ЄюЁ ┴3-34 - ъЁрЄъюх ЁєъютюфёЄтю.">
|
||||
</HEAD>
|
||||
|
||||
<BODY bgcolor="#FFFFFF">
|
||||
<TABLE width="96%" border="0" align="center">
|
||||
<TR>
|
||||
<TD height="102" width="33%"><FONT color="#FF0000">┬эшьрэшх!</FONT> ─рээ√щ
|
||||
фюъєьхэЄ эрїюфшЄё т яЁюЎхёёх ЁрчЁрсюЄъш ш ьюцхЄ ёюфхЁцрЄ№ ю°шсъш.</TD>
|
||||
<TD height="102" width="28%"> </TD>
|
||||
<TD height="102" width="39%"><FONT size="-1"><I>─рээ√щ фюъєьхэЄ - хёЄ№ ёшэЄхч
|
||||
юЁшушэры№эюую "╨єъютюфёЄтр яю ¤ъёяыєрЄрЎшш" ё фюяюыэхэш ьш ртЄюЁр
|
||||
яЁюуЁрьь√ "╩ры№ъєы ЄюЁ ┴3-34". </I></FONT></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<P align="center"> </P>
|
||||
<P align="center"><B><FONT size="+2" color="#CC0000">╩ры№ъєы ЄюЁ ┴3-34.</FONT></B></P>
|
||||
<P align="center"><B><FONT color="#000000">╤юфхЁцрэшх яръхЄр:<BR>
|
||||
<A href="b3-34help0.htm">╩ЁрЄъюх ЁєъютюфёЄтю</A></FONT></B><FONT color="#000000"><B>
|
||||
</B><FONT color="#666666">(¤ЄюЄ Їрщы) </FONT><B> <A href="b3-34help1.htm">╥рсышЎр
|
||||
ъюьрэф</A> <A href="b3-34help2.htm"> ╬яшёрэшх яЁюуЁрьь√</A></B></FONT></P>
|
||||
<P align="center"><B><FONT size="+2" color="#CC0000"><BR>
|
||||
</FONT><FONT size="+2">╩ЁрЄъюх ЁєъютюфёЄтю.</FONT></B></P>
|
||||
<P align="center"><B><BR>
|
||||
</B></P>
|
||||
<TABLE width="96%" border="0" align="center">
|
||||
<TR>
|
||||
<TD>
|
||||
<P align="center"><B>═єцхэ ыш ┬рь Єръющ ъры№ъєы ЄюЁ?</B></P>
|
||||
<P>╩ры№ъєы ЄюЁ <B>┴3-34</B> ты хЄё яЁюуЁрььшЁєхь√ь ьшъЁюъы№ъєы ЄюЁюь (╧╠╩)
|
||||
ш яЁхфэрчэрўхэ фы т√яюыэхэш эрєўэ√ї, шэцхэхЁэ√ї ш ёЄрЄшёЄшўхёъшї Ёрёў╕Єют.
|
||||
┬ юЄышўшх юЄ яЁюёЄ√ї ъры№ъєы ЄюЁют, т <B>┴3-34</B> юЄёєЄёЄтєхЄ ъыртш°р
|
||||
= (Ёртэю). ┬ ┴3-34 ёэрўрыр ттюф Єё юяхЁрэф√, чрЄхь Ёх°рхЄё ўЄю ё эшьш
|
||||
фхырЄ№. ═ряЁшьхЁ, ўЄюс√ т√ўшёышЄ№ ёєььє 2+2 эрфю эрцрЄ№ эр ъыртш°є 2,
|
||||
чрЄхь эр ёшэ■■ ъыртш°є "ёЄЁхыър ттхЁї", чрЄхь эр ъыртш°є 2 ш
|
||||
эр ёшэ■■ ъыртш°є +, эр шэфшърЄюЁх т√ётхЄшЄё Ёхчєы№ЄрЄ (4). ┼ёыш ┬рь эрфю
|
||||
ёюїЁрэшЄ№ эхёъюы№ъю фышээ√ї ўшёхы фы яютЄюЁэюую шї шёяюы№чютрэш , фюёЄрЄюўэю
|
||||
яюёых ттюфр ўшёыр эрцрЄ№ фтх ъыртш°ш - ╧ ш ы■сє■, юЄ 0 фю F, ш яЁюфюыцшЄ№
|
||||
ЁрсюЄє. ╧ютЄюЁшь яЁхф√фє∙шщ яЁшьхЁ, Єюы№ъю яЁш ¤Єюь ёюїЁрэшь юяхЁрэф√
|
||||
т ярь Єш. ═рцшьрхь ъыртш°є 2, ъыртш°є ╧, ъыртш°є 1, ъыртш°є 2, ъыртш°є
|
||||
╧, ъыртш°є 2, ъыртш°є +, эр шэфшърЄюЁх т√ётхЄшЄё Ёхчєы№ЄрЄ (4). ╥хяхЁ№
|
||||
яЁютхЁшь, ўхьє сєфхЄ Ёртэю яЁюшчтхфхэшх ттхф╕э√ї Ёрэхх ўшёхы. ═рцшьрхь
|
||||
ъыртш°є ╚╧, ъыртш°є 1, ъыртш°є ╚╧, ъыртш°є 2, ёшэ■■ ъыртш°є X (єьэюцшЄ№).
|
||||
▌Єшь тёх єфюсёЄтр "ьр°шээ√" эх шёўхЁя√тр■Єё . ╬эш яЁю ты ■Єё
|
||||
т яюыэющ ьхЁх Єюуфр, ъюуфр ЄЁхсє■Єё ьэюуюўшёыхээ√х т√ўшёыхэш фы ёюёЄртыхэшх
|
||||
ЄрсышЎ ш уЁрЇшъют.</P>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR>
|
||||
<TABLE width="96%" border="0" align="center">
|
||||
<TR>
|
||||
<TD>
|
||||
<P align="center"><B>╩ры№ъєы ЄюЁ шьххЄ:</B></P>
|
||||
<UL>
|
||||
<LI> яЁюуЁрьэє■ ярь Є№ юс·╕ьюь т 100 шыш 256 °руют;</LI>
|
||||
<LI>16 рфЁхёєхь√ї ЁхушёЄЁют ярь Єш фы їЁрэхэш фрээ√ї шыш рфЁхёют яхЁхїюфр
|
||||
т яЁюуЁрььх;</LI>
|
||||
<LI> ъюьрэф√ яЁ ь√ї ш ъюётхээ√ї яхЁхїюфют т яЁюуЁрььх, ъюьрэф√ т√чютр
|
||||
яюфяЁюуЁрь ш ъюьрэф√ тючтЁрЄр шч яюфяЁюуЁрь;</LI>
|
||||
<LI>тючьюцэюёЄ№ юсЁр∙хэш ъ яюфяЁюуЁрььх тэєЄЁш яюфяЁюуЁрь. ├ыєсшэр Єръшї
|
||||
юсЁр∙хэшщ Ёртэр 5;</LI>
|
||||
<LI>ъюьрэф√ яЁ ьюую ш ъюётхээюую схчєёыютэюую яхЁхїюфр;</LI>
|
||||
<LI>ўхЄ√Ёх Єшяр ъюьрэф яЁ ьюую ш ъюётхээюую єёыютэюую яхЁхїюфр (яю єёыютш ь
|
||||
x=0, x!=0 (эх Ёртэю 0), x>=0 (сюы№°х шыш Ёртэ хЄё 0), x<0);</LI>
|
||||
<LI>ъюьрэф√ юЁурэшчрЎшш Ўшъыют;</LI>
|
||||
<LI>ъюьрэф√ ъюётхээющ чряшёш ёюфхЁцшьюую ЁхушёЄЁр X т ЁхушёЄЁ√ ярь Єш;</LI>
|
||||
<LI>ъюьрэф√ ъюётхээющ шэфшърЎшш ёюфхЁцшьюую ЁхушёЄЁют ярь Єш;</LI>
|
||||
<LI>ъюьрэф√ ёсЁюёр ёў╕Єўшър рфЁхёют т эєыхтюх ёюёЄю эшх;</LI>
|
||||
<LI>ъюьрэфр яєёър ш юёЄрэютъш яЁш ртЄюьрЄшўхёъюь т√ўшёыхэшш яю яЁюуЁрььх;</LI>
|
||||
<LI>ъюьрэфр яю°руютюую т√яюыэхэш яЁюуЁрьь√ т Ёхцшьх "└тЄюьрЄшўхёър ЁрсюЄр";</LI>
|
||||
<LI>шэфшърЎш ъюфют ЄЁ╕ї яюёыхфютрЄхы№э√ї °руют яЁюуЁрьь√ ш Єхъє∙хую ёюёЄю эш
|
||||
ёў╕Єўшър рфЁхёют;</LI>
|
||||
<LI>ъыртш°ш яю°руютюую яЁюёьюЄЁр яЁюуЁрьь√ т ёЄюЁюэє єтхышўхэш шыш єьхэ№°хэш
|
||||
рфЁхёют т Ёхцшьх "╧ЁюуЁрььшЁютрэшх";</LI>
|
||||
<LI>ъюьрэфр т√тюфр Ёхчєы№ЄрЄют т Їрщы фы яюёыхфє■∙хщ яхўрЄш эр яЁшэЄхЁх</LI>
|
||||
</UL>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR>
|
||||
<TABLE width="96%" border="0" align="center">
|
||||
<TR>
|
||||
<TD>
|
||||
<DIV align="center">
|
||||
<P><B>┬тюф ўшёхы.</B></P>
|
||||
<P align="left">┬тюф ўшёхы, юяхЁрЎшщ ш ъюьрэф т ьшъЁюъры№ъєы ЄюЁ юёє∙хёЄты хЄё
|
||||
эрцрЄшхь ёююЄтхЄёЄтє■∙шї ъыртш° ыхтющ ъэюяъющ ь√°ш. ╚ьххЄё яюър эх
|
||||
яюыэюёЄ№■ Ёхрышчютрээр тючьюцэюёЄ№ ттюфр яюёЁхфёЄтюь ъыртшрЄєЁ√. <FONT color="#999999">(═рфю
|
||||
юЄьхЄшЄ№, ўЄю ёыюцэюёЄ№ ЁхрышчрЎшш ттюфр ё ъыртшрЄєЁ√ юсєёыютыхэр юЄёєЄёЄтшхь
|
||||
яюфїюф ∙шї яю ёь√ёыє эрчтрэшщ эр ъыртш°рї ёЄрэфрЁЄэющ ъыртшрЄєЁ√. └тЄюЁ
|
||||
с√ы с√ сыруюфрЁхэ чр Ўхээ√щ ёютхЄ яю ¤Єющ яЁюсыхьх.) <FONT color="#000000">╠эюушх
|
||||
ъыртш°ш шьх■Є фтющэє■ ш ЄЁющэє■ ёшьтюышъє. ╬фшэ ёшьтюы шчюсЁрц╕э эхяюёЁхфёЄтхээю
|
||||
эр ъыртш°х, тЄюЁющ - эрф ъыртш°хщ ъЁрёэ√ь ЎтхЄюь, ЄЁхЄшщ - ёэшчє шыш
|
||||
ёяЁртр юЄ ъыртш°ш ў╕Ёэ√ь ЎтхЄюь. ┬тюф ЇєэъЎшш, ёшьтюы ъюЄюЁющ шчюсЁрц╕э
|
||||
ъЁрёэ√ь ЎтхЄюь эрф ъыртш°хщ, юёє∙хёЄты хЄё эрцрЄшхь эр яЁхЇшъёэє■ ъыртш°є
|
||||
F шыш ╩, чрЄхь эр ъыртш°є эрф ъюЄюЁющ шчюсЁрц╕э ёшьтюы ттюфшьющ ЇєэъЎшш.
|
||||
═рчэрўхэшх ъыртш° яЁштхфхэю т <FONT color="#6600CC"><A href="b3-34help1.htm">ЄрсышЎх
|
||||
ъюьрэф</A> <FONT color="#000000">(ЁрчьхЁ Їрщыр >81 ъсрщЄ).</FONT></FONT></FONT></FONT></P>
|
||||
</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR>
|
||||
<TABLE width="96%" border="0" align="center">
|
||||
<TR>
|
||||
<TD>
|
||||
<P align="center"><B>─тр Ёхцшьр ЁрсюЄ√ ъры№ъєы ЄюЁр.</B></P>
|
||||
<P align="left"><B>"└тЄюьрЄшўхёър ЁрсюЄр"</B> - юёэютэющ Ёхцшь ЁрсюЄ√.<BR>
|
||||
<B>"╧ЁюуЁрььшЁютрэшх"</B> - Ёхцшь яЁхфэрчэрўхэ фы ттюфр ъюфр яЁюуЁрьь√,
|
||||
тъы■ўрхЄё яюёЁхфёЄтюь эрцрЄш эр ъыртш°ш F ш ╧╨├. ┬√їюф шч Ёхцшьр - эрцрЄшхь
|
||||
ъыртш° F ш └┬╥.</P>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR>
|
||||
<TABLE width="96%" border="0" align="center">
|
||||
<TR>
|
||||
<TD>
|
||||
<DIV align="center">
|
||||
<P><B>╨хушёЄЁ√ ёЄхър.</B></P>
|
||||
<P align="left"><FONT color="#999999"><FONT color="#000000">┬ ьшъЁюъы№ъєы ЄюЁх
|
||||
шьх■Єё 5 юяхЁрЎшюээ√ї ЁхушёЄЁют X1, X, Y, Z, T. ╨хушёЄЁ X ёыєцшЄ фы
|
||||
яЁш╕ьр ш їЁрэхэш ттюфшьюую ўшёыр ш Ёхчєы№ЄрЄр т√ўшёыхэшщ. ┼ую ёюфхЁцшьюх
|
||||
юЄюсЁрцрхЄё эр шэфшърЄюЁх. </FONT><FONT color="#999999"><FONT color="#000000">╨хушёЄЁ
|
||||
Y</FONT></FONT><FONT color="#000000"> ёыєцшЄ фы яЁш╕ьр шэЇюЁьрЎшш шч
|
||||
ЁхушёЄЁр X, ўЄю юсхёяхўштрхЄ яЁш эхюсїюфшьюёЄш, ттюф т ЁхушёЄЁ X тЄюЁюую
|
||||
ўшёыр. ╟рэхёхэшх </FONT><FONT color="#999999"><FONT color="#000000">ўшёыр</FONT></FONT>
|
||||
<FONT color="#000000">т ЁхушёЄЁ Y яЁюшёїюфшЄ яЁш эрцрЄшш эр ъэюяъє "ёЄЁхыър
|
||||
ттхЁї".</FONT></FONT></P>
|
||||
</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD height="897">
|
||||
<TABLE width="100%" border="0">
|
||||
<TR>
|
||||
<TD width="17%" height="447"><IMG src="stack1.gif" width="119" height="159" alt="╨шё. 1"></TD>
|
||||
<TD width="83%">
|
||||
<P align="center"><FONT size="+1">╤їхьрЄшўэюх яЁхфёЄртыхэшх ЁхушёЄЁют
|
||||
ёЄхър. </FONT></P>
|
||||
<P>╨хушёЄЁ√ ёЄхър X, Y, Z ш T юЁурэшчютрэ√ яю яЁшэЎшяє ьрурчшээющ
|
||||
ярь Єш, ъюуфр яюёыхфютрЄхы№эю чряшёрээр шэЇюЁьрЎш ьюцхЄ с√Є№ ёўшЄрэр
|
||||
Єюы№ъю т яюёыхфютрЄхы№эюёЄш, юсЁрЄэющ яюёыхфютрЄхы№эюёЄш чряшёш
|
||||
(яюёыхфэхх чряшёрээюх ўшёыю ты хЄё яхЁт√ь). ═ряЁшьхЁ, ъюуфр ттюфшЄё
|
||||
юяхЁрэф т ЁхушёЄЁ X ъюьрэфющ ўЄхэш шч ЁхушёЄЁр ярь Єш, Єю ёюфхЁцшьюх
|
||||
ЁхушёЄЁр X ъюяшЁєхЄё т ЁхушёЄЁ Y (ёфтшурхЄё ттхЁї), р яЁхф√фє∙хх
|
||||
ёюфхЁцшьюх ЁхушёЄЁр Y ъюяшЁєхЄё т ЁхушёЄЁ Z, яЁхф√фє∙хх ёюфхЁцшьюх
|
||||
ЁхушёЄЁр Z ъюяшЁєхЄё т ЁхушёЄЁ T. ╧Ёш т√яюыэхэшш <FONT color="#6600CC"><A href="#two_place_operation">фтєїьхёЄэющ
|
||||
юяхЁрЎшш</A></FONT> тчршьюфхщёЄтє■Є ЁхушёЄЁ√ Y ш X. ╨хчєы№ЄрЄ яюьх∙рхЄё
|
||||
т ЁхушёЄЁ X, ЁхушёЄЁ Y яюыєўрхЄ ёюфхЁцшьюх ЁхушёЄЁр Z, ЁхушёЄЁ Z
|
||||
яюыєўрхЄ ёюфхЁцшьюх ЁхушёЄЁр T, р ёюфхЁцшьюх ЁхушёЄЁр T юёЄр╕Єё
|
||||
эхшчьхээ√ь. ╨хушёЄЁ X1 яюыєўрхЄ ёюфхЁцшьюх ЁхушёЄЁр X, ъюЄюЁюх Єрь
|
||||
с√ыю фю т√яюыэхэш ¤Єющ юяхЁрЎшш (Ёшё. 5). <A href="#register_X1">╨хушёЄЁ
|
||||
X1 </A>ёыєцшЄ фы ёюїЁрэхэш яЁхф√фє∙хую ёюфхЁцшьюую ЁхушёЄЁр X.
|
||||
</P>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD width="17%" height="159"><IMG src="stack2.gif" width="119" height="159" align="top" alt="╨шё. 2"></TD>
|
||||
<TD width="83%">
|
||||
<P align="center"> </P>
|
||||
<P align="center"><B>╩юьрэфр яЁюфтшцхэш ёЄхър ттхЁї.<BR>
|
||||
</B>(ёЄЁхыър ттхЁї)</P>
|
||||
<P align="left">╤фтшу ёюфхЁцшьюую ЁхушёЄЁют ёЄхър яЁюшёїюфшЄ яю ёїхьх:
|
||||
X->Y->Z->T (Ёшё. 2). ╤юфхЁцшьюх ЁхушёЄЁр Ёхчєы№ЄрЄр яЁхф√фє∙хщ юяхЁрЎшш
|
||||
X1 эх шчьхэ хЄё .</P>
|
||||
<P align="left"> </P>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD width="17%" height="195"><IMG src="stack3.gif" width="119" height="159" alt="╨шё. 3"></TD>
|
||||
<TD width="83%"> </TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD width="17%" height="168"><IMG src="stack4.gif" width="119" height="159" alt="╨шё. 4"></TD>
|
||||
<TD width="83%">
|
||||
<P align="center"><B>╩юьрэфр юсьхэр ёюфхЁцшь√ь ЁхушёЄЁют X ш Y.<BR>
|
||||
</B>(эр ъыртш°х шчюсЁрцхэю XY ёю ёЄЁхыърьш)</P>
|
||||
<P align="center"><BR>
|
||||
╤їхьр юсьхэр ёюфхЁцшь√ь ЁхушёЄЁют яюърчрэр эр Ёшёєэъх 4.</P>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD width="17%" height="174"><IMG src="stack5.gif" width="119" height="159" alt="╨шё. 5"></TD>
|
||||
<TD width="83%"> </TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD width="17%" height="226"><IMG src="stack6.gif" width="119" height="176" alt="╨шё. 6"></TD>
|
||||
<TD width="83%">
|
||||
<P align="center"><B><A name="register_X1"></A>╨хушёЄЁ яЁхф√фє∙хую
|
||||
Ёхчєы№ЄрЄр.</B></P>
|
||||
<P align="left">┬ фюяюыэхэшх ъ ўхЄ√Ё╕ь ёЄхъют√ь ЁхушёЄЁрь т ьшъЁюъы№ъєы ЄюЁх
|
||||
шьххЄё х∙╕ юфшэ ЁхушёЄЁ , эрч√трхь√щ ЁхушёЄЁюь яЁхф√фє∙хую Ёхчєы№ЄрЄр.
|
||||
▌ЄюЄ ЁхушёЄЁ ёюїЁрэ хЄ чэрўхэшх ўшёыр, ъюЄюЁюх эрїюфшыюё№ т ЁхушёЄЁх
|
||||
X фю т√яюыэхэш юяхЁрЎшш. ─ы яЁютхЁъш ¤Єюую ўшёыр эрцьшЄх ъыртш°ш
|
||||
F ш ┬ї. ╧Ёш ¤Єюь яЁюшчющф╕Є яхЁхьх∙хэшх шэЇюЁьрЎшш т ёЄхъх (Ёшё.
|
||||
6): X->Y->Z->T, X1->X.</P>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD width="17%" height="180"><IMG src="stack7.gif" width="119" height="171" alt="╨шё. 7"></TD>
|
||||
<TD width="83%" height="180">
|
||||
<DIV align="center">
|
||||
<P> </P>
|
||||
<P align="center"><B>╩юьрэфр Rotate.<BR>
|
||||
</B>(т юЁшушэрых шчюсЁрцхэю ъюы№Ўю ёю ёЄЁхыърьш)</P>
|
||||
<P align="left">┬ Ёхчєы№ЄрЄх т√яюыэхэш ¤Єющ ъюьрэф√ юсьхэ ЁхушёЄЁрьш
|
||||
ёЄхър яЁюшчющф╕Є яю ёїхьх: X->X1, T->Z->Y->X, X1->T (Ёшё. 7).</P>
|
||||
</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD>
|
||||
<DIV align="center">
|
||||
<P><B>╨хушёЄЁ√ юс∙хую эрчэрўхэш .</B></P>
|
||||
<P align="left">▌Єю 16 рфЁхёєхь√ї ЁхушёЄЁют ярь Єш фы їЁрэхэш фрээ√ї
|
||||
шыш рфЁхёют яхЁхїюфют т яЁюуЁрььх. ═юьхЁ ЁхушёЄЁр юсючэрўрхЄё °хёэрфЎрЄшЁшўэ√ь
|
||||
ўшёыюь - юЄ 0 фю F. ┬ юЁшушэрых "ЁєъютюфёЄтр яю ¤ъёяыєрЄрЎшш"
|
||||
т эрчтрэшх ¤Єшї ЁхушёЄЁют ттхф╕э яЁхЇшъё RG (RG0, RG1 ... ш Є.ф.). ╚ч
|
||||
<FONT color="#999999"><FONT color="#000000"><FONT color="#6600CC"><A href="b3-34help1.htm">ЄрсышЎ√
|
||||
ъюьрэф </A></FONT></FONT></FONT>тшфэю, ўЄю ъюф ъюьрэф юсЁр∙хэш ъ ЁхушёЄЁрь
|
||||
юфэючэрўэю юяЁхфхы хЄё тЄюЁ√ь яюыєсрщЄюь ъюфр ъюьрэф√, эряЁшьхЁ, Єръшї
|
||||
ъръ 40 -4F (чряшё№ т ЁхушёЄЁ ярь Єш - ъыртш°ш ╧, 0 фю ╧.F), 60 -6F (шчтыхўхэшх
|
||||
шч ЁхушёЄЁют ярь Єш т ЁхушёЄЁ X - ъыртш°ш ╧, 0 фю ╧.F) ш фЁєушї ъюьрэфрї.
|
||||
</P>
|
||||
</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD>
|
||||
<DIV align="center">
|
||||
<P><B><A name="stack_of_return"></A>╨хушёЄЁ√ ёЄхър тючтЁрЄр.</B></P>
|
||||
<P align="left">╩ры№ъєы ЄюЁ шьххЄ 5 ЁхушёЄЁют юсЁрчє■∙шї ёЄхъ тючтЁрЄр,
|
||||
ъюЄюЁ√х яЁюуЁрьэю эхфюёЄєяэ√, юфэръю юэш яючтюы ■Є яЁюуЁрььх т√чтрЄ№
|
||||
фю 5-Єш тыюцхээ√ї яюфяЁюуЁрь. ┬ ўхщърї ёЄхър тючтЁрЄр їЁрэ Єё рфЁхёр
|
||||
тючтЁрЄр шч яюфяЁюуЁрь.</P>
|
||||
</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR>
|
||||
<TABLE width="96%" border="0" align="center">
|
||||
<TR>
|
||||
<TD height="326">
|
||||
<DIV align="left">
|
||||
<P align="center"><A name="one_place_operation"></A><B>╬фэюьхёЄэ√х юяхЁрЎшш.</B></P>
|
||||
<P>╬фэюьхёЄэ√х юяхЁрЎшш - ¤Єю юяхЁрЎшш фы т√яюыэхэш ъюЄюЁ√ї ЄЁхсєхЄё
|
||||
юфшэ юяхЁрэф. ╬яхЁрэф, эрф ъюЄюЁрь яЁюшчтюфшЄё юяхЁрЎш эрїюфшЄё т
|
||||
ЁхушёЄЁх X ш т√ётхўштрхЄё эр шэфшърЄюЁх. ╨хчєы№ЄрЄ юяхЁрЎшш чряшё√трхЄё
|
||||
т ЁхушёЄЁ X, яЁш ¤Єюь ёюфхЁцшьюх юёЄры№э√ї ЁхушёЄЁют эх шчьхэ хЄё .
|
||||
╤ыхфє■∙шх юяхЁрЎшш т ┴3-34 ты ■Єё юфэюьхёЄэ√ьш: </P>
|
||||
</DIV>
|
||||
<UL>
|
||||
<LI>
|
||||
<DIV align="left">т√ўшёыхэшх ыюурЁшЇьшўхёъшї ЇєэъЎшщ (lg, ln);</DIV>
|
||||
</LI>
|
||||
<LI>ёЄхяхээ√ї ЇєэъЎшщ (x^2 - тючтхфхэшх т ътрфЁрЄ, e^x, 10^x);</LI>
|
||||
<LI>ЄЁшуюэюьхЄЁшўхёъшї яЁ ь√ї ш юсЁрЄэ√ї ЇєэъЎшщ ();</LI>
|
||||
<LI>т√ўшёыхэшх ътрфЁрЄэюую ъюЁэ (sqr);</LI>
|
||||
<LI>т√ўшёыхэшх юсЁрЄэющ тхышўшэ√(1/x);</LI>
|
||||
<LI>ттюф ўшёыр яш (PI);<BR>
|
||||
</LI>
|
||||
</UL>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR>
|
||||
<TABLE width="96%" border="0" align="center">
|
||||
<TR>
|
||||
<TD>
|
||||
<DIV align="center">
|
||||
<P><A name="two_place_operation"></A><B>─тєїьхёЄэ√х юяхЁрЎшш.</B></P>
|
||||
<P align="left">─тєїьхёЄэ√х юяхЁрЎшш - ¤Єю юяхЁрЎшш фы т√яюыэхэш ъюЄюЁ√ї
|
||||
ЄЁхсєхЄё фтр юяхЁрэфр, Ёрёяюыюцхэ√ї т ЁхушёЄЁрї X ш Y. ╩ Єръшь юяхЁрЎш ь
|
||||
юЄэюё Єё ўхЄ√Ёх рЁшЇьхЄшўхёъшї фхщёЄтш (ёыюцхэшх, т√ўшЄрэшх, єьэюцхэшх
|
||||
ш фхыхэшх) ш т√ўшёыхэшх ёЄхяхээющ ЇєэъЎшш x^y (x т ёЄхяхэш y). ╨хчєы№ЄрЄ
|
||||
юяхЁрЎшш чряшё√трхЄё т ЁхушёЄЁ X. ╧Ёш ¤Єюь шэЇюЁьрЎш т ЁхушёЄЁх Y,
|
||||
їЁрэ ∙р ё фю т√яюыэхэш юяхЁрЎшш чрьхэ хЄё <FONT color="#000000">ёюфхЁцшь√ь
|
||||
ЁхушёЄЁр Z. ╤їхьр яхЁхфтшцхэш т ёЄхъх T=T->Z->Y, X1=ёюфхЁцшьюьє
|
||||
ЁхушёЄЁр X фю т√яюыэхэш юяхЁрЎшш</FONT>.</P>
|
||||
</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR>
|
||||
<TABLE width="96%" border="0" align="center">
|
||||
<TR>
|
||||
<TD>
|
||||
<DIV align="center">
|
||||
<P><B><A name="chain_calculations"></A>╓хяюўхўэ√х т√ўшёыхэш .</B></P>
|
||||
<P align="left"> ┼ёыш эр шэфшърЄюЁх т√ётхўштрхЄё Ёхчєы№ЄрЄ яЁхф√фє∙шї
|
||||
т√ўшёыхэшщ, Єю эрсюЁ эр ъыртшрЄєЁх эютюую ўшёыр ртЄюьрЄшўхёъш яхЁхфтшурхЄ
|
||||
шэЇюЁьрЎш■ шч ЁхушёЄЁр X т ЁхушёЄЁ Y. <FONT color="#000000">╧хЁхьх∙хэшх
|
||||
т ёЄхъх яЁюшёїюфшЄ яю ёїхьх X->Y->Z->T, яЁхф√фє∙хх ёюфхЁцшьюх
|
||||
T ЄхЁ хЄё </FONT>. ╥ръшь юсЁрчюь, Ёхчєы№ЄрЄ т√ўшёыхэш яЁхф√фє∙хщ юяхЁрЎшш
|
||||
ьюцхЄ єўрёЄтютрЄ№ т ърўхёЄтх тЄюЁюую юяхЁрэфр яЁш т√яюыэхэшш яюёыхфє■∙шї
|
||||
т√ўшёыхэшщ. </P>
|
||||
</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR>
|
||||
<TABLE width="96%" border="0" align="center">
|
||||
<TR>
|
||||
<TD>
|
||||
<P align="center"><B><A name="bp_jump"></A>╩юьрэфр схчєёыютэюую яхЁхїюфр.</B></P>
|
||||
<P>╩юьрэфр схчєёыютэюую яхЁхїюфр ЁхрышчєхЄё ъыртш°хщ ┴╧ ш яюёыхфє■∙шь ттюфюь
|
||||
рфЁхёр яхЁхїюфр. ▌Єр ъюьрэфр яЁхЁ√трхЄ хёЄхёЄтхээ√щ яюЁ фюъ т√яюыэхэш
|
||||
яЁюуЁрьь√ ш юёє∙хёЄты хЄ яЁхїюф ъ т√яюыэхэш■ ъюьрэф√, єърчрээющ т рфЁхёх
|
||||
яхЁхїюфр. ─ышэр ъюьрэф√ - фтр °рур. ┼╕ ьюцэю шёяюы№чртрЄ№ х∙╕ фы Ёєўэюую
|
||||
яхЁхїюфр ъ цхырхьюьє рфЁхёє яЁш юЄырфъх яЁюуЁрьь√.</P>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR>
|
||||
<TABLE width="96%" border="0" align="center">
|
||||
<TR>
|
||||
<TD>
|
||||
<DIV align="center">
|
||||
<P><A name="conditional_jump"></A><B>╩юьрэф√ яхЁхїюфр яю єёыютш■.</B></P>
|
||||
<P align="left">╩юьрэф√ яхЁхїюфр яю єёыютш■ ( x<0 ышсю x=0, x>=0,
|
||||
x!=0 (эх Ёртэю эєы■)) Ёхрышчє■Єё ъыртш°хщ F, ъыртш°хщ єёыютш "
|
||||
x<0", "x=0", "x>=0", "x!=0"
|
||||
ш ттюфюь рфЁхёр яхЁхїюфр. ╧ЁютхЁ хЄё ёюцхЁцшьюх ЁхушёЄЁр X эр т√яюыэхэшх
|
||||
чрфрээюую єёыютш . ┼ёыш єёыютшх <FONT color="#CC0000">эх т√яюыэ хЄё </FONT>,
|
||||
Єю ёыхфє■∙хщ яю яЁюуЁрььх сєфхЄ т√яюыэхэр ъюьрэфр, рфЁхё ъюЄюЁющ єърчрэ
|
||||
эхяюёЁхфёЄтхээю т ъюьрэфх єёыютэюую яхЁхїюфр. ┼ёыш єёыютшх т√яюыэ хЄё ,
|
||||
Єю ёыхфє■∙хщ ъюьрэфющ сєфхЄ ёыхфє■∙р чр рфЁхёюь яЁхїюфр ъюьрэфр. ─ышэр
|
||||
ъюьрэф√ - фтр срщЄр (°рур) яЁюуЁрьэющ ярь Єш.</P>
|
||||
</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR>
|
||||
<TABLE width="96%" border="0" align="center">
|
||||
<TR>
|
||||
<TD>
|
||||
<DIV align="center">
|
||||
<P><A name="routine_call"></A><B>╩юьрэфр т√чютр яЁюфяЁюуЁрьь√.</B></P>
|
||||
<P align="left">╩юьрэфр т√чютр яЁюфяЁюуЁрьь√ ЁхрышчєхЄё ъыртш°хщ ╧╧ ш
|
||||
ёфє■∙хьє чр эхщ рфЁхёюь (эрўрыр яюфяЁюуЁрьь√). ╧Ёш ¤Єюь т <A href="#stack_of_return">ёЄхъ
|
||||
тючтЁрЄр</A> чряшё√трхЄё ёыхфє■∙шщ рфЁхё яЁюуЁрьь√, эр ъюЄюЁ√щ т фры№эхщ°хь
|
||||
сєфхЄ ёфхырэ тчтЁрЄ шч яюфяЁюуЁрьь√ (┬/╬). ─ышэр ъюьрэф√ - фтр °рур.
|
||||
┬ Ёхцшьх "└тЄюьрЄшўхёър ЁрсюЄр", ъюуфр яЁюуЁрььр эх т√яюыэ хЄё ,
|
||||
эрцрЄшх эр ъыртш°є ╧╧ яЁюшчтюфшЄ яю°руютюх т√яюыэхэшх яЁюуЁрьь√.</P>
|
||||
</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR>
|
||||
<TABLE width="96%" border="0" align="center">
|
||||
<TR>
|
||||
<TD>
|
||||
<DIV align="center">
|
||||
<P><A name="indirect_routine_call"></A><B>╩юьрэф√ ъюётхээюую т√чютр яЁюфяЁюуЁрьь√.</B></P>
|
||||
<P align="left">╩юьрэфр ъюётхээюую т√чютр яЁюфяЁюуЁрьь√ ЁхрышчєхЄё ъыртш°рьш
|
||||
╩ , ╧╧ ш ъыртш°хщ рфЁхёєхьюую ЁхушёЄЁр ( 0 ... F ). <A href="#stack_of_return">
|
||||
</A> ─ышэр ъюьрэф√ - юфшэ °ру. ╤ яюью∙№■ ¤Єющ ъюьрэфр яЁюшёїюфшЄ <FONT color="#660099">
|
||||
<A href="#registers_modification_table">ьюфшЇшърЎш </A></FONT> рфЁхёр,
|
||||
їЁрэ ∙хуюё т рфЁхёєхьюь ЁхушёЄЁх, шэфхъё ъюЄюЁюую тїюфшЄ т ъюьрэфє.
|
||||
╟рЄхь, чряшё√трхЄё т <A href="#stack_of_return">ёЄхъ тючтЁрЄр</A> ёыхфє■∙шщ
|
||||
рфЁхё яЁюуЁрьь√, эр ъюЄюЁ√щ т фры№эхщ°хь сєфхЄ ёфхырэ тчтЁрЄ шч яюфяЁюуЁрьь√
|
||||
(ъюьрэфющ ┬/╬), ш юёє∙хёЄты хЄё т√чют яюфяЁюуЁрьь√, чряшёрээющ яю ьюфшЇшЎшЁютрээюьє
|
||||
рфЁхёє. </P>
|
||||
</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR>
|
||||
<TABLE width="96%" border="0" align="center">
|
||||
<TR>
|
||||
<TD>
|
||||
<DIV align="center">
|
||||
<P><A name="routine_return"></A><B>╩юьрэфр тючтЁрЄр шч яЁюфяЁюуЁрьь√.</B></P>
|
||||
<P align="left">╩юьрэфр тючтЁрЄр шч яЁюфяЁюуЁрьь√ ЁхрышчєхЄё ъыртш°хщ
|
||||
┬/╬. ╚ч <A href="#stack_of_return">ёЄхър тючтЁрЄр</A> ўшЄрхЄё яюёыхфэшщ
|
||||
рфЁхё, ъюЄюЁ√щ чряшё√трхЄё Єєфр тю тЁхь т√чютр яюфяЁюуЁрьь√ яюёЁхфёЄтюь
|
||||
ъюьрэф√ ╧╧ ... (шыш ╩ ╧╧ ...), ш яЁюшёїюфшЄ яхЁхїюф эр ¤ЄюЄ рфЁхё. </P>
|
||||
</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR>
|
||||
<TABLE width="96%" border="0" align="center">
|
||||
<TR>
|
||||
<TD>
|
||||
<P align="center"><A name="#╩юётхээ√щ схчєёыютэ√щ яхЁхїюф"></A><B>╩юётхээ√щ
|
||||
схчєёыютэ√щ яхЁхїюф.</B></P>
|
||||
<P>╩юьрэфр ъюётхээюую схчєёыютэюую яхЁхїюфр яю ьюфшЇшЎшЁютрээюьє рфЁхёє
|
||||
Ёхрышчєхё ъыртш°рьш ╩, ┴╧ ш ъыртш°хщ рфЁхёєхьюую ЁхушёЄЁр (юЄ 0 фю F,
|
||||
<FONT color="#000000">юЄ A фю F - эрфяшёш ў╕Ёэюую ЎтхЄр</FONT>). ╧Ёш шёяюыэхэшш
|
||||
¤Єющ ъюьрэф√ яЁюшёїюфшЄ ьюфшЇшърЎш рфЁхёр, їЁрэ ∙хуюё т рфЁхёєхьюь ЁхушёЄЁх
|
||||
(шэфхъё ъюЄюЁюую тїюфшЄ т ъюьрэфє), ш яЁюшёїюфшЄ яхЁхїюф ъ шёяюэхэш■ ъюьрэф√,
|
||||
чряшёрээющ яю эютюьє (ьюфшЇшЎшЁютрээюьє) рфЁхёє. ╠юфшЇшърЎш рфЁхёр яЁюшёїюфшЄ
|
||||
т чртшёшьюёЄш юЄ эюьхЁр ЁхушёЄЁр, тїюф ∙хую т ъюьрэфє. ┼ёыш ъюьрэфр ёюфхЁцшЄ
|
||||
эюьхЁ юфэюую шч ЁхушёЄЁют 0, 1, 2, 3, Єю яЁш т√яюыэхэшш ъюьрэф√ шч ёюфхЁцшьюую
|
||||
рфЁхёєхьюую ЁхушёЄЁр т√ўшЄрхЄё 1. ┼ёыш эюьхЁ рфЁхёєхьюую ЁхушёЄЁр 4 ,
|
||||
5 шыш 6, Єю ъ ёюфхЁцшьюьє ЁхушёЄЁр яЁшсрты хЄё 1. ┼ёыш эюьхЁ рфЁхёєхьюую
|
||||
ЁхушёЄЁр юЄ 7 фю F, Єю ёюфхЁцшьюх рфЁхёєхьюую ЁхушёЄЁр эх шчьхэ хЄё .</P>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<P align="center"><A name="registers_modification_table"></A><B>╥рсышЎр ьюфшЇшърЎшш
|
||||
яЁш ъюётхээющ рфЁхёрЎшш.</B></P>
|
||||
<TABLE width="96%" border="1" align="center" bgcolor="#E0FFF0">
|
||||
<TR>
|
||||
<TD width="12%">
|
||||
<DIV align="center">╨хушёЄЁ </DIV>
|
||||
</TD>
|
||||
<TD width="20%">
|
||||
<DIV align="center">╠юфшЇшърЎш </DIV>
|
||||
</TD>
|
||||
<TD width="68%">
|
||||
<DIV align="center">═рфяшё№</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD width="12%">
|
||||
<DIV align="center">0</DIV>
|
||||
</TD>
|
||||
<TD width="20%">
|
||||
<DIV align="center">-1</DIV>
|
||||
</TD>
|
||||
<TD width="68%">
|
||||
<DIV align="center">╩ыртш°р ё эрфяшё№■ 0</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD width="12%">
|
||||
<DIV align="center">1</DIV>
|
||||
</TD>
|
||||
<TD width="20%">
|
||||
<DIV align="center">-1</DIV>
|
||||
</TD>
|
||||
<TD width="68%">
|
||||
<DIV align="center">╩ыртш°р ё эрфяшё№■ 1</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD width="12%">
|
||||
<DIV align="center">2</DIV>
|
||||
</TD>
|
||||
<TD width="20%">
|
||||
<DIV align="center">-1</DIV>
|
||||
</TD>
|
||||
<TD width="68%">
|
||||
<DIV align="center">╩ыртш°р ё эрфяшё№■ 2</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD width="12%">
|
||||
<DIV align="center">3</DIV>
|
||||
</TD>
|
||||
<TD width="20%">
|
||||
<DIV align="center">-1</DIV>
|
||||
</TD>
|
||||
<TD width="68%">
|
||||
<DIV align="center">╩ыртш°р ё эрфяшё№■ 3</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD width="12%">
|
||||
<DIV align="center">4</DIV>
|
||||
</TD>
|
||||
<TD width="20%">
|
||||
<DIV align="center">+1</DIV>
|
||||
</TD>
|
||||
<TD width="68%">
|
||||
<DIV align="center">╩ыртш°р ё эрфяшё№■ 4</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD width="12%">
|
||||
<DIV align="center">5</DIV>
|
||||
</TD>
|
||||
<TD width="20%">
|
||||
<DIV align="center">+1</DIV>
|
||||
</TD>
|
||||
<TD width="68%">
|
||||
<DIV align="center">╩ыртш°р ё эрфяшё№■ 5</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD width="12%">
|
||||
<DIV align="center">6</DIV>
|
||||
</TD>
|
||||
<TD width="20%">
|
||||
<DIV align="center">+1</DIV>
|
||||
</TD>
|
||||
<TD width="68%">
|
||||
<DIV align="center">╩ыртш°р ё эрфяшё№■ 6</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD width="12%">
|
||||
<DIV align="center">7</DIV>
|
||||
</TD>
|
||||
<TD width="20%">
|
||||
<DIV align="center">эхЄ</DIV>
|
||||
</TD>
|
||||
<TD width="68%">
|
||||
<DIV align="center">╩ыртш°р ё эрфяшё№■ 7</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD width="12%">
|
||||
<DIV align="center">8</DIV>
|
||||
</TD>
|
||||
<TD width="20%">
|
||||
<DIV align="center">эхЄ</DIV>
|
||||
</TD>
|
||||
<TD width="68%">
|
||||
<DIV align="center">╩ыртш°р ё эрфяшё№■ 8</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD width="12%">
|
||||
<DIV align="center">9</DIV>
|
||||
</TD>
|
||||
<TD width="20%">
|
||||
<DIV align="center">эхЄ</DIV>
|
||||
</TD>
|
||||
<TD width="68%">
|
||||
<DIV align="center">╩ыртш°р ё эрфяшё№■ 9</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD width="12%">
|
||||
<DIV align="center">A</DIV>
|
||||
</TD>
|
||||
<TD width="20%">
|
||||
<DIV align="center">эхЄ</DIV>
|
||||
</TD>
|
||||
<TD width="68%">
|
||||
<DIV align="center">╩ыртш°р ё эрфяшё№■ , (чря Єр ), яюф ъыртш°хщ ў╕Ёэ√ь
|
||||
ЎтхЄюь - ырЄшэёър сєътр A. </DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD width="12%">
|
||||
<DIV align="center">B</DIV>
|
||||
</TD>
|
||||
<TD width="20%">
|
||||
<DIV align="center">эхЄ</DIV>
|
||||
</TD>
|
||||
<TD width="68%">
|
||||
<DIV align="center">╩ыртш°р ё эрфяшё№■ /-/, яюф ъыртш°хщ ў╕Ёэ√ь ЎтхЄюь -
|
||||
ырЄшэёър сєътр B. </DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD width="12%">
|
||||
<DIV align="center">C</DIV>
|
||||
</TD>
|
||||
<TD width="20%">
|
||||
<DIV align="center">эхЄ</DIV>
|
||||
</TD>
|
||||
<TD width="68%">
|
||||
<DIV align="center">╩ыртш°р ё эрфяшё№■ ┬╧, яюф ъыртш°хщ ў╕Ёэ√ь ЎтхЄюь -
|
||||
ырЄшэёър сєътр C. </DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD width="12%">
|
||||
<DIV align="center">D</DIV>
|
||||
</TD>
|
||||
<TD width="20%">
|
||||
<DIV align="center">эхЄ</DIV>
|
||||
</TD>
|
||||
<TD width="68%">
|
||||
<DIV align="center">╩ыртш°р ё эрфяшё№■ Cx, яюф ъыртш°хщ ў╕Ёэ√ь ЎтхЄюь -
|
||||
ырЄшэёър сєътр D. </DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD width="12%">
|
||||
<DIV align="center">E</DIV>
|
||||
</TD>
|
||||
<TD width="20%">
|
||||
<DIV align="center">эхЄ</DIV>
|
||||
</TD>
|
||||
<TD width="68%">
|
||||
<DIV align="center">╩ыртш°р ё эрфяшё№■ т тшфх ёЄЁхыъш ттхЁї, ёяЁртр юЄ ъыртш°ш
|
||||
ў╕Ёэ√ь ЎтхЄюь - ырЄшэёър сєътр E. </DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD width="12%">
|
||||
<DIV align="center">F</DIV>
|
||||
</TD>
|
||||
<TD width="20%">
|
||||
<DIV align="center">эхЄ</DIV>
|
||||
</TD>
|
||||
<TD width="68%">
|
||||
<DIV align="center">╩ыртш°р ё эрфяшё№■ - (чэръ ьшэєё), ёяЁртр юЄ ъыртш°ш
|
||||
ў╕Ёэ√ь ЎтхЄюь - ырЄшэёър сєътр F. </DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR>
|
||||
<TABLE width="96%" border="0" height="125" align="center">
|
||||
<TR>
|
||||
<TD>
|
||||
<P align="center"><A name="indirect_conditional_jump"></A><B>╩юётхээ√щ яхЁхїюф
|
||||
яю єёыютш■.</B></P>
|
||||
<P>╩юьрэф√ ъюётхээ√ї яхЁхїюфют яю єёыютш■ ЁхрышчєхЄё ъыртш°хщ "╩",
|
||||
ъыртш°хщ єёыютш ( x<0 ышсю x=0, x>=0, x!=0 (эх Ёртэю эєы■)) ш ъыртш°хщ
|
||||
рфЁхёєхьюую ЁхушёЄЁр (юЄ "0" фю "F"). ╤ яюью∙№■ ¤Єющ
|
||||
ъюьрэф√ яЁютхЁ хЄё ёюфхЁцшьюх ЁхушёЄЁр X эр т√яюыэхэшх чрфрээюую єёыютш .
|
||||
┼ёыш єёыютшх эх т√яюыэ хЄё (<FONT color="#000000">юсЁрЄшЄх тэшьрэшх,
|
||||
шьхээю - ъюуфр</FONT><FONT color="#999999"> <FONT color="#CC0000">эх т√яюэ хЄё </FONT></FONT>),
|
||||
Єю яЁюшёїюфшЄ <FONT color="#660099"> <A href="#registers_modification_table">ьюфшЇшърЎш </A></FONT>
|
||||
(шчьхэхэшх) рфЁхёр, їЁрэ ∙хуюё т рфЁхёєхьюь ЁхушёЄЁх, шэфхъё ъюЄюЁюую
|
||||
тїюфшЄ т ъюьрэфє, ш юёє∙хёЄты хЄё яхЁхїюф ъ т√яюыэхэш■ ъюьрэф√, чряшёрээющ
|
||||
яю ьюфшЇшЎшЁютрээюьє рфЁхёє. ┼ёыш єёыютшх т√яюыэ хЄё , Єю яЁюшёїюфшЄ яхЁхїюф
|
||||
ъ т√яюыэхэш■ ёыхфє■∙хщ ъюьрэф√. ╧Ёш ¤Єюь рфЁхё, чряшёрээ√щ т рфЁхёєхьюь
|
||||
ЁхушёЄЁх, эх ьюфшЇшЎшЁєхЄё .</P>
|
||||
</TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD> </TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<TABLE width="96%" border="0" align="center">
|
||||
<TR>
|
||||
<TD>
|
||||
<DIV align="center">
|
||||
<P><A name="indirect_mem_read"></A><B>╩юьрэф√ ъюётхээюую ўЄхэш ЁхушёЄЁр
|
||||
ярь Єш.</B></P>
|
||||
<P align="left">╩юьрэфр ьюфшЇшЎшЁєхЄ ЁхушёЄЁ , эюьхЁ ъюЄюЁюую тїюфшЄ т
|
||||
ъюьрэфє (ёюуырёэю <A href="#registers_modification_table">ЄрсышЎх ьюфшЇшърЎшш)</A>,
|
||||
яюёых ўхую яЁюшёїюфшЄ ўЄхэшх ёююЄтхЄёЄтє■∙хую ЁхушёЄЁр т ЁхушёЄЁ X.
|
||||
╧ЁшьхЁ. ┼ёыш ёюфхЁцшьюх ЁхушёЄЁр 0 фю т√яюыэхэш ъюьрэф√ с√ыю Ёртэю
|
||||
3, Єю яЁш т√яюыэхэшш ъюьрэф√ ╩ ╚╧ 0 єьхэ№°рхЄё ёюфхЁцшьюх ЁхушёЄЁр
|
||||
0 (ЄхяхЁ№ юэю Ёртэю 2) ш яЁюшёїюфшЄ ўЄхэшх ёюфхЁцшьюую ЁхушёЄЁр 2 т
|
||||
ЁхушёЄЁ X.</P>
|
||||
</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR>
|
||||
<TABLE width="96%" border="0" align="center">
|
||||
<TR>
|
||||
<TD>
|
||||
<DIV align="center">
|
||||
<P><A name="indirect_mem_write"></A><B>╩юьрэф√ ъюётхээющ чряшёш т ЁхушёЄЁ
|
||||
ярь Єш.</B></P>
|
||||
<P align="left">╩юьрэфр ьюфшЇшЎшЁєхЄ ЁхушёЄЁ , эюьхЁ ъюЄюЁюую тїюфшЄ т
|
||||
ъюьрэфє (ёюуырёэю <A href="#registers_modification_table">ЄрсышЎх ьюфшЇшърЎшш</A>),
|
||||
яюёых ўхую яЁюшёїюфшЄ чряшё№ т ёююЄтхЄёЄтє■∙шщ ЁхушёЄЁ ёюфхЁцшьюх ЁхушёЄЁр
|
||||
X. ╧ЁшьхЁ. ┼ёыш ёюфхЁцшьюх ЁхушёЄЁр 0 фю т√яюыэхэш ъюьрэф√ с√ыю Ёртэю
|
||||
3, Єю яЁш т√яюыэхэшш ъюьрэф√ ╩ ╧ 0 єьхэ№°рхЄё ёюфхЁцшьюх ЁхушёЄЁр 0
|
||||
(ЄхяхЁ№ юэю Ёртэю 2) ш яЁюшёїюфшЄ чряшё№ ёюфхЁцшьюую ЁхушёЄЁр X т ЁхушёЄЁ
|
||||
2.</P>
|
||||
</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR>
|
||||
<TABLE width="96%" border="0" align="center">
|
||||
<TR>
|
||||
<TD>
|
||||
<DIV align="center">
|
||||
<P><A name="L0_discription"></A><B>╩юьрэф√ юЁурэшчрЎшш Ўшъыют.</B></P>
|
||||
<P align="left">╩юьрэф√ юЁурэшчрЎшш Ўшъыют юЁурэшчє■Єё ъыртш°рьш L0,
|
||||
L1, L2, L3 т ёюўхЄрэшш ё яЁхЇшъёэющ ъыртш°хщ F. ╩юьрэфр ёюёЄюшЄ шч ъюфр
|
||||
ъюьрэф√ ш ёыхфє■∙хую чр эхщ рфЁхёр яхЁхїюфр. ╧Ёш т√яюыэхэшш ъюьрэф√
|
||||
L0 яЁюшёїюфшЄ юсЁр∙хэшх ъ ЁхушёЄЁє ярь Єш RG0. ╧Ёш ърцфюь т√яюыэхэшш
|
||||
¤Єющ ъюьрэф√ шч ёюфхЁцшьюую ЁхушёЄЁр 0 т√ўшЄрхЄё 1 ш яЁюшчтюфшЄё рэрышч
|
||||
хую эр эєы№. ┼ёыш юэю эх Ёртэю эєы■, яЁюшёїюфшЄ яхЁхїюф ъ т√яюыэхэш■
|
||||
ъюьрэф√ яхЁхїюфр, тїюф ∙хую т ъюьрэфє. ┼ёыш ёюфхЁцшьюх ЁхушёЄЁр ярь Єш
|
||||
RG0 Ёртэю эєы■, Єю Ўшъы чртхЁ°рхЄё ш т√яюыэ хЄё ёыхфє■∙р ъюьрэфр.
|
||||
─ышэр ъюьрэф√ - фтр °рур.</P>
|
||||
</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR>
|
||||
<TABLE width="96%" border="0" align="center">
|
||||
<TR>
|
||||
<TD>
|
||||
<P align="center"><B>╧ЁюуЁрььшЁютрэшх.</B></P>
|
||||
<P> ┬їюф т Ёхцшь яЁюуЁрььшЁютрэш юёє∙хёты хЄё яюёЁхфёЄтюь эрцрЄш эр ъыртш°ш
|
||||
F ш ╧╨├. ╩ры№ъєы ЄюЁ яхЁхщф╕Є эр Єхъє∙шщ рфЁхё яЁюуЁрьь√. ┼ёыш ЄЁхсєхЄё
|
||||
яхЁхщЄш эр чрфрэ√щ рфЁхё, Єю яхЁхф тїюфюь т Ёхцшь яЁюуЁрььшЁютрэш эрфю
|
||||
яхЁхщЄш эр ¤ЄюЄ рфЁхё эрцрЄшхь ъыртш°ш ┴╧ ш ттюфюь рфЁхёр. ╧хЁхьх∙хэшх
|
||||
яю яЁюуЁрььх яЁюшёїюфшЄ ртЄюьрЄшўхёъш яЁш ттюфх ъюьрэф шыш яЁшэєфшЄхы№эю
|
||||
- ъыртш°рьш ╪├. ╤яЁртр эр шэфшърЄюЁх т√ётхўштрхЄё рфЁхё ёыхфє■∙хую °рур
|
||||
яЁюуЁрьь√. ┬ фЁєушї яюы ї шэфшърЄюЁр т√ётхўштр■Єё (3 яюы ) ъюф√ ттхф╕ээ√ї
|
||||
ъюьрэф т яюЁ фъх тючЁрёЄрэш , ёыхтр эряЁртю. <BR>
|
||||
┼ёыш эхюсїюфшью шёъы■ўшЄ№ шч яЁюуЁрьь√ ъръє■-ышсю ъюьрэфє, эхюсїюфшью
|
||||
эрцрЄ№ ъыртш°є ╩ ш ъыртш°є ═╬╧, °ру яЁюуЁрьь√ чряюыэшЄё ъюьрэфющ, ъюЄюЁр
|
||||
эшўхую эх фхырхЄ. ┬√їюф шч Ёхцшьр "╧ЁюуЁрььшЁютрэшх" юёє∙хёЄты хЄё
|
||||
эрцрЄшхь эр ъыртш°ш F ш └┬╥.</P>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR>
|
||||
<TABLE width="96%" border="0" align="center">
|
||||
<TR>
|
||||
<TD>
|
||||
<DIV align="center">
|
||||
<P><B>┬√ўшёыхэшх яю яЁюуЁрььх.</B></P>
|
||||
<P align="left">┬√ўшёыхэш яю яЁюуЁрььх эрўшэр■Єё эрцрЄшхь эр ъыртш°є
|
||||
╤/╧. ═рўшэрхЄё т√яюыэхэшх яЁюуЁрьь√ ё Єхъє∙хую рфЁхёр. ┼ёыш ЄЁхсєхЄё
|
||||
эрўрЄ№ (шыш яЁюфюыцшЄ№) яЁюуЁрььє ё ъюэъЁхЄэюую рфЁхёр, Єю эхюсїюфшью
|
||||
яхЁхщЄш эр ¤ЄюЄ рфЁхё эрцрЄшхь ъыртш°ш ┴╧ ш ттюфюь рфЁхёр. ╬ёЄрэют т√ўшёыхэшщ
|
||||
юёє∙хёЄты хЄё яютЄюЁэ√ь эрцрЄшхь ъыртш°ш ╤/╧. </P>
|
||||
</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR>
|
||||
<TABLE width="96%" border="0" align="center">
|
||||
<TR>
|
||||
<TD>
|
||||
<DIV align="center">
|
||||
<P><B>╬Єышўш юЄ юЁшушэрыры№эюую ┴3-34.</B></P>
|
||||
<P align="left">╧Ёш ъюётхээюь юсЁр∙хэшш ъюьрэф ъ ЁхушёЄЁрь, ъюуфр фюыцхэ
|
||||
с√Є№ ёўшЄрэ эюьхЁ ЁхушёЄЁр, юЄ ёюфхЁцшьюую ёЄўшЄ√трхьюую ЁхушёЄЁр т√фхы хЄё
|
||||
Ўхыр ўрёЄ№ (фЁюсэр эх єўшЄ√трхЄё , эю ш эх ьхэ хЄё ), шч ъюЄюЁющ т√фхы Єё
|
||||
ьырф°хх чэрўшьюх, эх яЁхт√°р■∙хх ъюышўхёЄтр ЁхушёЄЁют ярь Єш ьшэєё 1
|
||||
(¤Єю 4 ьырф°шї сшЄр). ┬ ёыєўрх ёўшЄ√трэш рфЁхёр яхЁхїюфр шёяюы№чєхЄё
|
||||
Ўхыр ўрёЄ№ ёюфхЁцшьюую ЁхушёЄЁр. ┼ёыш рфЁхё яхЁхїюфр юърцхЄё чр яЁхфхырьш
|
||||
яЁюуЁрьь√, - яЁюуЁрььр т√фрёЄ ёююЄтхЄёЄтє■∙хх яЁхфєяЁхцфхэшх. </P>
|
||||
</DIV>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<P align="center"><!-- #BeginDate format:Sw1m -->5 May, 2002 3:02<!-- #EndDate --> </P>
|
||||
</BODY>
|
||||
</HTML>
|
||||
@@ -0,0 +1,236 @@
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>┴3-34 - яЁюуЁрььр</TITLE>
|
||||
<META http-equiv="Content-Type" content="text/html; charset=windows-1251">
|
||||
</HEAD>
|
||||
|
||||
<BODY bgcolor="#FFFFFF">
|
||||
<TABLE width="96%" border="0" align="center">
|
||||
<TR>
|
||||
<TD height="102" width="33%"><FONT color="#FF0000">┬эшьрэшх!</FONT> ─рээ√щ
|
||||
фюъєьхэЄ эрїюфшЄё т яЁюЎхёёх ЁрчЁрсюЄъш ш ьюцхЄ ёюфхЁцрЄ№ ю°шсъш.</TD>
|
||||
<TD height="102" width="28%"> </TD>
|
||||
<TD height="102" width="39%"><FONT size="-1"></FONT></TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<P align="center"><B><FONT size="+2" color="#CC0000">╩ры№ъєы ЄюЁ ┴3-34.<BR>
|
||||
</FONT></B><B><FONT color="#000000"><A href="b3-34help0.htm">╩ЁрЄъюх ЁєъютюфёЄтю</A></FONT></B><FONT color="#000000"><FONT color="#666666"><B>.</B></FONT><B>
|
||||
<A href="b3-34help1.htm">╥рсышЎр ъюьрэф</A>.<BR>
|
||||
<A href="b3-34help2.htm"> ╬яшёрэшх яЁюуЁрьь√</A> </B><FONT color="#666666">(¤ЄюЄ
|
||||
Їрщы)<B></B></FONT><B>. </B></FONT><B><FONT size="+2" color="#CC0000"><BR>
|
||||
</FONT><FONT size="+2">╬яшёрэшх яЁюуЁрьь√.</FONT></B></P>
|
||||
<P align="center"> </P>
|
||||
<TABLE width="96%" border="0" align="center" height="119">
|
||||
<TR>
|
||||
<TD>
|
||||
<P align="center"><B>┬эх°эшщ тшф.</B></P>
|
||||
<UL>
|
||||
<LI>╦шэхщър рфЁхёр. ╧Ёхфэрчэрўхэр фы шэфшърЎшш Єхъє∙хую рфЁхёр яЁюуЁрьь√.
|
||||
╠юцхЄ с√Є№ юЄъы■ўхэр ёююЄтхЄёЄтє■∙хщ єёЄрэютъющ яЁюуЁрьь√ шч ьхэ■ "╙ёЄрэютъш".</LI>
|
||||
<LI>╧юых ЄхъёЄютюую ёююс∙хэш . ╧Ёхфэрчэрўхэю фы ёююс∙хэш юс ю°шсъх шыш
|
||||
юс юёюсюь ёюёЄю эшш ъры№ъєы ЄюЁр.</LI>
|
||||
<LI>┬ъы■ўрЄхы№ яшЄрэш . ╬ўш∙р■Єё тёх ЁхушёЄЁ√, ёЄхъ ш ёЄхъ тючтЁрЄр.
|
||||
╧ЁюуЁрььр яЁш юЄъы■ўхэшш яшЄрэш эх шчьхэ хЄё .</LI>
|
||||
<LI>╧хЁхъы■ўрЄхы№ Ёрфшрэ√ - уЁрфєё√. ╧ЁхфёЄртыхэшх єуыют фы юяхЁрЎшщ
|
||||
ё sin, cos, tg, arcsin, arccos, arctg.</LI>
|
||||
<LI>╚эфшърЄюЁ ┴3-34. </LI>
|
||||
<LI>╩ыртш°ш юЄ F фю ╤x (тёхую 30 °Є.). ─ы ттюфр ъюьрэф.</LI>
|
||||
<LI>╥хъёЄютюх яюых фы шэфшърЎшш Єхъє∙хую рфЁхёр яЁюуЁрьь√ т ЎшЇЁютюь
|
||||
тшфх. ═рїюфшЄё ёяЁртр юЄ ъыртш°ш ╧╧.</LI>
|
||||
</UL>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR>
|
||||
<TABLE width="96%" border="0" align="center" height="119">
|
||||
<TR>
|
||||
<TD>
|
||||
<P align="center"><B>╤юфхЁцрэшх ьхэ■ "╧ЁюуЁрььр".</B></P>
|
||||
<UL>
|
||||
<LI>"═ютр " - ёючфрэшх эютющ яЁюуЁрьь√</LI>
|
||||
<LI>"╧хЁхчруЁєчшЄ№" - чруЁєчшЄ№ Єхъ∙є■ яЁюуЁрььє шч ёюёЄртр
|
||||
°ЄрЄэ√ї яЁюуЁрьь.</LI>
|
||||
<LI>"╟руЁєчшЄ№" - чруЁєчшЄ№ яЁюуЁрььє шч ёюёЄртр °ЄрЄэ√ї яЁюуЁрьь.</LI>
|
||||
<LI>"╤юїЁрэшЄ№ ъръ" - ёюїЁрэшЄ№ яЁюуЁрььє т ёюёЄртх °ЄрЄэ√ї
|
||||
яюф эют√ь шьхэхь.</LI>
|
||||
<LI>"╤юїЁрэшЄ№" - ёюїЁрэшЄ№ яЁюуЁрььє, хёыш юэр шьххЄё т ёюёЄртх
|
||||
°ЄрЄэ√ї ш ЄхъёЄ яЁюуЁрьь√ шчьхэшыё . </LI>
|
||||
<LI>"╤юїЁрэшЄ№ тё╕" - ёюїЁрэшЄ№ яЁюуЁрььє, хёыш юэр шьххЄё
|
||||
т ёюёЄртх °ЄрЄэ√ї, х╕ ЁхушёЄЁ√, ёЄхъ ш ёЄхъ тючтЁрЄр. </LI>
|
||||
<LI>"╤тющёЄтр" - т√чют юъэр ёю ётющёЄтрьш Єхъє∙хщ яЁюуЁрьь√.</LI>
|
||||
<LI>"┬ ЄхъёЄ" - т√чют юъэр ЄЁрэёы Ўшш ъюфют яЁюуЁрьь√ т ЄхъёЄют√щ
|
||||
ЇюЁьрЄ. </LI>
|
||||
<LI>"╚ч ЄхъёЄр" - т√чют юъэр чруЁєчъш яЁюуЁрьь√ шч ЄхъЄютюую
|
||||
Їрщыр. </LI>
|
||||
<LI>"┬√тюф т Їрщы" - яюърчрЄ№ юъэю т√тюфр т Їрщы. ─юёЄєяэю яЁш
|
||||
эрышўшш т√тхфхээюую ЄхъёЄр. </LI>
|
||||
<LI>"╤ъюЁюёЄ№" - яюърчрЄ№ юъэю єёЄрэютюъ ёъюЁюёЄш т√яюыэхэш
|
||||
яЁюуЁрьь√. </LI>
|
||||
<LI>"╨хушёЄЁ√" - яюърчрЄ№ юъэю ё ёюфхЁцшь√ь тёхї ЁхушёЄЁют.</LI>
|
||||
<LI>"╙ёЄрэютъш" - яюърчрЄ№ юъэю ё юс∙шьш юяЎш ьш яЁюуЁрьь√.</LI>
|
||||
<LI>"├юЁ ўр ъыртш°р" - юъэю т√сюЁр ъыртш°ш ъюья№■ЄхЁр фы чряєёър
|
||||
яЁюуЁрьь√ "╩ры№ъєы ЄюЁ ┴3-34" шыш фЁєующ яЁюуЁрьь√.</LI>
|
||||
<LI>"┬√їюф" - т√їюф шч яЁюуЁрьь√.</LI>
|
||||
</UL>
|
||||
<P> </P>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR>
|
||||
<TABLE width="96%" border="0" align="center" height="119">
|
||||
<TR>
|
||||
<TD>
|
||||
<P align="center"><B>╤юфхЁцрэшх ьхэ■ "╧Ёртър".</B></P>
|
||||
<UL>
|
||||
<LI>"┬ёЄртшЄ№" - ъюьрэфр тёЄртъш ўшёыр шч ЄхъёЄютюую сєЇхЁр
|
||||
юсьхэр (ёшёЄхь√).</LI>
|
||||
<LI>"╩юяшЁютрЄ№" - ъюьрэфр ъюяшЁютрэш ёюфхЁцшьюую ЁхэшёЄЁр
|
||||
X (ўЄю тшфэю ш эр шэфшърЄюЁх) т ЄхъёЄют√щ сєЇхЁ юсьхэр ёшёЄхь√.</LI>
|
||||
<LI>"╬ўшёЄшЄ№ ЁхушёЄЁ√" - юсэєы хЄ 16 ЁхушёЄЁют ярь Єш.</LI>
|
||||
<LI>"╬ўшёЄшЄ№ ёЄхъ" - юсэєы хЄ тёх ЁхушёЄЁ√ ёЄхър.</LI>
|
||||
<LI>"╬ўшёЄшЄ№ ёЄхъ тючтЁрЄр" - юсэєы хЄ ЁхушёЄЁ√ ёЄхър тючтЁрЄр.</LI>
|
||||
<LI>"╬ўшёЄшЄ№ тё╕" - фхщёЄтєхЄ ъръ ш тъ√ы■ўрЄхы№ яшЄрэш . ╬ўш∙р■Єё
|
||||
тёх ЁхушёЄЁ√, ёЄхъ ш ёЄхъ тючтЁрЄр. ╧ЁюуЁрььр эх шчьхэ хЄё .</LI>
|
||||
<LI>"╬ўшёЄшЄ№ яЁюуЁ. ярь Є№" - юўш∙рхЄ яЁюуЁрьэє■ ярь Є№.</LI>
|
||||
<LI>"╤ыхфє■∙хх юъэю" - яхЁхъы■ўхэшх ьхцфє фхўхЁэшьш юъэрьш.</LI>
|
||||
</UL>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR>
|
||||
<TABLE width="96%" border="0" align="center" height="119">
|
||||
<TR>
|
||||
<TD>
|
||||
<P align="center"><B>╤юфхЁцрэшх ьхэ■ "╧юью∙№".</B></P>
|
||||
<UL>
|
||||
<LI>"╧юью∙№" - т√чют Їрщыр яюью∙ш (b3-34help0.htm)</LI>
|
||||
<LI>"╬ тхЁёшш ┴3-34" - ёююс∙хэшх юс шчьхэхэш ї шыш юёюсхээюёЄ ї
|
||||
фрээющ тхЁёшш яЁюуЁрьь√.</LI>
|
||||
<LI>"╧Ёю ¤Єю" - юс ртЄюЁх ¤Єющ (яюър эхфюфхырээющ) яЁюуЁрьь√.</LI>
|
||||
<LI>"═р ёрщЄ ртЄюЁр" - фы ёърўштрэш яюёыхфэхщ тхЁёшш яЁюуЁрьь√.</LI>
|
||||
<LI>"╬°шсъш" - ёююс∙хэш юс ёюс√Єш ї т яЁюуЁрььх, ёыєцшЄ фы
|
||||
юЄырфъш яЁюуЁрьь√ b3_34.exe.</LI>
|
||||
</UL>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR>
|
||||
<TABLE width="96%" border="0" height="125" align="center">
|
||||
<TR>
|
||||
<TD>
|
||||
<P align="center"><B>╩ры№ъєы ЄюЁ шьххЄ:</B></P>
|
||||
<UL>
|
||||
<LI> яЁюуЁрьэє■ ярь Є№ юс·╕ьюь т 100 шыш 256 °руют;</LI>
|
||||
<LI>16 рфЁхёєхь√ї ЁхушёЄЁют ярь Єш фы їЁрэхэш фрээ√ї шыш рфЁхёют яхЁхїюфр
|
||||
т яЁюуЁрььх;</LI>
|
||||
<LI> ъюьрэф√ яЁ ь√ї ш ъюётхээ√ї яхЁхїюфют т яЁюуЁрььх, ъюьрэф√ т√чютр
|
||||
яюфяЁюуЁрь ш ъюьрэф√ тючтЁрЄр шч яюфяЁюуЁрь;</LI>
|
||||
<LI>тючьюцэюёЄ№ юсЁр∙хэш ъ яюфяЁюуЁрььх тэєЄЁш яюфяЁюуЁрь. ├ыєсшэр Єръшї
|
||||
юсЁр∙хэшщ Ёртэр 5;</LI>
|
||||
<LI>ъюьрэф√ яЁ ьюую ш ъюётхээюую схчєёыютэюую яхЁхїюфр;</LI>
|
||||
<LI>ўхЄ√Ёх Єшяр ъюьрэф яЁ ьюую ш ъюётхээюую єёыютэюую яхЁхїюфр (яю єёыютш ь
|
||||
x=0, x!=0 (эх Ёртэю 0), x>=0 (сюы№°х шыш Ёртэ хЄё 0), x<0);</LI>
|
||||
<LI>ъюьрэф√ юЁурэшчрЎшш Ўшъыют;</LI>
|
||||
<LI>ъюьрэф√ ъюётхээющ чряшёш ёюфхЁцшьюую ЁхушёЄЁр X т ЁхушёЄЁ√ ярь Єш;</LI>
|
||||
<LI>ъюьрэф√ ъюётхээющ шэфшърЎшш ёюфхЁцшьюую ЁхушёЄЁют ярь Єш;</LI>
|
||||
<LI>ъюьрэф√ ёсЁюёр ёў╕Єўшър рфЁхёют т эєыхтюх ёюёЄю эшх;</LI>
|
||||
<LI>ъюьрэфр яєёър ш юёЄрэютъш яЁш ртЄюьрЄшўхёъюь т√ўшёыхэшш яю яЁюуЁрььх;</LI>
|
||||
<LI>ъюьрэфр яю°руютюую т√яюыэхэш яЁюуЁрьь√ т Ёхцшьх "└тЄюьрЄшўхёър ЁрсюЄр";</LI>
|
||||
<LI>шэфшърЎш ъюфют ЄЁ╕ї яюёыхфютрЄхы№э√ї °руют яЁюуЁрьь√ ш Єхъє∙хую ёюёЄю эш
|
||||
ёў╕Єўшър рфЁхёют;</LI>
|
||||
<LI>ъыртш°ш яю°руютюую яЁюёьюЄЁр яЁюуЁрьь√ т ёЄюЁюэє єтхышўхэш шыш єьхэ№°хэш
|
||||
рфЁхёют т Ёхцшьх "╧ЁюуЁрььшЁютрэшх";</LI>
|
||||
<LI>ъюьрэфр т√тюфр Ёхчєы№ЄрЄют т Їрщы фы яюёыхфє■∙хщ яхўрЄш эр яЁшэЄхЁх.<BR>
|
||||
<BR>
|
||||
</LI>
|
||||
</UL>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<BR>
|
||||
<TABLE width="96%" border="0" align="center" height="119">
|
||||
<TR>
|
||||
<TD>
|
||||
<P align="center"><B>╙ёЄрэютъш яЁюуЁрьь√.</B></P>
|
||||
<UL>
|
||||
<LI>"╤сЁюё ъры№ъєы ЄюЁр яЁш т√ъы■ўхэшш яшЄрэш " - ёсЁюё тёхї
|
||||
ЁхушёЄЁют. </LI>
|
||||
<LI>"╨рээхх юсэрЁєцхэшх ю°шсюъ" - .</LI>
|
||||
<LI>"╧Ёю ¤Єю" - юс ртЄюЁх ¤Єющ (яюър эхфюфхырээющ) яЁюуЁрьь√.</LI>
|
||||
<LI>"═р ёрщЄ ртЄюЁр" - фы ёърўштрэш яюёыхфэхщ тхЁёшш яЁюуЁрьь√.</LI>
|
||||
<LI>"╬°шсъш" - ёююс∙хэш юс ёюс√Єш ї т яЁюуЁрььх, ёыєцшЄ фы
|
||||
юЄырфъш яЁюуЁрьь√ b3_34.exe.</LI>
|
||||
</UL>
|
||||
</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
<P align="center"> ┬√яшёър шч яЁюуЁрьь√ ю эрчэрўхэшш ъыртш° єяЁртыхэш ёю ёЄрэфрЁЄэющ
|
||||
IBM ъыртшрЄєЁ√ фы тхЁёшш яЁюуЁрьь√ 1.31.</P>
|
||||
<P><FONT size="-1">{1,0x29,0,"ъыртш°р ` (~)","ъыртш°р ъры№ъєы ЄюЁр F (шэфхъё 0)"},//<BR>
|
||||
{1,0x14D,1,"ъыртш°р ╤ЄЁхыър тяЁртю","ъры№ъєы ЄюЁр ╪├ тяЁртю (шэфхъё 1)"},//<BR>
|
||||
{1,0x14B,2,"ъыртш°р ╤ЄЁхыър тыхтю","ъры№ъєы ЄюЁр ╪├ тыхтю (шэфхъё 2)"},//<BR>
|
||||
{1,0x147,3,"ъыртш°р Home","ъыртш°р ъры№ъєы ЄюЁр ┬/╬ (шэфхъё 3)"},//<BR>
|
||||
{1,0x14F,4,"ъыртш°р End","ъыртш°р ъры№ъєы ЄюЁр ╤/╧ (шэфхъё 4)"},//<BR>
|
||||
{1,0x25,5,"ъыртш°р ырЄ. K","ъыртш°р ъры№ъєы ЄюЁр K (шэфхъё 5)"},//<BR>
|
||||
{1,0x13,5,"ъыртш°р Ёєё. K","ъыртш°р ъры№ъєы ЄюЁр K (шэфхъё 5)"},//<BR>
|
||||
{1,0x17,6,"ъыртш°р I","ъыртш°р ъры№ъєы ЄюЁр ╚╧ (шэфхъё 6)"},//<BR>
|
||||
{1,0x19,7,"ъыртш°р ырЄ.P ","ъыртш°р ъры№ъєы ЄюЁр ╧ (шэфхъё 7)"},//<BR>
|
||||
{1,0x22,7,"ъыртш°р Ёєё.╧(╦рЄ.G)","ъыртш°р ъры№ъєы ЄюЁр ╧ (шэфхъё 7)"},//<BR>
|
||||
{1,0x33,8,"ъыртш°р Ёєё.┴(шыш чря Єр )","ъыртш°р ъры№ъєы ЄюЁр ┴╧ (шэфхъё 8)"},//<BR>
|
||||
{1,0x1F,9,"ъыртш°р S ","ъыртш°р ъры№ъєы ЄюЁр ╧╧ (шэфхъё 9)"},//<BR>
|
||||
{1,0x47,10,"ъыртш°р ╓шЇЁ. ъырт. 7 ","ъыртш°р ъры№ъєы ЄюЁр 7 (шэфхъё 10)"},//<BR>
|
||||
{1,0x08,10,"ъыртш°р 7 ","ъыртш°р ъры№ъєы ЄюЁр 7 (шэфхъё 10)"},//<BR>
|
||||
{1,0x48,11,"ъыртш°р ╓шЇЁ. ъырт. 8 ","ъыртш°р ъры№ъєы ЄюЁр 8 (шэфхъё 11)"},//<BR>
|
||||
{1,0x09,11,"ъыртш°р 8 ","ъыртш°р ъры№ъєы ЄюЁр 8 (шэфхъё 11)"},//<BR>
|
||||
{1,0x49,12,"ъыртш°р ╓шЇЁ. ъырт. 9 ","ъыртш°р ъры№ъєы ЄюЁр 9 (шэфхъё 12)"},//<BR>
|
||||
{1,0x0A,12,"ъыртш°р 9 ","ъыртш°р ъры№ъєы ЄюЁр 9 (шэфхъё 12)"},//<BR>
|
||||
{1,0x37,13,"ъыртш°р ╓шЇЁ. ъырт.* ","ъыртш°р ъры№ъєы ЄюЁр X (шэфхъё 13)"},//<BR>
|
||||
{1,0x4E,14,"ъыртш°р ╓шЇЁ. ъырт. + ","ъыртш°р ъры№ъєы ЄюЁр + (шэфхъё 14)"},//<BR>
|
||||
{1,0x4B,15,"ъыртш°р ╓шЇЁ. ъырт. 4 ","ъыртш°р ъры№ъєы ЄюЁр 4 (шэфхъё 15)"},//<BR>
|
||||
{1,0x05,15,"ъыртш°р 4 ","ъыртш°р ъры№ъєы ЄюЁр 4 (шэфхъё 15)"},//<BR>
|
||||
{1,0x4C,16,"ъыртш°р ╓шЇЁ. ъырт. 5 ","ъыртш°р ъры№ъєы ЄюЁр 5 (шэфхъё 16)"},//<BR>
|
||||
{1,0x06,16,"ъыртш°р 5 ","ъыртш°р ъры№ъєы ЄюЁр 5 (шэфхъё 16)"},//<BR>
|
||||
{1,0x4D,17,"ъыртш°р ╓шЇЁ. ъырт. 6 ","ъыртш°р ъры№ъєы ЄюЁр 6 (шэфхъё 17)"},//<BR>
|
||||
{1,0x07,17,"ъыртш°р 6 ","ъыртш°р ъры№ъєы ЄюЁр 6 (шэфхъё 17)"},//<BR>
|
||||
{1,0x135,18,"ъыртш°р ╓шЇЁ. ъырт. / ","ъыртш°р ъры№ъєы ЄюЁр / (шэфхъё 18)"},//<BR>
|
||||
{1,0x4A,19,"ъыртш°р ╓шЇЁ. ъырт. - ","ъыртш°р ъры№ъєы ЄюЁр - (шэфхъё 19)"},//<BR>
|
||||
{1,0x21,19,"ъыртш°р ырЄ. F ","ъыртш°р ъры№ъєы ЄюЁр - (шэфхъё 19) ш Ёху. F"},//<BR>
|
||||
{1,0x4F,20,"ъыртш°р ╓шЇЁ. ъырт. 1 ","ъыртш°р ъры№ъєы ЄюЁр 1 (шэфхъё 20)"},//<BR>
|
||||
{1,0x02,20,"ъыртш°р ъырт. 1 ","ъыртш°р ъры№ъєы ЄюЁр 1 (шэфхъё 20)"},//<BR>
|
||||
{1,0x50,21,"ъыртш°р ╓шЇЁ. ъырт. 2 ","ъыртш°р ъры№ъєы ЄюЁр 5 (шэфхъё 21)"},//<BR>
|
||||
{1,0x03,21,"ъыртш°р ъырт. 2 ","ъыртш°р ъры№ъєы ЄюЁр 5 (шэфхъё 21)"},//<BR>
|
||||
{1,0x51,22,"ъыртш°р ╓шЇЁ. ъырт. 3 ","ъыртш°р ъры№ъєы ЄюЁр 3 (шэфхъё 22)"},//<BR>
|
||||
{1,0x04,22,"ъыртш°р ъырт. 3 ","ъыртш°р ъры№ъєы ЄюЁр 3 (шэфхъё 22)"},//<BR>
|
||||
{1,0x150,23,"ъыртш°р ╤ЄЁхыър тэшч ","ъры№ъєы ЄюЁр ёьхэр XY (шэфхъё 23)"},//<BR>
|
||||
{1,0x148,24,"ъыртш°р ╤ЄЁхыър ттхЁї ","ъры№ъєы ЄюЁр ╤ЄЁхыър ттхЁї (шэфхъё 24)"},//<BR>
|
||||
{1,0x12,24,"ъыртш°р ырЄ. E ","ъры№ъєы ЄюЁр ╤ЄЁхыър ттхЁї (шэфхъё 24) ш Ёху.E"},//<BR>
|
||||
{1,0x11C,24,"ъыртш°р ╓шЇЁ. Enter ","ъры№ъєы ЄюЁр ╤ЄЁхыър ттхЁї (шэфхъё 24) ш
|
||||
Ёху.E"},//<BR>
|
||||
{1,0x52,25,"ъыртш°р ╓шЇЁ. ъырт. 0 ","ъыртш°р ъры№ъєы ЄюЁр 0 (шэфхъё 25)"},//<BR>
|
||||
{1,0x0B,25,"ъыртш°р ъырт. 0 ","ъыртш°р ъры№ъєы ЄюЁр 0 (шэфхъё 25)"},//<BR>
|
||||
{1,0x53,26,"ъыртш°р ╓шЇЁ. ъырт. . ","ъыртш°р ъры№ъєы ЄюЁр , (шэфхъё 26)"},//<BR>
|
||||
{1,0x1E,26,"ъыртш°р ырЄ.A ","ъыртш°р ъры№ъєы ЄюЁр , (шэфхъё 26)ш Ёху. A"},//<BR>
|
||||
{1,0xC,27, "ъыртш°р - (ЄшЁх) ","ъыртш°р ъры№ъєы ЄюЁр /-/ (шэфхъё 27)"},//<BR>
|
||||
{1,0x30,27,"ъыртш°р ырЄ.B ","ъыртш°р ъры№ъєы ЄюЁр /-/ (шэфхъё 27)Ёху.B"},//<BR>
|
||||
{1,0x152,28,"ъыртш°р Insert ","ъыртш°р ъры№ъєы ЄюЁр ┬╧ (шэфхъё 28)"},//<BR>
|
||||
//{0xBD,28,"ъыртш°р ???? "," ъыртш°р ъры№ъєы ЄюЁр ┬╧ (шэфхъё 28)"},//<BR>
|
||||
{1,0x153,29,"ъыртш°р Delete ","ъыртш°р ъры№ъєы ЄюЁр Cx (шэфхъё 29)"},//<BR>
|
||||
{1,0x39,29,"ъыртш°р ╧Ёюсхы ","ъыртш°р ъры№ъєы ЄюЁр Cx (шэфхъё 29)"},//<BR>
|
||||
{1,0x20,29,"ъыртш°р ырЄ. D ","ъыртш°р ъры№ъєы ЄюЁр Cx (шэфхъё 29)ш Ёху.D"}//</FONT></P>
|
||||
<P align="center"><FONT size="-1"><B>╟рьхўрэш т їюфх яЁютхЁъш</B></FONT></P>
|
||||
<P align="left">╧юёыхфэшщ °ру яЁюуЁрьь√ эх тшфхэ, ¤ЄюЄ эхфюёЄрЄюъ ьюцэю єёЄЁрэшЄ№,
|
||||
хёыш эх ёыхфютрЄ№ ыюушъх ┴3-34. ╤ыютю VER100 т эрўрых ЄхъёЄр яЁюуЁрьь√ ючэрўрхЄ,
|
||||
ўЄю яЁюуЁрььр шьххЄ 100 °руют, р ёыютю VER256 - 256 °руют. ─ю эрўрыр яхЁтюую
|
||||
°рур яЁюуЁрьь√ ьюуєЄ с√Є№ чрфрэ√ эрўры№э√х чэрўхэш ЁхушёЄЁрь ярь Єш ёюўхЄрэшхь,
|
||||
эряЁшьхЁ ╧0=1.567 шыш ╧0=1,567. ╩юьхэЄрЁшщ ьюцхЄ с√Є№ фюсртыхэ т яЁхфхырї ёЄЁюъш
|
||||
яюёых фтєї эръыюээ√ї ўхЁЄ: //. ╩юьрэф√ (т юёэютэюь) ьюцэю яхўрЄрЄ№ эр Ёєёёъшь
|
||||
ш ырЄшэёъшь °ЁшЇЄюь. ┬ьхёЄю ╚╧ ьюцэю эрсЁрЄ№ IP, ip, шя, i╧ ш Є.ф..</P>
|
||||
<P align="center"><B><FONT size="+3">╟ряєёъ.</FONT></B></P>
|
||||
<P align="left"> <FONT size="+1">╤ыхтр, эшцх шэфшърЄюЁр, тъы■ўшЄ№ т√ъы■ўрЄхы№
|
||||
яшЄрэш .</FONT><BR>
|
||||
</P>
|
||||
<P><FONT size="-1"><B>╧Ёюфюыцхэшх ёыхфєхЄ ...</B></FONT></P>
|
||||
<P align="center"><FONT size="-1"><B> <BR>
|
||||
</B> </FONT> </P>
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
@@ -0,0 +1,76 @@
|
||||
╩юья№■ЄхЁэ√х шуЁ√ схч ъюья№■ЄхЁют
|
||||
|
||||
Xakep, эюьхЁ #007, ╩ры№ъєы ЄюЁэ√х шуЁ√ ёЄЁ. 70-73
|
||||
┬ырфшьшЁ ┬хёхыют (veselov@xakep.ru)
|
||||
шыы■ёЄЁрЎш - └.┼Ёхьшэ
|
||||
|
||||
|
||||
╫Єюс√ яЁшуюЄютшЄ№ Ёрує шч чрщЎр, ъръ ьшэшьєь эєцэю шьхЄ№ ъю°ъє.
|
||||
|
||||
═рЁюфэр ьєфЁюёЄ№
|
||||
|
||||
┴ыруюфрЁ эхєёЄрээющ чрсюЄх ╤ютхЄёъюую яЁртшЄхы№ёЄтр, ╧юышЄс■Ёю ╓╩ ╩╧╤╤ ш ышўэю ╦хюэшфр ╚ы№шўр ┴Ёхцэхтр яю тыхэшх яхЁёюэры№э√ї ъюья№■ЄхЁют т эр°хщ ёЄЁрэх ёшы№эю яюфчрфхЁцрыюё№. ┬ Єю тЁхь ъръ эр ╟рярфх ЄЁєф ∙шхё єцх тютё■ яюуыю∙рыш юяшєь ъюья№■ЄхЁэ√ї шуЁ, ёрь√щ яЁюуЁхёёштэ√щ т ьшЁх ёютхЄёъшщ эрЁюф яю ёЄрЁшэъх чрсштры ъючыр, фєыё т яюфъшфэюую фєЁрър шыш ьюЁ∙шы Ёхяє эрф °рїьрЄрьш. ╬фэръю т ёхЁхфшэх тюё№ьшфхё Є√ї уюфют эют√щ тюцф№ ╤ютхЄёъюую ╤ю■чр ╠шїршы ╤хЁуххтшў ├юЁсрўхт яЁшчтры ёЄЁрэє ъ яютры№эющ ъюья№■ЄхЁэющ уЁрьюЄэюёЄш, ўхь ёЄЁрэр с√ыр ёшы№эю ючрфрўхээр. ╪шЁюъшх ьрёё√ ЄЁєф ∙шїё уюЄют√ с√ыш юётрштрЄ№ ¤Єш ёрь√х ╧╩, тюЄ Єюы№ъю уфх шї тч Є№? ═р яЁюёЄюЁрї ╤ЄЁрэ√ ╤ютхЄют эхъюЄюЁюх (яЁшўхь тхё№ьр ьрыюх) ъюышўхёЄтю яхЁёюэры№э√ї ъюья№■ЄхЁют ъ Єюьє тЁхьхэш юёхыю Єюы№ъю т тхё№ьр чръЁ√Є√ї ═╚╚ фр эршсюыхх яЁштшыхушЁютрээ√ї єўхсэ√ї чртхфхэш ї. ═ю "ярЁЄш ёърчрыр эрфю, ъюьёюьюы юЄтхЄшы хёЄ№!" ═ршсюыхх я√Єышт√х уЁрцфрэх тёъюЁх юсэрЁєцшыш, ўЄю ╧╩ т ёЄЁрэх шьх■Єё т фюёЄрЄюўэ√ї ъюышўхёЄтрї... яЁртфр, Ёрё°шЇЁют√трырё№ ¤Єр рссЁхтшрЄєЁр эх "╧хЁёюэры№э√щ ╩юья№■ЄхЁ", р "╧ЁюуЁрььшЁєхь√щ ьшъЁю╩ры№ъєы ЄюЁ".
|
||||
|
||||
╧юёъюы№ъє ёЁртэштрЄ№ с√ыю яЁръЄшўхёъш эх ё ўхь, юяЁхфхышЄ№, ўЄю ╧╩ ш Ё фюь эх ыхцры ё яюфышээ√ь ъюья№■ЄхЁюь, с√ыю эхы№ч . ┬юЄ яюўхьє хую тючтхыш т ¤ЄюЄ Ёрэу, ш яю тшыё яхЁт√щ т ╨юёёшш "╩ыєс ╩юья№■ЄхЁэ√ї ╚уЁ". ╬сюёэютрыё юэ эр ёЄЁрэшЎрї цєЁэрыр "╥хїэшър - ╠юыюфхцш" ш яЁшьхЁэю фю 1990-ую уюфр с√ы яюёт ∙хэ шёъы■ўшЄхы№эю ъры№ъєы ЄюЁрь.
|
||||
|
||||
╫Єю цх яЁхфёЄрты ыр ¤Єр яхЁтр т эр°хщ ёЄЁрэх шуЁютр яырЄЇюЁьр? ─р ёрь√щ юс√ўэ√щ ъры№ъєы ЄюЁ фы эрєўэ√ї ЁрёўхЄют, уфх, ъЁюьх тючьюцэюёЄш т√ўшёы Є№ ёшэєё√, ыюурЁшЇь√ ш яЁюўшх Єрэухэё√, с√ыр тючьюцэюёЄ№ ёюёЄртшЄ№ яЁюуЁрььє т фхт эюёЄю ёхь№ юяхЁрЄюЁют. ╧ЁюуЁрьь√ ьюуыш с√Є№ фютюы№эю ёыюцэ√ьш, яюёъюы№ъє шьхышё№ юяхЁрЄюЁ√ Ўшъыют, єёыютэ√ї ш схчєёыютэ√ї яхЁхїюфют, эє ш яЁюўшх эхюсїюфшь√х тх∙ш. ┼ёЄхёЄтхээю, шьхырё№ ш юяхЁрЄштэр ярь Є№, яЁртфр, юэр юуЁрэшўштрырё№ ўхЄ√ЁэрфЎрЄ№■ ўхщърьш. ╥ръ ъръ т ъры№ъєы ЄюЁх ёє∙хёЄтютрыю цхёЄъюх Ёрчфхыхэшх ярь Єш, юЄтюфшьющ яхЁхьхээ√ь ш яЁюуЁрььх, фр х∙х с√ыю ьэюцхёЄтю чр°шЄ√ї т ╧╟╙ яюфяЁюуЁрьь, эрчтрЄ№ Єюўэ√щ ЁрчьхЁ ╬╟╙ эхтючьюцэю. ═ю, яхЁхтюф эр ёютЁхьхээ√щ ч√ъ, ьюцэю ёърчрЄ№, ўЄю юэ эх яЁхт√°ры 500 срщЄ.
|
||||
|
||||
╚ тюЄ эр ¤Єющ-Єю "яырЄЇюЁьх" с√ыш Ёхрышчютрэ√ яЁръЄшўхёъш тёх ёє∙хёЄтютрт°шх Єюуфр црэЁ√ ъюья№■ЄхЁэ√ї шуЁ! ═ршсюы№°хх ЁрчтшЄшх яюыєўшыш ёшьєы ЄюЁ√ ш ёЄЁрЄхушш, эю эх с√ыш чрс√Є√ рЁърф√, ыюушўхёъшх шуЁ√ ш фрцх Ёюыхт√х. ╧юцрыєщ, Єюы№ъю ътхёЄ т ўшёЄюь тшфх юЄёєЄёЄтютры, їюЄ эхъюЄюЁ√х ътхёЄюяюфюсэ√х шуЁ√ шьхышё№.
|
||||
|
||||
═рфю ёърчрЄ№, ўЄю фы шуЁ эр ъры№ъєы ЄюЁрї эєцэю с√ыю юсырфрЄ№ шчЁ фэющ ЇрэЄрчшхщ. ═є ёрь яюёєфш, Єхсх эх фрхЄё эшўхую, ъЁюьх уюы√ї ЎшЇЁ, р Є√ эр шї юёэютх фюыцхэ яЁхфёЄртшЄ№ ёхсх ёюёЄю эшх єяЁрты хьюую юс·хъЄр, ётюх яюыюцхэшх т шуЁютюь ьшЁх ш тёх юёЄры№эюх. ╧Ёртфр, т эхъюЄюЁ√ї шуЁрї яючтюы ыюё№ ЁшёютрЄ№ ъръшх-Єю ёїхь√ ш уЁрЇшъш, чряюыэ Є№ ъръшх-Єю ЄрсышЎ√, эю ьюцэю с√ыю юсющЄшё№ ш схч тёхую ¤Єюую.
|
||||
|
||||
╧ю ёЄєяхэ№ърь т эхсю
|
||||
|
||||
┬ёх эрўрыюё№ ё ьрыхэ№ъющ яЁюуЁрььєы№ъш яюф эрчтрэшхь "╦єэюыхЄ", ъюЄюЁр юўхэ№ с√ёЄЁю т√Ёюёыр т яюыэюЎхээє■ шуЁє "╨хщё ╩юэ-╥шъш". ┬юЄ хх ё■цхЄ: эхсюы№°ющ фтєїьхёЄэ√щ ъюёьшўхёъшщ ряярЁрЄ ёЄрЁЄєхЄ ё яютхЁїэюёЄш ╦єэ√ ш т√їюфшЄ эр ъЁєуютє■ юЁсшЄє. ╤ютхЁ°рхЄ їшЄЁ√х ьрэхтЁ√ яю ёсышцхэш■ ё юЁсшЄры№эющ ёЄрэЎшхщ ш т ъюэЎх ъюэЎют ёЄ√ъєхЄё ё эхщ. ╧юяюыэ хЄ чрярё√ Єюяыштр, юЄЁ√трхЄё юЄ ёЄрэЎшш ш ёютхЁ°рхЄ яхЁхыхЄ ъ ╟хьых. ┬їюфшЄ т рЄьюёЇхЁє, ЄюЁьючшЄё , яырэшЁєхЄ, р яюЄюь ёютхЁ°рхЄ яюўЄш ь уъє■ яюёрфъє эр яютхЁїэюёЄ№ юъхрэр.
|
||||
|
||||
╥хяхЁ№ яюяЁюёш ы■сюую яЁюуЁрььшёЄр эряшёрЄ№ яю ¤Єюьє ё■цхЄє ъюёьшўхёъшщ ёшьєы ЄюЁ, ЁрчьхЁ ъюЄюЁюую эх яЁхт√°ры с√ 500 срщЄ. ╙ц эх чэр■, ўЄю шьхээю юэ юЄтхЄшЄ, эю тюЄ Єхсх эртхЁэ ър яЁшфхЄё яютЄюЁшЄ№ ЇЁрчє ╧ Єрўър шч ёЄрЁюую рэхъфюЄр: "╬щ! └ ъєфр ¤Єю яю°хы?" ┬ёх яЁртшы№эю, тьхёЄшЄ№ ёЄюы№ъю Ёрчэ√ї тх∙хщ т ёЄюы№ єчъшх Ёрьъш яюяЁюёЄє эхтючьюцэю. ╥хь эх ьхэхх, Єрър шуЁр с√ыр ёфхырэр.
|
||||
|
||||
╨х°хэшх с√ыю ухэшры№эю яЁюёЄ√ь (ъръ, тяЁюўхь, ш тёх, ўЄю ёт чрэю ё шуЁрьш эр ╧╩): ёфхырЄ№ ёшьєы ЄюЁ яюїюфют√ь ш ёюёЄю ∙шь шч эхёъюы№ъшї яюёыхфютрЄхы№эю ттюфшь√ї яЁюуЁрьь. ─р, фр, шуЁютющ яЁюЎхёё с√ы Ёрчфхыхэ эр їюф√, уфх т эрўрых ттюфшышё№ шёїюфэ√х фрээ√х, р т ъюэЎх яюыєўрышё№ ъююЁфшэрЄ√ ш ёюёЄю эшх ыхЄрЄхы№эюую ряярЁрЄр. ╤ърцхь, ттюфш°№ тЁхь т 10 ёхъєэф, тхъЄюЁ Є уш 45 уЁрфєёют, ъюышўхёЄтю ёцшурхьюую Єюяыштр 100 ъшыюуЁрьь ш эрцшьрх°№ ъэюяъє "╤/╤" (╤ЄрЁЄ/╤Єюя). ╩ры№ъєы ЄюЁ ярЁє-ЄЁющъє ьшэєЄ цєццшЄ, р яюЄюь ёююс∙рхЄ, ўЄю Є√ єёях°эю тЁхчрыё т ╦єэє ш Єтюш юёЄрэъш яюъю Єё эр уыєсшэх 18-Єш ьхЄЁют.
|
||||
|
||||
└ юс∙шщ шуЁютющ яЁюЎхёё т√уы фхы Єръ: эрсшЁрх°№ яхЁтє■ яЁюуЁрььє, ё хх яюью∙№■ юЄЁ√трх°№ё юЄ яютхЁїэюёЄш ╦єэ√ ш т√їюфш°№ эр юЁсшЄє. ╟ряюьшэрх°№ т ўхщърї ярь Єш ярЁрьхЄЁ√ юЁсшЄ√, ттюфш°№ ёыхфє■∙є■ яЁюуЁрььє (тЁєўэє■ ё ъыртшрЄєЁ√!) ш ёютхЁ°рх°№ ьрэхтЁ√ ёсышцхэш ё юЁсшЄры№эющ ёЄрэЎшхщ. ╧юЄюь ёыхфєхЄ ЄЁхЄ№ яЁюуЁрььр, ё яюью∙№■ ъюЄюЁющ ёЄ√ъєх°№ё ёю ёЄрэЎшхщ, эє ш Єръ фрыхх. ╧юыэюёЄ№■ шуЁр ёюёЄю ыр, хёыш ьэх эх шчьхэ хЄ ярь Є№, шч °хёЄш яЁюуЁрьь, яюёыхфэ шч ъюЄюЁ√ї ьюфхышЁютрыр яюыхЄ схчьюЄюЁэюую ряярЁрЄр т рЄьюёЇхЁх.
|
||||
|
||||
╚ьхээю юэр яюёыєцшыр юёэютющ фы ёыхфє■∙хщ ёхЁшш ёшьєы ЄюЁют - ёрьюыхЄэ√ї. ╧хЁтющ с√ыр яЁюуЁрььр эр Єхьє Ёрёёърчр ╬ыфЁшфцр "╧юёыхфэшщ ф■щь". ╧Ёртфр, ёрцрЄ№ т эхщ эєцэю с√ыю эх ыхуъшщ ёрьюыхЄшъ, р уЁюьрфэ√щ р¤Ёюсєё, тёх цх юёЄры№э√х ЄЁрушўхёъшх ъюыышчшш юёЄрышё№ т ЎхыюёЄэюёЄш. └ тёъюЁх яюфюёяхы ш ёшьєы ЄюЁ ётхЁїыхуъюую ёрьюыхЄр, эр эхь ьюцэю с√ыю эх Єюы№ъю ёютхЁ°рЄ№ тчыхЄ√ ш яюёрфъш, эю ш т√яюыэ Є№ ьхЁЄтє■ яхЄы■! ╧Ёшўхь яЁхцфх ўхь сЁюёшЄ№ё т ¤Єє ртрэЄ■Ёє, эєцэю с√ыю ъръ ёыхфєхЄ яюфуюЄютшЄ№ё , шэрўх ёрьюыхЄ ётрыштрыё т °ЄюяюЁ ш Ёрчсштрыё .
|
||||
|
||||
┬ююс∙х, ёшьєы ЄюЁют с√ыю ёючфрэю тхышъюх ьэюцхёЄтю - шьшЄшЁютрышё№ фшЁшцрсыш ё ЄхьяхЁрЄєЁэ√ь єяЁртыхэшхь, ярЁєёэ√х сєхЁр, уыєсюъютюфэ√х ряярЁрЄ√ ш фрцх Єръшх ¤ъчюЄшўхёъшх ёЁхфёЄтр яхЁхфтшцхэш ъръ уЁртшыхЄ√. ═х с√ыю Єюы№ъю ёшьєы ЄюЁют эрчхьэ√ї ьр°шэ, яю юўхэ№ яЁюёЄющ яЁшўшэх - шуЁрЄ№ т эшї т яюїюфютюь Ёхцшьх ёютёхь єц эх шэЄхЁхёэю. ╬фэръю тёъюЁх ¤Єр ЄЁєфэюёЄ№ с√ыр яЁхюфюыхэр. ╧Ёртфр, яю ёютЁхьхээющ ъырёёшЇшърЎшш шуЁ√ фы ъры№ъєы ЄюЁр, °хф°шх т Ёхры№эюь тЁхьхэш, ёыхфєхЄ юЄэхёЄш ъ рЁърфрь.
|
||||
|
||||
╤шэєёюшфры№э√щ Ёєы№
|
||||
|
||||
╧юяЁюсєщ Ёх°шЄ№ Єръє■ чрфрўє: яхЁхф Єюсющ ъры№ъєы ЄюЁ, т яЁюЎхёёх т√ўшёыхэшщ ЁхрушЁє■∙шщ Єюы№ъю эр эрцрЄшх ъэюяъш "╤/╤" ш эхяЁхЁ√тэю т√тюф ∙шщ тё■ яЁюуюэ хьє■ ўхЁхч эхую шэЇюЁьрЎш■ эр фшёяыхщ (т√уы фшЄ ¤Єю ъръ цєЄъюх ьхы№ърэшх ЎшЇЁ). ╥хсх эєцэю ёючфрЄ№ фы ¤Єюую ъры№ъєы ЄюЁр шуЁє, шфє∙є■ т Ёхцшьх Ёхры№эюую тЁхьхэш. ┼ёЄ№ ъръшх-эшсєф№ ёююсЁрцхэш ?
|
||||
|
||||
╦рфэю, фр■ яюфёърчъє. ╩ры№ъєы ЄюЁ ьюцхЄ тхёЄш т√ўшёыхэш єуыют√ї тхышўшэ т уЁрфєёрї, Ёрфшрэрї шыш уЁрфрї (¤Єю ъюуфр яЁ ьющ єуюы Ёртхэ 100 уЁрфєёрь; уютюЁ Є, яЁшфєьрэю ёяхЎшры№эю фы рЁьхщёъшї ёЄрЁ°шэ, ўЄюс√ ё Єюўъющ ъшяхэш тюф√ эх яєЄрыш), яЁшўхь яхЁхъы■ўрЄ№ ё юфэюую Ёхцшьр эр фЁєующ ьюцэю яЁ ью т яЁюЎхёёх т√ўшёыхэшщ. ╙ёхъ шфх■? ╠юыюфхЎ! └ фы Єхї, ъЄю т Єрэъх, ЁрёЄюыъє■ яюфЁюсэю.
|
||||
|
||||
╫Єюс√ ёююс∙шЄ№ ъры№ъєы ЄюЁє, ўхую Є√ юЄ эхую ўЄю-Єю їюўх°№, эєцэю ттхёЄш т яЁюуЁрььє т√ўшёыхэшх їюЄ с√ ёшэєёр 90. ┼ёыш ёўхЄ шфхЄ т уЁрфєёрї, яюыєўрхЄё юфэр тхышўшэр, т Ёрфшрэрї - фЁєур , эє р т уЁрфрї ш тютёх ЄЁхЄ№ . ╧ЁютхЁшт т эєцэюь ьхёЄх яюыєўхээє■ тхышўшэє, ъры№ъєы ЄюЁ єчэрхЄ, ўЄю Ёєы№ яютхЁэєЄ тяЁртю, шыш, Єрь, яхфры№ урчр єЄюяыхэр фю юЄърчр.
|
||||
|
||||
└ ъръ с√Є№ ё т√тюфюь шэЇюЁьрЎшш? ╥юцх яЁюёЄю. ═єцэю яютЄюЁшЄ№ т√тюф ёююЄтхЄёЄтє■∙шї ЎшЇЁ эр фшёяыхщ эх ьхэхх ЄЁхї Ёрч (Єю хёЄ№ тёЄртшЄ№ т яЁюуЁрььє ЄЁш яєёЄ√ї юяхЁрЄюЁр), Єюуфр ўхыютхўхёъшщ уырч єёяхтрхЄ ЁрёёьюЄЁхЄ№ шї. ┬ ъырёёшўхёъшї рЁърфрї, ёърцхь, т уюэърї ё яЁхя ЄёЄтш ьш, т√тюфшырё№ ъюьсшэрЎш эєыхщ, хфшэшЎ ш фтюхъ. ═єыш юсючэрўрыш ётюсюфэє■ фюЁюує, хфшэшЎ√ ь√ ш ърьэш, р фтющъш - ьр°шэ√ ёюяхЁэшъют, ш эєцэю с√ыю юяшёрээ√ь ёяюёюсюь ьхцфє эшьш ыртшЁютрЄ№.
|
||||
|
||||
┬ сюыхх ёыюцэ√ї рЁърфрї, Єшяр єяЁртыхэш ярЁєёэющ їЄющ, т√тюфшырё№ хх ёъюЁюёЄ№ (фтр чэрър), ъєЁё (х∙х фтр чэрър), ёъюЁюёЄ№ тхЄЁр (фтр чэрър) ш хую эряЁртыхэшх (яюёыхфэшх фтр чэрър). ╚ тюЄ чр ёўшЄрээ√х ёхъєэф√ эєцэю с√ыю ёўшЄрЄ№ тюё№ьшчэрўэюх ўшёыю, ёююсЁрчшЄ№, ъръшх хую ЎшЇЁ√ ўЄю ючэрўр■Є, ш фрЄ№ эєцэє■ ъюьрэфє. ╧юцрыєщ, ¤Єш ъры№ъєы ЄюЁэ√х рЁърф√ с√ыш яюёыюцэхх ёютЁхьхээ√ї.
|
||||
|
||||
┼фшэёЄтю ш сюЁ№ср яЁюЄштюяюыюцэюёЄхщ
|
||||
|
||||
┬юЄ єц ўЄю, ърчрыюё№ с√, эхтючьюцэю тЄшёэєЄ№ т Ёрьъш фхт эюёЄр ёхьш юяхЁрЄюЁют ш ўхЄ√ЁэрфЎрЄш ўххъ ярь Єш, Єръ ¤Єю ьшЁ ёЄЁрЄхушш. ╬фэръю юэ яЁхъЁрёэю Єєфр тыхч. ╧хЁтр ёЄЁрЄхушўхёър шуЁр эрч√трырё№ "╬ёЄЁют" ш фютюы№эю Єюўэю, їюЄ ш ёю чэрўшЄхы№э√ьш єяЁю∙хэш ьш, ьюфхышЁютрыр єяЁртыхэшх эхсюы№°шь юёЄЁютэ√ь уюёєфрЁёЄтюь. ┴√ыш Єрь эрыюуш, ёюсшЁрхь√х ё цшЄхыхщ, фюїюф√ юЄ ЄєЁшчьр ш юЄ яЁюь√°ыхээюёЄш. ╤є∙хёЄтютрыш ьхЄюф√ яют√°хэш тёхї ¤Єшї фюїюфют. ╧Ёшўхь яЁюь√°ыхээюёЄ№ чруЁ чэ ыр юъЁєцр■∙є■ ёЁхфє ш ьх°рыр ЄєЁшчьє, р цшЄхыш с√ыш яюёЄю ээю ўхь-Єю эхфютюы№э√.
|
||||
|
||||
═рфю ёърчрЄ№, рфьшэшёЄЁрЎш ╩ыєср яЁхъЁрёэю юЁшхэЄшЁютрырё№ т ЄЁхсютрэш ї Єхъє∙хую ьюьхэЄр, яю¤Єюьє Єръє■ ъырёёютю ўєцфє■ шуЁє т√яєёЄшЄ№ эх ьюуыр, яЁш°ыюё№ яюфтхЁуэєЄ№ хх чэрўшЄхы№э√ь фюЁрсюЄърь. ═р фтюЁх ёЄю ы єцх 1986-щ уюф, ёЄЁрэх с√ыю тхыхэю яютхЁэєЄ№ё ышЎюь ъ ёхы№ёъюьє їюч щёЄтє, яю¤Єюьє шуЁр эрч√трырё№ "╙Ёюцрщ". ╠юфхышЁютрыюё№ т эхщ єяЁртыхэшх ъюыїючюь, яЁшўхь фютюы№эю Єюўэю, ё чрёєїрьш, эр°хёЄтшхь уЁ√чєэют, ЁрёїшЄшЄхы ьш ёюЎшрышёЄшўхёъющ ёюсёЄтхээюёЄш ш тёхь яЁюўшь. └ х∙х ўхЁхч уюф, ъюуфр эр°ш яЁртшЄхыш ючрсюЄшышё№ ъююяхЁрЄштэющ фх Єхы№эюёЄ№■, ¤Єр цх шуЁр с√ыр яЁхюсЁрчютрэр т "╩ююяхЁрЄштэюх ърЇх" (тюЄ юэр, яЁхф°хёЄтхээшЎр ьхыъюяЁючютёъюую "╧шЎр ╥рщъєэр"!).
|
||||
|
||||
╧ючфэхх яю тшышё№ трЁшрэЄ√ шуЁ√, яючтюы т°шх єяЁрты Є№ сюы№°шь ьрурчшэюь, чртюфюь, ртЄюЁхьюэЄэющ ьрёЄхЁёъющ ш фрцх яЁхёЄєяэющ °рщъющ. ╧Ёртфр, тёх ¤Єю с√ыш яЁюфєъЄ√ эрЁюфэюую ЄтюЁўхёЄтр ш эр ёЄЁрэшЎ√ ъыєср юэш эх яюярыш.
|
||||
|
||||
═шўхую т ¤Єюь яхЁхўэх шуЁ эх єыртыштрх°№? ═є ъръ цх, юфшэ ш ЄюЄ цх юёэютэющ рыуюЁшЄь шуЁ√ яючтюы хЄ ьюфхышЁютрЄ№ фх Єхы№эюёЄ№ ЁєъютюфшЄхы уюёєфрЁёЄтр, ъЁєяэюую (ш ьхыъюую) їюч щёЄтхээшър, ъююяхЁрЄюЁр ш ьрЇшючш. ╠юцэю ёърчрЄ№, ўЄю эр ¤Єюь яЁюёЄюь яЁшьхЁх с√ыю яюърчрэю, ўЄю яЁшэЎшяшры№э√ї Ёрчышўшщ ьхцфє тёхьш эшьш эхЄ. ╬ўхэ№ ёъюЁю ёЄЁрэх яЁш°ыюё№ єсхфшЄ№ё т ¤Єюь эр ёюсёЄтхээюь юя√Єх.
|
||||
|
||||
┬яЁюўхь, ¤Єю эх шьххЄ юЄэю°хэш ъ яЁхфьхЄє эр°хую ЁрёёьюЄЁхэш , яю¤Єюьє ёърцє ыєў°х ярЁє ёыют ю тюЁухщьрї. ╥єЄ, ёюсёЄтхээю уютюЁ , тёх юсёЄюшЄ яЁюёЄю. ─хыю т Єюь, ўЄю эр ╟рярфх тюЁухщь√ яю тшышё№ чрфюыую фю яю тыхэш ъюья№■ЄхЁют. ┴√ыш ¤Єю Єръшх эрёЄюы№э√х шуЁ√, Ёрч√уЁ√трхь√х эр ърЁЄюээюь яюых яырёЄьрёёют√ьш Їш°ърьш. ╫Єюс√ тэхёЄш т эшї ¤ыхьхэЄ юс·хъЄштэюёЄш ш ёыєўрщэюёЄш, яЁшьхэ ышё№ шуЁры№э√х ъюёЄш. ╩ръ Є√ яюэшьрх°№, яхЁхтхёЄш тёх ¤Єю эр ч√ъ ъры№ъєы ЄюЁр эхёыюцэю. ╥ю хёЄ№ т яхЁт√ї тюЁухщьрї ёюїЁрэ ыюё№ ш яюых, ш Їш°ъш, р ъры№ъєы ЄюЁ Єюы№ъю сюыхх-ьхэхх юс·хъЄштэю ЁрёёўшЄ√тры Ёхчєы№ЄрЄ√ ёЄюыъэютхэш фтєї юЄЁ фют. ╧ючфэхх яю тшышё№ сюыхх яЁюфтшэєЄ√х шуЁ√, уфх тчршьэюх яюыюцхэшх тющёъ, єЁютхэ№ шї ёэрсцхэш ш яюфуюЄютъш, ьюЁры№ ш тёх яЁюўхх їЁрэшыюё№ т ярь Єш ъры№ъєы ЄюЁр, р шуЁюъє юёЄртрыюё№ Єюы№ъю юЄфртрЄ№ ъюьрэф√, рЄръютрЄ№ Єръющ-Єю юЄЁ ф эхяЁш Єхы Єръшь-Єю ётюшь юЄЁ фюь.
|
||||
|
||||
╞хёЄюъшх шуЁ√
|
||||
|
||||
┬ юсырёЄш ыюушўхёъшї шуЁ ъры№ъєы ЄюЁ тёЄєяшы эр ЄЁюяє, ъюЄюЁє■ хьє, яю шфхх, эшъръ эх тючьюцэю с√ыю юфюыхЄ№. ─хыю т Єюь, ўЄю эр°ш єьхы№Ў√ эх ёЄрыш ьюфхышЁютрЄ№ тё ъшх ярччы√, ъЁхёЄшъш-эюышъш шыш "╠юЁёъющ сющ", юэш ёЁрчє цх тч ышё№ чр °рїьрЄ√ ш °р°ъш!
|
||||
|
||||
┬юЄ тхф№ ўЄю шэЄхЁхёэю, тёхую чр эхёъюы№ъю ьхё Ўхт фю яю тыхэш яхЁтющ °рїьрЄэющ яЁюуЁрьь√ юфшэ шч юЄЎют-юёэютрЄхыхщ ъыєср эр тюяЁюё, ъюуфр Єръшх шуЁ√ яю т Єё , юЄтхЄшы ЇЁрчрьш: "═х тяюыэх юсюёэютрээр тхЁр тю тёхьюує∙хёЄтю ╧╩", "╩ръшх Єрь °рїьрЄ√! ╧ш°ш ўЄю яюярыю, їюфш ъръ яюярыю!" ╧ю ёўрёЄ№■, яюъыюээшъют ╧╩ ¤Єю эх юсхёъєЁрцшыю. ╩юэхўэю, фю яюыэюЎхээ√ї °рїьрЄэ√ї яЁюуЁрьь фхыю Єръ ш эх фю°ыю, эю єтхЁхэ, ўЄю эх шч-чр ёырсюёЄш ╧╩ шыш эхфюёЄрЄър т эр°хщ ёЄЁрэх ёрьюЁюфъют, р Єюы№ъю шч-чр яЁш°хёЄтш т эхх ZX Spectrum ш яЁюўхщ шэюёЄЁрээющ чрЁрч√.
|
||||
|
||||
╧хЁтр °рїьрЄэр яЁюуЁрььр яЁхфырурыр яюёЄртшЄ№ ьрЄ ёыюэюь ш ъюэхь ўхЁэюьє ъюЁюы■, єяЁрты хьюьє ╧╩. ═рфю ёърчрЄ№, ўхЁэ√х юсюЁюэ ышё№ тхё№ьр шёъєёэю, Єръ ўЄю яютючшЄ№ё яЁшїюфшыюё№ эхьрыю. ╧юЄюь с√ыш яЁюуЁрьь√, т ъюЄюЁ√ї ╧╩ ёЄртшы ырф№хщ шыш ырф№хщ ш ёыюэюь ьрЄ ъюЁюы■, єяЁрты хьюьє ўхыютхъюь. ─юыцхэ юЄьхЄшЄ№, ¤Єю с√ыш юўхэ№ юсшфэ√х яЁюуЁрьь√, юфшэ ьющ яЁш Єхы№, сюы№°ющ ы■сшЄхы№ °рїьрЄ, чрсЁюёшы шї эртёхуфр яюёых Єюую ъръ "яЁюъы Єр цхыхч ър" яюёЄртшыр хьє ьрЄ эр фхт Єюь їюфє.
|
||||
|
||||
╧юЄюь яю°ыш °рїьрЄюяюфюсэ√х шуЁ√, "┬юыъш ш ютЎ√", "╙ъЁю∙хэшх ьєёЄрэур" ш фЁєушх. ═ръюэхЎ, яю тшышё№ ш °р°хўэ√х яЁюуЁрьь√, т ъюЄюЁ√ї ьюцэю с√ыю ё√уЁрЄ№ яюыэюЎхээє■ ярЁЄш■. ╬ эшї эєцэю ёърчрЄ№ юёюсю.
|
||||
|
||||
─ы эрўрыр юўхЁхфэр чрфрўър эр ёююсЁрчшЄхы№эюёЄ№. ╪р°хўэр фюёър ёюёЄюшЄ шч 64-ї ъыхЄюъ (хёыш ёўшЄрЄ№ Єюы№ъю шёяюы№чєхь√х ўхЁэ√х - 32-ї), т шуЁх єўрёЄтєхЄ яю 12 °р°хъ ё ърцфющ ёЄюЁюэ√. ╥хяхЁ№ яюяЁюсєщ чряшїэєЄ№ тёх ¤Єю т 14 ЁхушёЄЁют, фр х∙х ярЁє-ЄЁющъє эєцэю юёЄртшЄ№ фы тё ъшї тёяюьюурЄхы№э√ї т√ўшёыхэшщ. ═є ўЄю, ъЁ√°р яюхїрыр? ╦рфэю, эх сєфє ЄюьшЄ№.
|
||||
|
||||
╧ЁюёЄхщ°шщ ш эршсюыхх ¤ъюэюьэ√щ ёяюёюс чръы■ўрхЄё т Єюь, ўЄюс√ їЁрэшЄ№ эх ёюёЄю эшх ърцфющ ъыхЄюўъш, р ёюёЄю эшх Ё фют. ╥ю хёЄ№ чряшё√трхь т яхЁт√щ ЁхушёЄЁ, ёърцхь, 1020, ¤Єю чэрўшЄ, ўЄю т яхЁтющ ъыхЄъх яхЁтюую Ё фр ёЄюшЄ схыр °р°ър, тЄюЁр ш ўхЄтхЁЄр яєёЄ√, р т ЄЁхЄ№хщ ёЄюшЄ ўхЁэр . ─ы юяшёрэш тёхщ фюёъш яюэрфюсшЄё тёхую тюёхь№ ЁхушёЄЁют. ═ю ьюцэю ш ¤Єю ъюышўхёЄтю ёюъЁрЄшЄ№ тфтюх, хёыш т юфэюь ЁхушёЄЁх їЁрэшЄ№ ёЁрчє фтр Ё фр, эхўхЄэ√щ ъръ Ўхыє■ ўрёЄ№ ўшёыр, р ўхЄэ√щ ъръ фЁюсэє■. ┬ююс∙х-Єю хёЄ№ тючьюцэюёЄ№ чряшїэєЄ№ тё■ фюёъє т фтр ЁхушёЄЁр, яюяЁюсєщ ёрь ёююсЁрчшЄ№, ъръ.
|
||||
|
||||
═хёс√т°шхё эрфхцф√
|
||||
|
||||
╪р°хўэ√х яЁюуЁрьь√ с√ыш, ьюцэю ёърчрЄ№, ыхсхфшэющ яхёэхщ ╧╩. ╧Ёртфр, яюф чрэртхё, яю тшырё№ яюўЄш эрёЄю ∙р RPG "╤ЄЁрэр ╘рэЄрчш ", RTS "╧юыхЄ °ьхы ", рЁърфр "╬їюЄр эр ёърыюхфр" ш яю°руютр ёЄЁрЄхуш "╧х∙хЁр ёюъЁютш∙". ╬фэръю ё чрярфр (ш тюёЄюър) эр ёЄЁрэє єцх эрфтшэєышё№ тё ъшх Єрь "╩юььюфюЁ√" ш "└ьшуш", р чр эрьш ьр ўшы ш ёрь IBM PC. ╩ръ Є√ чэрх°№, ╤ЄЁрэр ╤ютхЄют ¤Єюую эрЄшёър эх т√фхЁцрыр ш Ёрчтрышырё№, яюф хх юсыюьърьш с√ы яюуЁхсхэ ш ёъЁюьэ√щ ьшъЁюъры№ъєы ЄюЁ. └ цры№, ъЄю чэрхЄ, фю ъръшї с√ т√ёюЄ фю°ыю эрЁюфэюх ЄтюЁўхёЄтю, ъръшх эхь√ёышь√х шфхш тюяыюЄшышё№ с√ т фхт эюёЄр ёхьш °рурї яЁюуЁрьь√ ш ўхЄ√ЁэрфЎрЄш ўхщърї ярь Єш?
|
||||
@@ -0,0 +1,90 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3c//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
<head>
|
||||
<title>╤шёЄхьр ъюьрэф яЁюуЁрььшЁєхь√ї ьшъЁюъры№ъєы ЄюЁют ┴3-34 ╠╩-54 ╠╩-56</title>
|
||||
<meta name=KEYWORDS content="ёшёЄхьр ъюьрэф яЁюуЁрььшЁєхь√щ ъры№ъєы ЄюЁ ьшъЁюъры№ъєы ЄюЁ ┴3 ┴╟ ╠╩ 34 54 56">
|
||||
<meta name=DESCRIPTION content="╤шёЄхьр ъюьрэф ёютхЄёъшї яЁюуЁрььшЁєхь√ї ьшъЁюъры№ъєы ЄюЁют ┴3-34, ╠╩-54, ╠╩-56">
|
||||
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
|
||||
<LINK REL=STYLESHEET TYPE="text/css" HREF="╤шёЄхьр ъюьрэф яЁюуЁрььшЁєхь√ї ьшъЁюъры№ъєы ЄюЁют ┴3-34 ╠╩-54 ╠╩-56_files/s2008000.css">
|
||||
</head>
|
||||
<body bgcolor="#CCCCCC" link="#0000CC" alink="#0000CC" background="╤шёЄхьр ъюьрэф яЁюуЁрььшЁєхь√ї ьшъЁюъры№ъєы ЄюЁют ┴3-34 ╠╩-54 ╠╩-56_files/b4000000.gif">
|
||||
<CENTER>
|
||||
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=5 width=80% background="pict/t.gif">
|
||||
<TBODY>
|
||||
<TR>
|
||||
<TD><h1>╤шёЄхьр ъюьрэф ╧╠╩ ┴3-34, ╠╩-54, ╠╩-56</h1></TD>
|
||||
</TR>
|
||||
<TR>
|
||||
<TD><hr><a href="http://www.semico.ru/" title="╤рщЄ ═╧╧ ╤┼╠╚╩╬">
|
||||
├ыртэр
|
||||
</a>/
|
||||
<a href="http://mk.semico.ru/index.htm" title="▌╩┬╠">
|
||||
▌╩┬╠
|
||||
</a>/
|
||||
<a href="http://mk.semico.ru/oinfo.htm" title="╬с∙р шэЇюЁьрЎш ">
|
||||
╬с∙р шэЇюЁьрЎш
|
||||
</a>
|
||||
<SCRIPT src="╤шёЄхьр ъюьрэф яЁюуЁрььшЁєхь√ї ьшъЁюъры№ъєы ЄюЁют ┴3-34 ╠╩-54 ╠╩-56_files/s0000000.js" language="JavaScript1.2"></SCRIPT>
|
||||
<hr>
|
||||
</TD>
|
||||
</TR>
|
||||
</TBODY></TABLE>
|
||||
|
||||
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=5 width=80% background="pict/t.gif">
|
||||
<TBODY>
|
||||
<TR>
|
||||
<TD><br>
|
||||
|
||||
<IMG src="╤шёЄхьр ъюьрэф яЁюуЁрььшЁєхь√ї ьшъЁюъры№ъєы ЄюЁют ┴3-34 ╠╩-54 ╠╩-56_files/com_b334.jpg" width=567 height=326 border=0 alt="╤шёЄхьр ъюьрэф ёютхЄёъшї яЁюуЁрььшЁєхь√ї ьшъЁюъры№ъєы ЄюЁют ┴3-34">
|
||||
<P><i>╨шё.1. [1]</i>
|
||||
</P>
|
||||
<br>
|
||||
<P>╤шёЄхьр ъюьрэф ёютхЄёъшї яЁюуЁрььшЁєхь√ї ьшъЁюъры№ъєы ЄюЁют "▌ыхъЄЁюэшър ┴3-34" яЁхфёЄртыхэр эр Ёшёєэъх 1. ╟эрърьш '-', 'L', 'C', '├', 'E' юсючэрўхэ√ °хёЄэрфЎрЄшЁшўэ√х ЎшЇЁ√ 'A','B','C','D','E' ёююЄтхЄёЄтхээю. ╥ръ юэш т√тюфшышё№ эр ёхьшёхуьхэЄэюь ┬╦╚ шэфшърЄюЁх ъры№ъєы ЄюЁют. ╓шЇЁр 'F' т ЄрсышЎх эх шьххЄ юЄфхы№эюую юсючэрўхэш , юэр т√тюфшырё№ ъръ яєёЄюх чэръюьхёЄю. ┼фшэёЄтхээр ъюьрэфр ┴3-34, т ъюЄюЁющ юэр шёяюы№чєхЄё - ¤Єю "FBx" (тючтЁрЄ ўшёыр т ёЄхъ шч ЁхушёЄЁр їЁрэхэш Ёхчєы№ЄрЄр яЁхф√фє∙хщ юяхЁрЎшш). ╨рчышўэ√ь ЎтхЄюь т√фхыхэ√ уЁєяя√ ъюьрэф т чртшёшьюёЄш юЄ шї эрчэрўхэш .
|
||||
</P>
|
||||
<P>┬ ┴3-34 с√ыю 14 ЁхушёЄЁют ярь Єш. ╩юьрэф√ "╧↑" "╚╧↑" "Kx≠0↑" "╩┴╧↑" "Kx≥0↑" "╩╧╧↑" "╩╧↑" "Kx<0↑" "╩╚╧↑" "Kx=0↑" ЁрсюЄрыш т ┴3-34 рэрыюушўэю ъюьрэфрь ё ЁхушёЄЁюь 0, эю эх т√ч√трыш ртЄюфхъЁхьхэЄр, Єю хёЄ№ єьхэ№°хэш эр хфшэшЎє ёюфхЁцшьюую ЁхушёЄЁр 0 яЁш ъюётхээюь юсЁр∙хэшш. ▌Єр юёюсхээюёЄ№ ўрёЄю шёяюы№чютрырё№ яЁш юяЄшьшчрЎшш, эю ё яю тыхэшхь ЁхушёЄЁр "┼" т ьюфхы ї ╠╩-52 ш ╠╩-61 яЁюуЁрьь√ ё ¤Єшьш ъюьрэфрьш яЁш°ыюё№ ЁрчЁрсрЄ√трЄ№ чрэютю. ╩юьрэф√ ё ъюфрьш 26h-2Ah ш 30h-3Bh т√ч√трыш т ┴3-34 ртрЁшщэ√щ юёЄрэют.
|
||||
</P>
|
||||
<P>╩юьрэф√ ъры№ъєы ЄюЁют ╠╩-54 ш ╠╩-56 юЄышўрышё№ Ё фюь юсючэрўхэшщ: "╧→x" тьхёЄю "╚╧", "x→╧" тьхёЄю "╧", "X↔Y" тьхёЄю "XY", "B↑" тьхёЄю "↑", р Єръцх ъюьрэф√ "sin<sup>-1</sup>", "cos<sup>-1</sup>", "tg<sup>-1</sup>" тьхёЄю ъюЁЁхъЄэ√ї юсючэрўхэшщ "arcsin", "arccos", "arctg" ёююЄтхЄёЄтхээю. ╧Ёш ¤Єюь эрсюЁ ъюьрэф ш шёяюыэ хь√х шьш фхщёЄтш т яхЁхўшёыхээ√ї ьюфхы ї с√ыш шфхэЄшўэ√. ╤шёЄхьр ъюьрэф ш шї юсючэрўхэшщ ╠╩-54, ╠╩-56 ты хЄё срчютющ фы яюёыхфє■∙шї ьюфхыхщ ╠╩-52 ш ╠╩-61.
|
||||
</P>
|
||||
<IMG src="╤шёЄхьр ъюьрэф яЁюуЁрььшЁєхь√ї ьшъЁюъры№ъєы ЄюЁют ┴3-34 ╠╩-54 ╠╩-56_files/stack000.jpg" width=464 height=501 border=0 alt="╧хЁхьх∙хэшх шэЇюЁьрЎшш т ёЄхъх яЁш т√яюыэхэшш ъюьрэф ╧╠╩ ┴3-34">
|
||||
<P><i>╨шё.2. [1]</i>
|
||||
</P>
|
||||
<P>═р Ёшёєэъх 2 яюърчрэю яхЁхьх∙хэшх шэЇюЁьрЎшш т ЁхушёЄЁрї ёЄхър ьшъЁюъры№ъєы ЄюЁют яЁш т√яюыэхэшш Ёрчышўэ√ї ъюьрэф ш юяхЁрЎшщ. ╧юфЁюсэюх юяшёрэшх ёЄхър ёь. т <a href="http://mk.semico.ru/re_logika.htm" title="ыюушър т√ўшёыхэшщ ш юЁурэшчрЎш ярь Єш">ЁєъютюфёЄтх яю ¤ъёяыєрЄрЎшш</a> яЁюуЁрььшЁєхьюую ъры№ъєы ЄюЁр ╠╩-152.
|
||||
</P>
|
||||
<P>┬ юёэютх <a href="http://mk.semico.ru/tabl2.htm" title="ёшёЄхьр ъюьрэф ▌╩┬╠ ╠╩-152">ёшёЄхь√ ъюьрэф</a> ъыртш°э√ї ▌┬╠ ╠╩-152 ш ╠╩-161 ыхцрЄ ъюьрэф√ ъры№ъєы ЄюЁют ╠╩-52 ш ╠╩-61, эю юсючэрўхэш ъюьрэф чряшёш "╧" ш ёўшЄ√трэш "╚╧", р Єръцх юсЁрЄэ√ї ЄЁшуюэюьхЄЁшўхёъшї ЇєэъЎшщ ёююЄтхЄёЄтє■Є ┴3-34. ┼ёЄ№ ш фЁєушх <a href="http://mk.semico.ru/dr_sovmest.htm" title="ёютьхёЄшьюёЄ№ ▌╩┬╠ ш ╧╠╩">юЄышўш </a> ▌╩┬╠ "▌ыхъЄЁюэшър ╠╩" юЄ ёютхЄёъшї ╧╠╩.
|
||||
</P>
|
||||
<br><hr><br>
|
||||
<IMG src="╤шёЄхьр ъюьрэф яЁюуЁрььшЁєхь√ї ьшъЁюъры№ъєы ЄюЁют ┴3-34 ╠╩-54 ╠╩-56_files/tablb334.jpg" width=700 height=439 border=0 alt="╤шёЄхьр ъюьрэф ёютхЄёъшї яЁюуЁрььшЁєхь√ї ьшъЁюъры№ъєы ЄюЁют ┴3-34 - ═ш╞ 12-84">
|
||||
<P><i>╨шё.3. [2]</i>
|
||||
<P>═р Ёшёєэъх 3 - ЄрсышЎр ъюфют юяхЁрЎшщ фы яЁюуЁрььшЁєхьюую ьшъЁюъры№ъєы ЄюЁр "▌ыхъЄЁюэшър ┴3-34" ё 5-щ ЎтхЄэющ тъырфъш цєЁэрыр "═рєър ш ╞шчэ№" N12 чр 1984 у. ╨шё. ╤. ╧штютрЁютр.
|
||||
</P>
|
||||
|
||||
<br><hr><br>
|
||||
<h4>╦шЄхЁрЄєЁр</h4>
|
||||
|
||||
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=5><TBODY>
|
||||
<TR><TD>
|
||||
<P>1. ─рэшыют ╚.─. ╤хъЁхЄ√ яЁюуЁрььшЁєхьюую ьшъЁюъры№ъєы ЄюЁр. - ╠.:═рєър. ├ы. Ёхф. Їшч.-ьрЄ. ышЄ., 1986. - 160 ё.- (┴-ўър "╩трэЄ". ┬√я. 55.)</P>
|
||||
</TD><TD><IMG src="╤шёЄхьр ъюьрэф яЁюуЁрььшЁєхь√ї ьшъЁюъры№ъєы ЄюЁют ┴3-34 ╠╩-54 ╠╩-56_files/danilov1.jpg" width=90 height=146 border=0 alt="─рэшыют ╚.─. ╤хъЁхЄ√ яЁюуЁрььшЁєхьюую ъры№ъєы ЄюЁр. ┴шсышюЄхўър ╩трэЄ т√я. 55"></TD></TR>
|
||||
|
||||
<TR><TD>
|
||||
<P>2. ╞єЁэры "═рєър ш ╞шчэ№" N12 - 1984 у.</P>
|
||||
</TD><TD><IMG src="╤шёЄхьр ъюьрэф яЁюуЁрььшЁєхь√ї ьшъЁюъры№ъєы ЄюЁют ┴3-34 ╠╩-54 ╠╩-56_files/nkj12840.jpg" width=90 height=143 border=0 alt="═ш╞ 12-84"></TD></TR>
|
||||
</TBODY></TABLE>
|
||||
<br>
|
||||
|
||||
</TD>
|
||||
</TR>
|
||||
|
||||
<TR>
|
||||
<TD>
|
||||
<hr><font color="#666666">═╧╧ "╤┼╠╚╩╬" (383) 271-01-25 (ьэюуюърэры№э√щ)</font><br>
|
||||
</TD>
|
||||
</TR>
|
||||
|
||||
</TBODY></TABLE>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
<!-- This document saved from http://mk.semico.ru/comb334.htm -->
|
||||
|
After Width: | Height: | Size: 58 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 103 KiB |
|
After Width: | Height: | Size: 999 B |
@@ -0,0 +1,194 @@
|
||||
|
||||
ch_struc_size=36
|
||||
ed_struc_size=76
|
||||
ch_flag_en=10b
|
||||
|
||||
ch_left equ [edi] ;координата начала рисования по х
|
||||
ch_top equ [edi+2] ;координата начала рисования по у
|
||||
ch_text_margin equ [edi+4] ;=4 расстояние от прямоугольника чек бокса до надписи
|
||||
ch_size equ [edi+8] ;12 размер квадрата чек бокса
|
||||
ch_color equ [edi+12] ;цвет внутри checkbox
|
||||
ch_border_color equ [edi+16] ; or [edi+4] ;цвет рамки checkbox ее можно задать самостоятельно
|
||||
ch_text_color equ [edi+20];[edi+4] ;цвет текста
|
||||
ch_text_ptr equ [edi+24] ;указатель на начало текстовой строки
|
||||
ch_text_length equ [edi+28]
|
||||
ch_flags equ [edi+32] ;флаги
|
||||
|
||||
ed_width equ [edi] ;ширина компонента
|
||||
ed_left equ [edi+4] ;положение по оси х
|
||||
ed_top equ [edi+8] ;положение по оси у
|
||||
ed_color equ [edi+12] ;цвет фона компонента
|
||||
shift_color equ [edi+16] ;=0x6a9480 для примера возьем желеный цвет бокса
|
||||
ed_focus_border_color equ [edi+20] ;цвет рамки компонента
|
||||
ed_blur_border_color equ [edi+24] ;цвет не активного компонента
|
||||
ed_text_color equ [edi+28] ;цвет текста
|
||||
ed_max equ [edi+32] ;кол-во символов которые можно максимально ввести
|
||||
ed_text equ [edi+36] ;указатель на буфер
|
||||
ed_mouse_variable equ [edi+40] ; указатель на переменную для бокса/группы
|
||||
ed_flags equ [edi+44] ;флаги
|
||||
bp_flags equ [ebp+44] ;в некоторых процедурах edi используется, взамен указатель храниться в ebp
|
||||
ed_size equ [edi+48] ;кол-во символов
|
||||
bp_size equ [ebp+48] ;кол-во симвполов, для адресации испльзуется ebpб edi занят
|
||||
ed_pos equ [edi+52] ;позиция курсора
|
||||
ed_offset equ [edi+56] ;смещение
|
||||
cl_curs_x equ [edi+60] ;предыдущее координата курсора по х
|
||||
cl_curs_y equ [edi+64] ;предыдущее координата курсора по у
|
||||
ed_shift_pos equ [edi+68] ;положение курсора
|
||||
ed_shift_pos_old equ [edi+72] ;старое положение курсора
|
||||
|
||||
ed_struc_size=76
|
||||
struc edit_box width,left,top,color,shift_color,focus_border_color,\
|
||||
blur_border_color,text_color,max,text,mouse_variable,flags,size,pos
|
||||
{
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;Bit mask from editbox
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
ed_figure_only= 1000000000000000b ;одни символы
|
||||
ed_always_focus= 100000000000000b
|
||||
ed_focus= 10b ;фокус приложения
|
||||
ed_shift_on= 1000b ;если не установлен -значит впервые нажат shift,если был установлен, значит мы уже что - то делали удерживая shift
|
||||
ed_shift_on_off=1111111111110111b
|
||||
ed_shift= 100b ;включается при нажатии на shift т.е. если нажимаю
|
||||
ed_shift_off= 1111111111111011b
|
||||
ed_shift_bac= 10000b ;бит для очистки выделеного shift т.е. при установке говорит что есть выделение
|
||||
ed_shift_bac_cl=1111111111101111b ;очистка при удалении выделения
|
||||
ed_shift_cl= 1111111111100011b
|
||||
ed_shift_mcl= 1111111111111011b
|
||||
ed_left_fl= 100000b
|
||||
ed_right_fl= 1111111111011111b
|
||||
ed_offset_fl= 1000000b
|
||||
ed_offset_cl= 1111111110111111b
|
||||
ed_insert= 10000000b
|
||||
ed_insert_cl= 1111111101111111b
|
||||
ed_mouse_on = 100000000b
|
||||
ed_mous_adn_b= 100011000b
|
||||
ed_mouse_on_off=1111111011111111b
|
||||
ed_height=14 ; высота
|
||||
|
||||
.width dd width
|
||||
.left dd left
|
||||
.top dd top
|
||||
.color dd color
|
||||
.shift_color dd shift_color
|
||||
.focus_border_color dd focus_border_color
|
||||
.blur_border_color dd blur_border_color
|
||||
.text_color dd text_color
|
||||
.max dd max
|
||||
.text dd text
|
||||
.mouse_variable dd mouse_variable
|
||||
.flags dd flags+0
|
||||
.size dd size+0
|
||||
.pos dd pos+0
|
||||
.offset dd 0
|
||||
.cl_curs_x dd 0
|
||||
.cl_curs_y dd 0
|
||||
.shift dd 0
|
||||
.shift_old dd 0
|
||||
}
|
||||
macro edit_boxes_set_sys_color start,end,color_table
|
||||
{
|
||||
mov edi,start
|
||||
mov ecx,((end-start)/ed_struc_size)
|
||||
mov esi,color_table
|
||||
@@:
|
||||
mov eax,dword [esi+36]
|
||||
mov ebx,dword [esi+20]
|
||||
push dword eax
|
||||
pop dword ed_focus_border_color
|
||||
shr bh,1
|
||||
shr bl,1
|
||||
shr ah,1
|
||||
shr al,1
|
||||
add ah,bh
|
||||
add al,bl
|
||||
ror eax,16
|
||||
ror ebx,16
|
||||
shr bl,1
|
||||
shr al,1
|
||||
add al,bl
|
||||
ror eax,16
|
||||
mov dword ed_blur_border_color,eax
|
||||
mov dword shift_color,eax
|
||||
add edi,ed_struc_size
|
||||
loop @b
|
||||
}
|
||||
macro get_sys_colors col_buf
|
||||
{
|
||||
;mov eax,48
|
||||
push 48
|
||||
pop eax
|
||||
;mov ebx,3
|
||||
push 3
|
||||
pop ebx
|
||||
;mov ecx,col_buf
|
||||
push col_buf
|
||||
pop ecx
|
||||
;mov edx,40
|
||||
push 40
|
||||
pop edx
|
||||
mcall
|
||||
}
|
||||
macro check_boxes_set_sys_color start,end,color_table
|
||||
{
|
||||
ch_left equ [edi] ;координата начала рисования по х
|
||||
ch_top equ [edi+2] ;координата начала рисования по у
|
||||
ch_text_margin equ [edi+4] ;=4 расстояние от прямоугольника чек бокса до надписи
|
||||
ch_size equ [edi+8] ;12 размер квадрата чек бокса
|
||||
ch_color equ [edi+12] ;цвет внутри checkbox
|
||||
ch_border_color equ [edi+16] ; or [edi+4] ;цвет рамки checkbox ее можно задать самостоятельно
|
||||
ch_text_color equ [edi+20];[edi+4] ;цвет текста
|
||||
ch_text_ptr equ [edi+24] ;указатель на начало текстовой строки
|
||||
ch_text_length equ [edi+28]
|
||||
ch_flags equ [edi+32] ;флаги
|
||||
|
||||
|
||||
;ch_left equ [edi] ;координата начала рисования по х
|
||||
;ch_top equ [edi+2] ;координата начала рисования по у
|
||||
;ch_color equ [edi+4] ;цвет внутри checkbox
|
||||
;ch_border_color equ [edi+8] ;цвет рамки checkbox
|
||||
;ch_text_color equ [edi+12] ;цвет текста
|
||||
;ch_text_ptr equ [edi+16] ;указатель на начало текстовой строки
|
||||
;ch_text_length equ [edi+20] ;длина надписи (2^64 такой длины может быть текст)
|
||||
;ch_flags equ [edi+24] ;флаги
|
||||
|
||||
mov edi,start
|
||||
mov ecx,((end-start)/ch_struc_size)
|
||||
mov esi,color_table
|
||||
@@:
|
||||
push dword [esi+32]
|
||||
pop dword ch_text_color
|
||||
push dword [esi+36]
|
||||
pop dword ch_border_color
|
||||
add edi,ch_struc_size
|
||||
loop @b
|
||||
}
|
||||
struc check_box left,top,ch_text_margin,ch_size,color,border_color,text_color,text,ch_text_length,flags
|
||||
{ ;структура параметров для чек бокса
|
||||
ch_flag_en=10b
|
||||
.left: dw left ;+0 ;положение по х
|
||||
.top: dw top ;положение по у
|
||||
.ch_text_margin: dd ch_text_margin ;расстояние от прямоугольника чек бокса до надписи
|
||||
.ch_size: dd ch_size ;размер квадрата чек бокса, для примера 12
|
||||
.color: dd color ;цвет внутри чекбокса
|
||||
.border_color: dd border_color ;цвет рамки
|
||||
.text_color: dd text_color ;цвет надписи
|
||||
.text: dd text ;адрес в коде программы где расположен текст
|
||||
.ch_text_length: dd ch_text_length ;длинна строки с символами
|
||||
.flags: dd flags+0 ; флаги
|
||||
}
|
||||
struc option_box point_gr,left,top,op_text_margin,op_size,color,border_color,text_color,text,op_text_length,flags
|
||||
{ ;структура параметров для чек бокса
|
||||
op_flag_en=10b
|
||||
.option_group: dd point_gr
|
||||
.left: dw left ;+0 ;положение по х
|
||||
.top: dw top ;положение по у
|
||||
.ch_text_margin: dd op_text_margin ;расстояние от прямоугольника чек бокса до надписи
|
||||
.ch_size: dd op_size ;размер квадрата чек бокса, для примера 12
|
||||
.color: dd color ;цвет внутри чекбокса
|
||||
.border_color: dd border_color ;цвет рамки
|
||||
.text_color: dd text_color ;цвет надписи
|
||||
.text: dd text ;адрес в коде программы где расположен текст
|
||||
.ch_text_length: dd op_text_length ;длинна строки с символами
|
||||
.flags: dd flags+0 ; флаги
|
||||
}
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
lang fix ru
|
||||
@@ -0,0 +1,48 @@
|
||||
macro buttabnum a0,a1,a2,a3,a4
|
||||
{
|
||||
test [flags],(1 shl 5)
|
||||
jnz .prg
|
||||
test [flags],(1 shl 3)
|
||||
jnz .a1
|
||||
if a4
|
||||
test [flags],(1 shl 4)
|
||||
jnz .a4
|
||||
endf
|
||||
test [flags],(1 shl 11)
|
||||
jnz .a2
|
||||
test [flags],(1 shl 12)
|
||||
jnz .a3
|
||||
test [flags],(1 shl 9)
|
||||
jnz .prg
|
||||
mov eax,a0
|
||||
jmp but_table.to_opcode
|
||||
.a1: mov eax,a1
|
||||
jmp but_table.to_opcode
|
||||
.a2: mov eax,a2
|
||||
jmp but_table.to_opcode
|
||||
.a3: mov eax,a3
|
||||
jmp but_table.to_opcode
|
||||
.prg:
|
||||
test [flags],(1 shl 8)
|
||||
jz @f
|
||||
add [dop8],a0
|
||||
jmp but_table.dop8
|
||||
@@: test [flags],(1 shl 9)
|
||||
jz @f
|
||||
mov al,a0
|
||||
jmp but_table.dop9
|
||||
@@: movzx eax,[schk]
|
||||
add eax,PMEM
|
||||
inc [schk]
|
||||
test [flags],(1 shl 3)
|
||||
jnz @f
|
||||
mov byte [eax],a0
|
||||
ret
|
||||
@@: mov byte [eax],a1
|
||||
btr [flags],3
|
||||
ret
|
||||
if a4
|
||||
.a4: mov eax,a4
|
||||
jmp but_table.to_opcode
|
||||
endf
|
||||
}
|
||||
@@ -0,0 +1,543 @@
|
||||
@^ fix macro comment {
|
||||
^@ fix }
|
||||
|
||||
; -------------------------
|
||||
macro library [lname,fname]
|
||||
{
|
||||
forward
|
||||
dd __#lname#_library_table__,__#lname#_library_name__
|
||||
common
|
||||
dd 0
|
||||
forward
|
||||
align 4
|
||||
__#lname#_library_name__ db fname,0
|
||||
}
|
||||
|
||||
macro import lname,[name,sname]
|
||||
{
|
||||
common
|
||||
align 4
|
||||
__#lname#_library_table__:
|
||||
forward
|
||||
if used name
|
||||
name dd __#name#_import_name__
|
||||
end if
|
||||
common
|
||||
dd 0
|
||||
forward
|
||||
if used name
|
||||
align 4
|
||||
__#name#_import_name__ db sname,0
|
||||
end if
|
||||
}
|
||||
|
||||
macro export [name,sname]
|
||||
{
|
||||
forward
|
||||
dd __#name#_export_name__,name
|
||||
common
|
||||
dd 0
|
||||
forward
|
||||
align 4
|
||||
__#name#_export_name__ db sname,0
|
||||
}
|
||||
; -------------------------
|
||||
|
||||
macro m2m dest,src {
|
||||
push src
|
||||
pop dest
|
||||
}
|
||||
|
||||
|
||||
macro iglobal {
|
||||
IGlobals equ IGlobals,
|
||||
macro __IGlobalBlock { }
|
||||
|
||||
macro uglobal {
|
||||
UGlobals equ UGlobals,
|
||||
macro __UGlobalBlock { }
|
||||
|
||||
endg fix } ; Use endg for ending iglobal and uglobal blocks.
|
||||
|
||||
|
||||
macro IncludeIGlobals{
|
||||
macro IGlobals dummy,[n] \{ __IGlobalBlock
|
||||
purge __IGlobalBlock \}
|
||||
match I, IGlobals \{ I \} }
|
||||
|
||||
macro IncludeUGlobals{
|
||||
macro UGlobals dummy,[n] \{
|
||||
\common
|
||||
\local begin, size
|
||||
begin = $
|
||||
virtual at $
|
||||
\forward
|
||||
__UGlobalBlock
|
||||
purge __UGlobalBlock
|
||||
\common
|
||||
size = $ - begin
|
||||
end virtual
|
||||
rb size
|
||||
\}
|
||||
match U, UGlobals \{ U \} }
|
||||
|
||||
uglobal
|
||||
endg
|
||||
|
||||
iglobal
|
||||
endg
|
||||
|
||||
|
||||
; new application structure
|
||||
macro meos_app_start
|
||||
{
|
||||
use32
|
||||
org 0x0
|
||||
|
||||
db 'MENUET01'
|
||||
dd 0x01
|
||||
dd __start
|
||||
dd __end
|
||||
dd __memory
|
||||
dd __stack
|
||||
|
||||
if used __params & ~defined __params
|
||||
dd __params
|
||||
else
|
||||
dd 0x0
|
||||
end if
|
||||
|
||||
dd 0x0
|
||||
}
|
||||
MEOS_APP_START fix meos_app_start
|
||||
|
||||
macro code
|
||||
{
|
||||
__start:
|
||||
}
|
||||
CODE fix code
|
||||
|
||||
macro data
|
||||
{
|
||||
__data:
|
||||
IncludeIGlobals
|
||||
}
|
||||
DATA fix data
|
||||
|
||||
macro udata
|
||||
{
|
||||
if used __params & ~defined __params
|
||||
__params:
|
||||
db 0
|
||||
__end:
|
||||
rb 255
|
||||
else
|
||||
__end:
|
||||
end if
|
||||
__udata:
|
||||
IncludeUGlobals
|
||||
}
|
||||
UDATA fix udata
|
||||
|
||||
macro meos_app_end
|
||||
{
|
||||
align 32
|
||||
rb 2048
|
||||
__stack:
|
||||
__memory:
|
||||
}
|
||||
MEOS_APP_END fix meos_app_end
|
||||
|
||||
|
||||
; macro for defining multiline text data
|
||||
struc mstr [sstring]
|
||||
{
|
||||
forward
|
||||
local ssize
|
||||
virtual at 0
|
||||
db sstring
|
||||
ssize = $
|
||||
end virtual
|
||||
dd ssize
|
||||
db sstring
|
||||
common
|
||||
dd -1
|
||||
}
|
||||
|
||||
; macro for defining multiline text data
|
||||
struc mls [sstring]
|
||||
{
|
||||
forward
|
||||
local ssize
|
||||
virtual at 0
|
||||
db sstring ; mod
|
||||
ssize = $
|
||||
end virtual
|
||||
db ssize
|
||||
db sstring
|
||||
common
|
||||
db -1 ; mod
|
||||
}
|
||||
|
||||
|
||||
|
||||
; strings
|
||||
macro sz name,[data] { ; from MFAR [mike.dld]
|
||||
common
|
||||
if used name
|
||||
name db data
|
||||
.size = $-name
|
||||
end if
|
||||
}
|
||||
|
||||
macro lsz name,[lng,data] { ; from MFAR [mike.dld]
|
||||
common
|
||||
if used name
|
||||
label name
|
||||
forward
|
||||
if lang eq lng
|
||||
db data
|
||||
end if
|
||||
common
|
||||
.size = $-name
|
||||
end if
|
||||
}
|
||||
|
||||
macro szc name,elsz,[data] { ; from MFAR [mike.dld]
|
||||
common
|
||||
local s,m
|
||||
m = 0
|
||||
if used name
|
||||
label name
|
||||
forward
|
||||
virtual at 0
|
||||
db data
|
||||
s = $
|
||||
end virtual
|
||||
d#elsz s
|
||||
if m < s
|
||||
m = s
|
||||
end if
|
||||
db data
|
||||
common
|
||||
.size = $-name
|
||||
.maxl = m
|
||||
end if
|
||||
}
|
||||
|
||||
macro lszc name,elsz,[lng,data] { ; from MFAR [mike.dld]
|
||||
common
|
||||
local s,m,c
|
||||
m = 0
|
||||
c = 0
|
||||
if used name
|
||||
label name
|
||||
forward
|
||||
if lang eq lng
|
||||
virtual at 0
|
||||
db data
|
||||
s = $
|
||||
end virtual
|
||||
d#elsz s
|
||||
if m < s
|
||||
m = s
|
||||
end if
|
||||
db data
|
||||
c = c+1
|
||||
end if
|
||||
common
|
||||
.size = $-name
|
||||
.maxl = m
|
||||
.count = c
|
||||
end if
|
||||
}
|
||||
|
||||
|
||||
; easy system call macro
|
||||
macro mpack dest, hsrc, lsrc
|
||||
{
|
||||
if (hsrc eqtype 0) & (lsrc eqtype 0)
|
||||
mov dest, (hsrc) shl 16 + lsrc
|
||||
else
|
||||
if (hsrc eqtype 0) & (~lsrc eqtype 0)
|
||||
mov dest, (hsrc) shl 16
|
||||
add dest, lsrc
|
||||
else
|
||||
mov dest, hsrc
|
||||
shl dest, 16
|
||||
add dest, lsrc
|
||||
end if
|
||||
end if
|
||||
}
|
||||
|
||||
macro __mov reg,a,b { ; mike.dld
|
||||
if (~a eq)&(~b eq)
|
||||
mpack reg,a,b
|
||||
else if (~a eq)&(b eq)
|
||||
mov reg,a
|
||||
end if
|
||||
}
|
||||
|
||||
|
||||
include 'config.inc'
|
||||
__CPU_type equ p5
|
||||
SYSENTER_VAR equ 0
|
||||
|
||||
macro mcall a,b,c,d,e,f { ; mike.dld, updated by Ghost for Fast System Calls
|
||||
local ..ret_point
|
||||
__mov eax,a
|
||||
__mov ebx,b
|
||||
__mov ecx,c
|
||||
__mov edx,d
|
||||
__mov esi,e
|
||||
__mov edi,f
|
||||
|
||||
if __CPU_type eq p5
|
||||
int 0x40
|
||||
else
|
||||
if __CPU_type eq p6
|
||||
push ebp
|
||||
mov ebp, esp
|
||||
push ..ret_point ; it may be 2 or 5 byte
|
||||
sysenter
|
||||
..ret_point:
|
||||
pop edx
|
||||
pop ecx
|
||||
|
||||
else
|
||||
if __CPU_type eq k6
|
||||
push ecx
|
||||
syscall
|
||||
pop ecx
|
||||
else
|
||||
display 'ERROR : unknown CPU type (set to p5)', 10, 13
|
||||
__CPU_type equ p5
|
||||
int 0x40
|
||||
end if
|
||||
end if
|
||||
end if
|
||||
}
|
||||
|
||||
|
||||
; -------------------------
|
||||
macro header a,[b] {
|
||||
common
|
||||
use32
|
||||
org 0
|
||||
db 'MENUET',a
|
||||
forward
|
||||
if b eq
|
||||
dd 0
|
||||
else
|
||||
dd b
|
||||
end if }
|
||||
macro section name { align 16
|
||||
label name }
|
||||
macro func name {
|
||||
if ~used name
|
||||
display 'FUNC NOT USED: ',`name,13,10
|
||||
else
|
||||
align 4
|
||||
name:
|
||||
;diff16 `name,0,name
|
||||
;pushad
|
||||
;pushfd
|
||||
;dps `name
|
||||
;newline
|
||||
;mcall 5,1
|
||||
;popfd
|
||||
;popad
|
||||
}
|
||||
macro endf { end if }
|
||||
|
||||
macro diff16 title,l1,l2
|
||||
{
|
||||
local s,d
|
||||
s = l2-l1
|
||||
display title,': 0x'
|
||||
repeat 8
|
||||
d = '0' + s shr ((8-%) shl 2) and $0F
|
||||
if d > '9'
|
||||
d = d + 'A'-'9'-1
|
||||
end if
|
||||
display d
|
||||
end repeat
|
||||
display 13,10
|
||||
}
|
||||
|
||||
macro diff10 title,l1,l2
|
||||
{
|
||||
local s,d,z,m
|
||||
s = l2-l1
|
||||
z = 0
|
||||
m = 1000000000
|
||||
display title,': '
|
||||
repeat 10
|
||||
d = '0' + s / m
|
||||
s = s - (s/m)*m
|
||||
m = m / 10
|
||||
if d <> '0'
|
||||
z = 1
|
||||
end if
|
||||
if z <> 0
|
||||
display d
|
||||
end if
|
||||
end repeat
|
||||
display 13,10
|
||||
}
|
||||
|
||||
; optimize the code for size
|
||||
__regs fix <eax,ebx,ecx,edx,esi,edi,ebp,esp>
|
||||
|
||||
macro add arg1,arg2
|
||||
{
|
||||
if (arg2 eqtype 0)
|
||||
if (arg2) = 1
|
||||
inc arg1
|
||||
else
|
||||
add arg1,arg2
|
||||
end if
|
||||
else
|
||||
add arg1,arg2
|
||||
end if
|
||||
}
|
||||
|
||||
macro sub arg1,arg2
|
||||
{
|
||||
if (arg2 eqtype 0)
|
||||
if (arg2) = 1
|
||||
dec arg1
|
||||
else
|
||||
sub arg1,arg2
|
||||
end if
|
||||
else
|
||||
sub arg1,arg2
|
||||
end if
|
||||
}
|
||||
|
||||
macro mov arg1,arg2
|
||||
{
|
||||
if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0'))
|
||||
if (arg2) = 0
|
||||
xor arg1,arg1
|
||||
else if (arg2) = 1
|
||||
xor arg1,arg1
|
||||
inc arg1
|
||||
else if (arg2) = -1
|
||||
or arg1,-1
|
||||
else if (arg2) > -128 & (arg2) < 128
|
||||
push arg2
|
||||
pop arg1
|
||||
else
|
||||
mov arg1,arg2
|
||||
end if
|
||||
else
|
||||
mov arg1,arg2
|
||||
end if
|
||||
}
|
||||
|
||||
|
||||
macro RGB [a] {
|
||||
common
|
||||
match (r=,g=,b),a \{
|
||||
\dd ((r) shl 16) or ((g) shl 8) or (b)
|
||||
\}
|
||||
}
|
||||
|
||||
|
||||
struc POINT _t,_dx,_dy {
|
||||
.x _t _dx
|
||||
.y _t _dy
|
||||
}
|
||||
|
||||
; structure definition helper
|
||||
include 'struct.inc'
|
||||
|
||||
struct RECT
|
||||
left dd ?
|
||||
top dd ?
|
||||
right dd ?
|
||||
bottom dd ?
|
||||
ends
|
||||
|
||||
struct BOX
|
||||
left dd ?
|
||||
top dd ?
|
||||
width dd ?
|
||||
height dd ?
|
||||
ends
|
||||
|
||||
; structures used in MeOS
|
||||
struct process_information
|
||||
cpu_usage dd ? ; +0
|
||||
window_stack_position dw ? ; +4
|
||||
window_stack_value dw ? ; +6
|
||||
dw ? ; +8
|
||||
process_name rb 12 ; +10
|
||||
memory_start dd ? ; +22
|
||||
used_memory dd ? ; +26
|
||||
PID dd ? ; +30
|
||||
box BOX ; +34
|
||||
slot_state dw ? ; +50
|
||||
dw ? ; +52
|
||||
client_box BOX ; +54
|
||||
wnd_state db ? ; +70
|
||||
rb (1024-71)
|
||||
ends
|
||||
|
||||
struct system_colors
|
||||
frame dd ?
|
||||
grab dd ?
|
||||
grab_button dd ?
|
||||
grab_button_text dd ?
|
||||
grab_text dd ?
|
||||
work dd ?
|
||||
work_button dd ?
|
||||
work_button_text dd ?
|
||||
work_text dd ?
|
||||
work_graph dd ?
|
||||
ends
|
||||
|
||||
struct FILEDATE
|
||||
Second db ?
|
||||
Minute db ?
|
||||
Hour db ?
|
||||
db ?
|
||||
Day db ?
|
||||
Month db ?
|
||||
Year dw ?
|
||||
ends
|
||||
|
||||
struct FILEINFO
|
||||
Attributes dd ?
|
||||
IsUnicode db ?
|
||||
db 3 dup(?)
|
||||
DateCreate FILEDATE
|
||||
DateAccess FILEDATE
|
||||
DateModify FILEDATE
|
||||
Size dq ?
|
||||
ends
|
||||
|
||||
; constants
|
||||
|
||||
; events
|
||||
EV_IDLE = 0
|
||||
EV_TIMER = 0
|
||||
EV_REDRAW = 1
|
||||
EV_KEY = 2
|
||||
EV_BUTTON = 3
|
||||
EV_EXIT = 4
|
||||
EV_BACKGROUND = 5
|
||||
EV_MOUSE = 6
|
||||
EV_IPC = 7
|
||||
EV_STACK = 8
|
||||
|
||||
; event mask bits for function 40
|
||||
EVM_REDRAW = 1b
|
||||
EVM_KEY = 10b
|
||||
EVM_BUTTON = 100b
|
||||
EVM_EXIT = 1000b
|
||||
EVM_BACKGROUND = 10000b
|
||||
EVM_MOUSE = 100000b
|
||||
EVM_IPC = 1000000b
|
||||
EVM_STACK = 10000000b
|
||||
@@ -0,0 +1,268 @@
|
||||
|
||||
; Macroinstructions for defining and calling procedures
|
||||
|
||||
macro stdcall proc,[arg] ; directly call STDCALL procedure
|
||||
{ common
|
||||
if ~ arg eq
|
||||
reverse
|
||||
pushd arg
|
||||
common
|
||||
end if
|
||||
call proc }
|
||||
|
||||
macro invoke proc,[arg] ; indirectly call STDCALL procedure
|
||||
{ common
|
||||
if ~ arg eq
|
||||
reverse
|
||||
pushd arg
|
||||
common
|
||||
end if
|
||||
call [proc] }
|
||||
|
||||
macro ccall proc,[arg] ; directly call CDECL procedure
|
||||
{ common
|
||||
size@ccall = 0
|
||||
if ~ arg eq
|
||||
reverse
|
||||
pushd arg
|
||||
size@ccall = size@ccall+4
|
||||
common
|
||||
end if
|
||||
call proc
|
||||
if size@ccall
|
||||
add esp,size@ccall
|
||||
end if }
|
||||
|
||||
macro cinvoke proc,[arg] ; indirectly call CDECL procedure
|
||||
{ common
|
||||
size@ccall = 0
|
||||
if ~ arg eq
|
||||
reverse
|
||||
pushd arg
|
||||
size@ccall = size@ccall+4
|
||||
common
|
||||
end if
|
||||
call [proc]
|
||||
if size@ccall
|
||||
add esp,size@ccall
|
||||
end if }
|
||||
|
||||
macro proc [args] ; define procedure
|
||||
{ common
|
||||
match name params, args>
|
||||
\{ define@proc name,<params \} }
|
||||
|
||||
prologue@proc equ prologuedef
|
||||
|
||||
macro prologuedef procname,flag,parmbytes,localbytes,reglist
|
||||
{ if parmbytes | localbytes
|
||||
push ebp
|
||||
mov ebp,esp
|
||||
if localbytes
|
||||
sub esp,localbytes
|
||||
end if
|
||||
end if
|
||||
irps reg, reglist \{ push reg \} }
|
||||
|
||||
epilogue@proc equ epiloguedef
|
||||
|
||||
macro epiloguedef procname,flag,parmbytes,localbytes,reglist
|
||||
{ irps reg, reglist \{ reverse pop reg \}
|
||||
if parmbytes | localbytes
|
||||
leave
|
||||
end if
|
||||
if flag and 10000b
|
||||
retn
|
||||
else
|
||||
retn parmbytes
|
||||
end if }
|
||||
|
||||
macro define@proc name,statement
|
||||
{ local params,flag,regs,parmbytes,localbytes,current
|
||||
if used name
|
||||
name:
|
||||
match =stdcall args, statement \{ params equ args
|
||||
flag = 11b \}
|
||||
match =stdcall, statement \{ params equ
|
||||
flag = 11b \}
|
||||
match =c args, statement \{ params equ args
|
||||
flag = 10001b \}
|
||||
match =c, statement \{ params equ
|
||||
flag = 10001b \}
|
||||
match =params, params \{ params equ statement
|
||||
flag = 0 \}
|
||||
virtual at ebp+8
|
||||
match =uses reglist=,args, params \{ regs equ reglist
|
||||
params equ args \}
|
||||
match =regs =uses reglist, regs params \{ regs equ reglist
|
||||
params equ \}
|
||||
match =regs, regs \{ regs equ \}
|
||||
match =,args, params \{ defargs@proc args \}
|
||||
match =args@proc args, args@proc params \{ defargs@proc args \}
|
||||
parmbytes = $ - (ebp+8)
|
||||
end virtual
|
||||
name # % = parmbytes/4
|
||||
all@vars equ
|
||||
current = 0
|
||||
match prologue:reglist, prologue@proc:<regs> \{ prologue name,flag,parmbytes,localbytes,reglist \}
|
||||
macro locals
|
||||
\{ virtual at ebp-localbytes+current
|
||||
macro label . \\{ deflocal@proc .,:, \\}
|
||||
struc db [val] \\{ \common deflocal@proc .,db,val \\}
|
||||
struc dw [val] \\{ \common deflocal@proc .,dw,val \\}
|
||||
struc dp [val] \\{ \common deflocal@proc .,dp,val \\}
|
||||
struc dd [val] \\{ \common deflocal@proc .,dd,val \\}
|
||||
struc dt [val] \\{ \common deflocal@proc .,dt,val \\}
|
||||
struc dq [val] \\{ \common deflocal@proc .,dq,val \\}
|
||||
struc rb cnt \\{ deflocal@proc .,rb cnt, \\}
|
||||
struc rw cnt \\{ deflocal@proc .,rw cnt, \\}
|
||||
struc rp cnt \\{ deflocal@proc .,rp cnt, \\}
|
||||
struc rd cnt \\{ deflocal@proc .,rd cnt, \\}
|
||||
struc rt cnt \\{ deflocal@proc .,rt cnt, \\}
|
||||
struc rq cnt \\{ deflocal@proc .,rq cnt, \\} \}
|
||||
macro endl
|
||||
\{ purge label
|
||||
restruc db,dw,dp,dd,dt,dq
|
||||
restruc rb,rw,rp,rd,rt,rq
|
||||
restruc byte,word,dword,pword,tword,qword
|
||||
current = $-(ebp-localbytes)
|
||||
end virtual \}
|
||||
macro ret operand
|
||||
\{ match any, operand \\{ retn operand \\}
|
||||
match , operand \\{ match epilogue:reglist, epilogue@proc:<regs>
|
||||
\\\{ epilogue name,flag,parmbytes,localbytes,reglist \\\} \\} \}
|
||||
macro finish@proc \{ localbytes = (((current-1) shr 2)+1) shl 2
|
||||
end if \} }
|
||||
|
||||
macro defargs@proc [arg]
|
||||
{ common
|
||||
if ~ arg eq
|
||||
forward
|
||||
local ..arg,current@arg
|
||||
match argname:type, arg
|
||||
\{ current@arg equ argname
|
||||
label ..arg type
|
||||
argname equ ..arg
|
||||
if dqword eq type
|
||||
dd ?,?,?,?
|
||||
else if tbyte eq type
|
||||
dd ?,?,?
|
||||
else if qword eq type | pword eq type
|
||||
dd ?,?
|
||||
else
|
||||
dd ?
|
||||
end if \}
|
||||
match =current@arg,current@arg
|
||||
\{ current@arg equ arg
|
||||
arg equ ..arg
|
||||
..arg dd ? \}
|
||||
common
|
||||
args@proc equ current@arg
|
||||
forward
|
||||
restore current@arg
|
||||
common
|
||||
end if }
|
||||
|
||||
macro deflocal@proc name,def,[val]
|
||||
{ common
|
||||
match vars, all@vars \{ all@vars equ all@vars, \}
|
||||
all@vars equ all@vars name
|
||||
forward
|
||||
local ..var,..tmp
|
||||
..var def val
|
||||
match =?, val \{ ..tmp equ \}
|
||||
match any =dup (=?), val \{ ..tmp equ \}
|
||||
match tmp : value, ..tmp : val
|
||||
\{ tmp: end virtual
|
||||
initlocal@proc ..var,def value
|
||||
virtual at tmp\}
|
||||
common
|
||||
match first rest, ..var, \{ name equ first \} }
|
||||
|
||||
macro initlocal@proc name,def
|
||||
{ virtual at name
|
||||
def
|
||||
size@initlocal = $ - name
|
||||
end virtual
|
||||
position@initlocal = 0
|
||||
while size@initlocal > position@initlocal
|
||||
virtual at name
|
||||
def
|
||||
if size@initlocal - position@initlocal < 2
|
||||
current@initlocal = 1
|
||||
load byte@initlocal byte from name+position@initlocal
|
||||
else if size@initlocal - position@initlocal < 4
|
||||
current@initlocal = 2
|
||||
load word@initlocal word from name+position@initlocal
|
||||
else
|
||||
current@initlocal = 4
|
||||
load dword@initlocal dword from name+position@initlocal
|
||||
end if
|
||||
end virtual
|
||||
if current@initlocal = 1
|
||||
mov byte [name+position@initlocal],byte@initlocal
|
||||
else if current@initlocal = 2
|
||||
mov word [name+position@initlocal],word@initlocal
|
||||
else
|
||||
mov dword [name+position@initlocal],dword@initlocal
|
||||
end if
|
||||
position@initlocal = position@initlocal + current@initlocal
|
||||
end while }
|
||||
|
||||
macro endp
|
||||
{ purge ret,locals,endl
|
||||
finish@proc
|
||||
purge finish@proc
|
||||
restore regs@proc
|
||||
match all,args@proc \{ restore all \}
|
||||
restore args@proc
|
||||
match all,all@vars \{ restore all \} }
|
||||
|
||||
macro local [var]
|
||||
{ common
|
||||
locals
|
||||
forward done@local equ
|
||||
match varname[count]:vartype, var
|
||||
\{ match =BYTE, vartype \\{ varname rb count
|
||||
restore done@local \\}
|
||||
match =WORD, vartype \\{ varname rw count
|
||||
restore done@local \\}
|
||||
match =DWORD, vartype \\{ varname rd count
|
||||
restore done@local \\}
|
||||
match =PWORD, vartype \\{ varname rp count
|
||||
restore done@local \\}
|
||||
match =QWORD, vartype \\{ varname rq count
|
||||
restore done@local \\}
|
||||
match =TBYTE, vartype \\{ varname rt count
|
||||
restore done@local \\}
|
||||
match =DQWORD, vartype \\{ label varname dqword
|
||||
rq count+count
|
||||
restore done@local \\}
|
||||
match , done@local \\{ virtual
|
||||
varname vartype
|
||||
end virtual
|
||||
rb count*sizeof.\#vartype
|
||||
restore done@local \\} \}
|
||||
match :varname:vartype, done@local:var
|
||||
\{ match =BYTE, vartype \\{ varname db ?
|
||||
restore done@local \\}
|
||||
match =WORD, vartype \\{ varname dw ?
|
||||
restore done@local \\}
|
||||
match =DWORD, vartype \\{ varname dd ?
|
||||
restore done@local \\}
|
||||
match =PWORD, vartype \\{ varname dp ?
|
||||
restore done@local \\}
|
||||
match =QWORD, vartype \\{ varname dq ?
|
||||
restore done@local \\}
|
||||
match =TBYTE, vartype \\{ varname dt ?
|
||||
restore done@local \\}
|
||||
match =DQWORD, vartype \\{ label varname dqword
|
||||
dq ?,?
|
||||
restore done@local \\}
|
||||
match , done@local \\{ varname vartype
|
||||
restore done@local \\} \}
|
||||
match ,done@local
|
||||
\{ var
|
||||
restore done@local \}
|
||||
common
|
||||
endl }
|
||||
@@ -0,0 +1,20 @@
|
||||
PrMK (Программируемый микрокалькулятор) - эмулятор МК БЗ-34. Copyright СССР.
|
||||
|
||||
Поддерживаются основные ОПКОДы, режим программирования, в том числе ввод ОПКОДа с клавиатуры:
|
||||
- набираем "0..f 0..F", текущее смещение инкриментируется, ОПКОД введён;
|
||||
- набираем "sk", далее "0..f 0..F" - и мы переходим к набранному смещению в программе, заодно меняем значение Счётчика Команд.
|
||||
Команды и смещения вводятся в шестнадцатиричном виде.
|
||||
|
||||
Комбинация клавиш Ctrl+S откроет диалог экспорта программы, Ctrl+L - диалог импорта.
|
||||
|
||||
Переключатель Р-ГР-Г представляет из себя три кнопки; Р - радианы (360 градусов=2pi рад), ГРД - грады (360 градусов=400 град), Г - градусы (1 ГРД = 0,9 Г = pi/200 Р). Тригонометрические функции высчитывают значения по этим трём параметрам (правда, cos 90 = 6,123^-17, что примерно = 0).
|
||||
|
||||
При старте PrMK отлавливает содержимое командной строки, автоматичски загружая программу по переданному пути, т.е. можно проассоциировать файлы *.mkp с PrMK. Примеры такого файла находятся в архиве.
|
||||
|
||||
После операции останова (50h) в PC-Speaker'e раздастся писк, естественно при включённом динамике.
|
||||
|
||||
Файлы справки от автора программы "Калькулятор Б3-34" www.ua1zcl.fromru.com, а также mk.semico.ru и xakep.ru
|
||||
|
||||
Программа не проходила жёсткого тестирования, поэтому ожидаются всевозможные огрехи.
|
||||
|
||||
С уважением, staper@inbox.ru
|
||||
@@ -0,0 +1,34 @@
|
||||
;Файл программы для PrMK. Скомпилировать с помощью FASM.
|
||||
|
||||
; Вычисляем площадь круга
|
||||
;Ввод данных:
|
||||
;1. Ввести радиус круга;
|
||||
;2. Нажать [В/О] [С/П];
|
||||
;3. На индикаторе - площадь круга.
|
||||
|
||||
|
||||
db "<СТЕК>"
|
||||
|
||||
;далее следуют значения регистров стека (только qword)
|
||||
|
||||
;R.X1
|
||||
dq 0.0
|
||||
;R.X
|
||||
dq 2.0
|
||||
;R.Y
|
||||
dq 0.0
|
||||
;R.Z
|
||||
dq 0.0
|
||||
;R.T
|
||||
dq 0.0
|
||||
|
||||
db "<РГСТ>"
|
||||
|
||||
;Регистры: (с R.0 по R.E)
|
||||
|
||||
times 15 dq 0.0
|
||||
|
||||
db "<ПРГМ>"
|
||||
;Программа в ОПКОДах МК
|
||||
|
||||
db 0x22,0x20,0x12,0x50,0x51,0x00
|
||||
@@ -0,0 +1,46 @@
|
||||
;Файл программы для PrMK. Скомпилировать с помощью FASM.
|
||||
|
||||
;Игра "крестики-нолики"
|
||||
;Перепечатано с книги "Игры с микро ЭВМ" Я.К.Трохименко. Киев. "Технiка", 1986
|
||||
|
||||
;Установить переключатель Р-Г в положение Р, нажать клавиши В/О и С/П для высвечивания номера РX=9 центральной клетки, "занимаемой" микрокалькулятором; после каждого высвечивания номера клетки, "занимаемой" микрокалькулятором, вводить в регистр X номер клетки, "занимаемой" противником, и нажимать только клавишу С/П; при выигрыше микрокалькулятора высвечиваются цифры 77 (номер клетки, "занимаемой" последним ходом микрокалькулятора, хранится в регистре Y); при ничейном результате высвечивается нуль.
|
||||
|
||||
;Номера клеток поля:
|
||||
|
||||
; 1 | 2 | 3
|
||||
;-----------------
|
||||
; 8 | 9 | 4
|
||||
;-----------------
|
||||
; 7 | 6 | 5
|
||||
|
||||
|
||||
db "<СТЕК>"
|
||||
|
||||
;далее следуют значения регистров стека (только qword)
|
||||
|
||||
;R.X1
|
||||
dq 0.0
|
||||
;R.X
|
||||
dq 0.0
|
||||
;R.Y
|
||||
dq 0.0
|
||||
;R.Z
|
||||
dq 0.0
|
||||
;R.T
|
||||
dq 0.0
|
||||
|
||||
db "<РГСТ>"
|
||||
|
||||
;Регистры: (с R.0 по R.E)
|
||||
|
||||
times 15 dq 0.0
|
||||
|
||||
db "<ПРГМ>"
|
||||
;Программа в ОПКОДах МК
|
||||
|
||||
db 0x0E,0x09,0x50,0x53,0x19,0x20,0x12,0x1D,0x5C,0x11
|
||||
db 0x69,0x53,0x19,0x01,0x11,0x51,0x30,0x67,0x53,0x19
|
||||
db 0x67,0x53,0x19,0x00,0x50,0x01,0x11,0x5E,0x1E,0x08
|
||||
db 0x49,0x50,0x47,0x69,0x04,0x11,0x57,0x28,0x5C,0x2A
|
||||
db 0x08,0x10,0x48,0x67,0x11,0x57,0x33,0x68,0x07,0x07
|
||||
db 0x50,0x69,0x52
|
||||
@@ -0,0 +1,97 @@
|
||||
;Файл программы для PrMK. Скомпилировать с помощью FASM.
|
||||
|
||||
;Игра "Посадка на Луну"
|
||||
;Перепечатано с книги "5 вечеров с микрокалькулятором" И.Д.Данилов, Г.В.Славин. Москва. "Финансы и статистика", 1988
|
||||
;Andriy Slezenko, student@uninet.kiev.ua
|
||||
|
||||
;1. Ввести программу.
|
||||
;2. Перейти в режим вычислений.
|
||||
;3. В/О С/П "0".
|
||||
;4. h0 (начальная высота корабля) ПА v0 (начальная скорость) ПВ.
|
||||
; m0 (исходная масса топлива) ПС g (ускорение свободного падения для планеты) П9.
|
||||
;5. С/П "h" XY "v" ИПС "m" ИП4 "t" (текущие значения).
|
||||
;6. S (расход топлива в следующую секунду).
|
||||
;7. Перейти к п.5 и продолжать до посадки корабля.
|
||||
|
||||
;Цель игры - посадить корабль на Луну.
|
||||
; Ситуация у нас с вами такая такая. Ракета находится на расстоянии N метров от Луны, скорость ее V метров в секунду, запас топлива в баках - S тонн. Величины эти, конечно, известны командиру. Сопла ракеты повернуты к Луне и, добавляя топливо в двигатель, мы начинаем тормозить. Каждую секунду на световом табло в командирской рубке появляется информация о высоте корабля над поверхностью планеты, скорости его и запасе топлива. Так как командиром корабля будете вы, то знайте, что перед тем, как посмотреть на табло, нужно нажать такие клавиши: XY показывает скорость, ИПС дает остаток топлива в баке, ИП4 - время с начала торможения. Что касается высоты ракеты над планетой, то она будет загораться на вашем табло сразу при остановке калькулятора после проведения очередного маневра.
|
||||
; Задача понятна - посадить корабль так, чтобы в момент посадки скорость его была близка к нулю, топлива при этом желательно израсходовать поменьше, да и провести посадку побыстрее - незачем долго мучить членов экипажа, ведь перегрузки при посадке не маленькие. Да, что касается топлива, дополнительное условие - если его останется меньше 95 тонн, то обратный старт на Землю станет невозможным.
|
||||
|
||||
;Контрольный пример:
|
||||
;Пусть высота будет 1000 метров, скорость - 150 м/с, запас топлива - 500 тонн. Да, еще нужно ввести в бортовой компьютер ускорение свободного падения на Луне - 1,62 м/с^2. Вводим эти числа соответственно в регистры РА, РВ, РС и Р9.
|
||||
;Нажимаем В/О С/П и на индикаторе появилась начальная высота. Вводим в двигатель первую порцию топлива - 20 С/П. Через 10 секунд на индикаторе появилась высота, на которой теперь находился корабль, 856.4. Еще столько же топлива - 20 С/П и высота стала 719.4. Еще порция побольше - 25 С/П. Высота 591 метр.
|
||||
;Проверим остальные параметры: скорость (клавиша XY) - 128,4 м/с, запас топлива (ИПС) - 435 тонн, время в пути (ИП4) - 3 с.
|
||||
;После ввода два раза подряд по 30 тонн горючего, высота корабля снизилась до 366,9 м.
|
||||
;После дальнейшего ввода два раза подряд по 35 тонн горючего, табло показало высоту - 194,1 м, скорость - 76,6, топливо - 305, время - 7.
|
||||
;Далее полет протекал так:
|
||||
|
||||
; Расход топлива Высота
|
||||
; 40 130.5
|
||||
; 45 85.6
|
||||
; 40 57.4
|
||||
; 40 46.2
|
||||
; 10 38.1
|
||||
; 10 33.2
|
||||
; 0 26.6
|
||||
; 0 18.4
|
||||
; 5 10.9
|
||||
; 7 5.1
|
||||
; 8 1.6
|
||||
; 10 1.2
|
||||
; 5 1.5
|
||||
; (здесь скорость оказалась
|
||||
; отрицательной (-0,3) и корабль
|
||||
; начал снова удаляться от поверхности)
|
||||
; 0 0.3
|
||||
; 3 3.1111111
|
||||
;Коснулись поверхности Луны. После посадки выяснилось (ИПС), что топлива осталось 82 тонны, а время, затраченное на этот процесс (ИП4), 21 секунда.
|
||||
;В итоге мы видим, что сели тяжеловато, но корабль цел, с экипажем все в порядке. Вот только топлива перерасходовали, на обратный путь не хватит. Придется на Луне ждать корабль-спасатель и надеяться, что его капитан справится с посадкой лучше вас.
|
||||
;Но не огорчайтесь. Для первого раза вполне прилично.
|
||||
|
||||
;Примечания:
|
||||
;1. Числа в кавычках - это числа, высвечиваемые на экране.
|
||||
;2. Выполнять п.4 не обязательно. По умолчанию предполагается: h=1000 м, v0=150 м/с, m0+500 т, g=1,62 м/с^2 для Луны.
|
||||
;3. Смысл сообщений о качестве посадки расшифрован ниже.
|
||||
|
||||
;1,1111111 - идеальная посадка;
|
||||
;2,1111111 - нормальная посадка;
|
||||
;3,1111111 - тяжелая посадка;
|
||||
;4,1111111 - посадка с легко устранимыми повреждениями;
|
||||
;5,1111111 - повреждения, полученные при посадке, неустранимы. Обратный старт к Земле вряд ли возможен;
|
||||
;6,1111111 - очень сильные повреждения;
|
||||
;7,1111111 - разгерметизация отдельных блоков в результате сильного удара. Жизнь членов экипажа под угрозой;
|
||||
;8,1111111 - гибель экипажа;
|
||||
;9,1111111 - взрыв корабля.
|
||||
|
||||
|
||||
db "<СТЕК>"
|
||||
|
||||
;далее следуют значения регистров стека (только qword)
|
||||
|
||||
;R.X1
|
||||
dq 0.0
|
||||
;R.X
|
||||
dq 0.0
|
||||
;R.Y
|
||||
dq 0.0
|
||||
;R.Z
|
||||
dq 0.0
|
||||
;R.T
|
||||
dq 0.0
|
||||
|
||||
db "<РГСТ>"
|
||||
|
||||
;Регистры: (с R.0 по R.E)
|
||||
|
||||
times 15 dq 0.0
|
||||
|
||||
db "<ПРГМ>"
|
||||
;Программа в ОПКОДах МК
|
||||
|
||||
db 0x0D,0x44,0x0C,0x03,0x4A,0x48,0x02,0x13,0x4C,0x01
|
||||
db 0x05,0x00,0x4B,0x01,0x0A,0x06,0x02,0x49,0x0D,0x50
|
||||
db 0x6B,0x6A,0x50,0x40,0xD4,0x14,0x6C,0x14,0x11,0x5C
|
||||
db 36 ,0x0D,0x40,0x6C,0x51, 37 ,0x4C,0x68,0x13,0x02
|
||||
db 0x10,0x60,0x14,0x13,0x69,0x14,0x11,0x6B,0x10,0x4B
|
||||
db 0x6A,0x14,0x11,0x4A,0x5C, 20 ,0x0B,0x6B,0x22,0x21
|
||||
db 0x10,0x01,0x10,0x4D,0xDD,0x6D,0x09,0x23,0x10,0x50
|
||||
@@ -0,0 +1,180 @@
|
||||
|
||||
; Macroinstructions for defining data structures
|
||||
|
||||
macro struct name
|
||||
{ fields@struct equ name
|
||||
match child parent, name \{ fields@struct equ child,fields@\#parent \}
|
||||
sub@struct equ
|
||||
struc db [val] \{ \common fields@struct equ fields@struct,.,db,<val> \}
|
||||
struc dw [val] \{ \common fields@struct equ fields@struct,.,dw,<val> \}
|
||||
struc du [val] \{ \common fields@struct equ fields@struct,.,du,<val> \}
|
||||
struc dd [val] \{ \common fields@struct equ fields@struct,.,dd,<val> \}
|
||||
struc dp [val] \{ \common fields@struct equ fields@struct,.,dp,<val> \}
|
||||
struc dq [val] \{ \common fields@struct equ fields@struct,.,dq,<val> \}
|
||||
struc dt [val] \{ \common fields@struct equ fields@struct,.,dt,<val> \}
|
||||
struc rb count \{ fields@struct equ fields@struct,.,db,count dup (?) \}
|
||||
struc rw count \{ fields@struct equ fields@struct,.,dw,count dup (?) \}
|
||||
struc rd count \{ fields@struct equ fields@struct,.,dd,count dup (?) \}
|
||||
struc rp count \{ fields@struct equ fields@struct,.,dp,count dup (?) \}
|
||||
struc rq count \{ fields@struct equ fields@struct,.,dq,count dup (?) \}
|
||||
struc rt count \{ fields@struct equ fields@struct,.,dt,count dup (?) \}
|
||||
macro db [val] \{ \common \local anonymous
|
||||
fields@struct equ fields@struct,anonymous,db,<val> \}
|
||||
macro dw [val] \{ \common \local anonymous
|
||||
fields@struct equ fields@struct,anonymous,dw,<val> \}
|
||||
macro du [val] \{ \common \local anonymous
|
||||
fields@struct equ fields@struct,anonymous,du,<val> \}
|
||||
macro dd [val] \{ \common \local anonymous
|
||||
fields@struct equ fields@struct,anonymous,dd,<val> \}
|
||||
macro dp [val] \{ \common \local anonymous
|
||||
fields@struct equ fields@struct,anonymous,dp,<val> \}
|
||||
macro dq [val] \{ \common \local anonymous
|
||||
fields@struct equ fields@struct,anonymous,dq,<val> \}
|
||||
macro dt [val] \{ \common \local anonymous
|
||||
fields@struct equ fields@struct,anonymous,dt,<val> \}
|
||||
macro rb count \{ \local anonymous
|
||||
fields@struct equ fields@struct,anonymous,db,count dup (?) \}
|
||||
macro rw count \{ \local anonymous
|
||||
fields@struct equ fields@struct,anonymous,dw,count dup (?) \}
|
||||
macro rd count \{ \local anonymous
|
||||
fields@struct equ fields@struct,anonymous,dd,count dup (?) \}
|
||||
macro rp count \{ \local anonymous
|
||||
fields@struct equ fields@struct,anonymous,dp,count dup (?) \}
|
||||
macro rq count \{ \local anonymous
|
||||
fields@struct equ fields@struct,anonymous,dq,count dup (?) \}
|
||||
macro rt count \{ \local anonymous
|
||||
fields@struct equ fields@struct,anonymous,dt,count dup (?) \}
|
||||
macro union \{ fields@struct equ fields@struct,,union,<
|
||||
sub@struct equ union \}
|
||||
macro struct \{ fields@struct equ fields@struct,,substruct,<
|
||||
sub@struct equ substruct \}
|
||||
virtual at 0 }
|
||||
|
||||
macro ends
|
||||
{ match , sub@struct \{ restruc db,dw,du,dd,dp,dq,dt
|
||||
restruc rb,rw,rd,rp,rq,rt
|
||||
purge db,dw,du,dd,dp,dq,dt
|
||||
purge rb,rw,rd,rp,rq,rt
|
||||
purge union,struct
|
||||
match name=,fields,fields@struct \\{ fields@struct equ
|
||||
make@struct name,fields
|
||||
fields@\\#name equ fields \\}
|
||||
end virtual \}
|
||||
match any, sub@struct \{ fields@struct equ fields@struct> \}
|
||||
restore sub@struct }
|
||||
|
||||
macro make@struct name,[field,type,def]
|
||||
{ common
|
||||
if $
|
||||
display 'Error: definition of ',`name,' contains illegal instructions.',0Dh,0Ah
|
||||
err
|
||||
end if
|
||||
local define
|
||||
define equ name
|
||||
forward
|
||||
local sub
|
||||
match , field \{ make@substruct type,name,sub def
|
||||
define equ define,.,sub, \}
|
||||
match any, field \{ define equ define,.#field,type,<def> \}
|
||||
common
|
||||
match fields, define \{ define@struct fields \} }
|
||||
|
||||
macro define@struct name,[field,type,def]
|
||||
{ common
|
||||
local list
|
||||
list equ
|
||||
forward
|
||||
if ~ field eq .
|
||||
name#field type def
|
||||
sizeof.#name#field = $ - name#field
|
||||
else
|
||||
rb sizeof.#type
|
||||
end if
|
||||
local value
|
||||
match any, list \{ list equ list, \}
|
||||
list equ list <value>
|
||||
common
|
||||
sizeof.#name = $
|
||||
restruc name
|
||||
match values, list \{
|
||||
struc name value \\{
|
||||
match any, fields@struct \\\{ fields@struct equ fields@struct,.,name,<values> \\\}
|
||||
match , fields@struct \\\{ label .
|
||||
forward
|
||||
match , value \\\\{ field type def \\\\}
|
||||
match any, value \\\\{ field type value
|
||||
if ~ field eq .
|
||||
rb sizeof.#name#field - ($-field)
|
||||
end if \\\\}
|
||||
common \\\} \\} \} }
|
||||
|
||||
macro enable@substruct
|
||||
{ macro make@substruct substruct,parent,name,[field,type,def]
|
||||
\{ \common
|
||||
\local define
|
||||
define equ parent,name
|
||||
\forward
|
||||
\local sub
|
||||
match , field \\{ match any, type \\\{ enable@substruct
|
||||
make@substruct type,name,sub def
|
||||
purge make@substruct
|
||||
define equ define,.,sub, \\\} \\}
|
||||
match any, field \\{ define equ define,.\#field,type,<def> \\}
|
||||
\common
|
||||
match fields, define \\{ define@\#substruct fields \\} \} }
|
||||
|
||||
enable@substruct
|
||||
|
||||
macro define@union parent,name,[field,type,def]
|
||||
{ common
|
||||
virtual at 0
|
||||
forward
|
||||
if ~ field eq .
|
||||
virtual at 0
|
||||
parent#field type def
|
||||
sizeof.#parent#field = $ - parent#field
|
||||
end virtual
|
||||
if sizeof.#parent#field > $
|
||||
rb sizeof.#parent#field - $
|
||||
end if
|
||||
else if sizeof.#type > $
|
||||
rb sizeof.#type - $
|
||||
end if
|
||||
common
|
||||
sizeof.#name = $
|
||||
end virtual
|
||||
struc name [value] \{ \common
|
||||
label .\#name
|
||||
last@union equ
|
||||
forward
|
||||
match any, last@union \\{ virtual at .\#name
|
||||
field type def
|
||||
end virtual \\}
|
||||
match , last@union \\{ match , value \\\{ field type def \\\}
|
||||
match any, value \\\{ field type value \\\} \\}
|
||||
last@union equ field
|
||||
common rb sizeof.#name - ($ - .\#name) \} }
|
||||
|
||||
macro define@substruct parent,name,[field,type,def]
|
||||
{ common
|
||||
virtual at 0
|
||||
forward
|
||||
if ~ field eq .
|
||||
parent#field type def
|
||||
sizeof.#parent#field = $ - parent#field
|
||||
else
|
||||
rb sizeof.#type
|
||||
end if
|
||||
local value
|
||||
common
|
||||
sizeof.#name = $
|
||||
end virtual
|
||||
struc name value \{
|
||||
label .\#name
|
||||
forward
|
||||
match , value \\{ field type def \\}
|
||||
match any, value \\{ field type value
|
||||
if ~ field eq .
|
||||
rb sizeof.#parent#field - ($-field)
|
||||
end if \\}
|
||||
common \} }
|
||||
@@ -0,0 +1,566 @@
|
||||
; Типовой файл с заданиями для клавиатурного
|
||||
; тренажёра KJ|ABuIIIA
|
||||
|
||||
; МАКСИМАЛЬНО ДОПУСТИМЫЙ РАЗМЕР СТРОКИ
|
||||
; БЕЗ СКРОЛЛИНГА - 38 СИМВОЛОВ!
|
||||
; (при размере окна по умолчанию)
|
||||
|
||||
; Настоятельно НЕ РЕКОМЕНДУЕТСЯ делать строки
|
||||
; для набора длиннее 38 символов.
|
||||
|
||||
; Строки отделяются одна от другой байтом 0x00
|
||||
|
||||
; Уроки отделяются один от другого байтом 0xFE,
|
||||
; который ставится ВМЕСТО 0x00 в конце последней
|
||||
; строки урока
|
||||
|
||||
; Последним байтом файла ДОЛЖЕН быть байт 0xFF,
|
||||
; который ставится ПОСЛЕ последнего 0xFE в конце
|
||||
; последнего урока
|
||||
|
||||
; Собранный файл (или же набранный вручную в
|
||||
; HEX-редакторе) должен иметь расширение .KLA
|
||||
|
||||
|
||||
; ----------------------------------------------
|
||||
|
||||
; Учебный курс
|
||||
|
||||
; Составитель: Андрей Михайлович (Dron2004)
|
||||
|
||||
; Урок 1
|
||||
db 'ф ф ф ф ф ф ф ф ф ф ф ф ф ф ф ф ф', 0x00
|
||||
db 'ф ф ф ф ф ф ф ф ф ф ф ф ф ф ф ф ф', 0x00
|
||||
db 'ф ф ф ф ф ф ф ф ф ф ф ф ф ф ф ф ф', 0x0
|
||||
db 'ф ф ф ф ф ф ф ф ф ф ф ф ф ф ф ф ф', 0x00
|
||||
db 'ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы', 0x00
|
||||
db 'ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы', 0x00
|
||||
db 'ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы', 0x00
|
||||
db 'ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы ы', 0x00
|
||||
db 'в в в в в в в в в в в в в в в в в', 0x00
|
||||
db 'в в в в в в в в в в в в в в в в в', 0x00
|
||||
db 'в в в в в в в в в в в в в в в в в', 0x00
|
||||
db 'в в в в в в в в в в в в в в в в в', 0x00
|
||||
db 'а а а а а а а а а а а а а а а а а', 0x00
|
||||
db 'а а а а а а а а а а а а а а а а а', 0x00
|
||||
db 'а а а а а а а а а а а а а а а а а', 0x00
|
||||
db 'а а а а а а а а а а а а а а а а а', 0x00
|
||||
db 'п п п п п п п п п п п п п п п п п', 0x00
|
||||
db 'п а п а п а п а п а п а п а п а п', 0x00
|
||||
db 'п п п п п п п п п п п п п п п п п', 0x00
|
||||
db 'п а п а п а п а п а п а п а п а п', 0x00
|
||||
db 'п п п п п п п п п п п п п п п п п', 0x00
|
||||
db 'п а п а п а п а п а п а п а п а п', 0x00
|
||||
db 'фыва фыва фыва фыва фыва фыва фыва', 0x00
|
||||
db 'фыва фыва фыва фыва фыва фыва фыва', 0x00
|
||||
db 'фыва фыва фыва фыва фыва фыва фыва', 0x00
|
||||
db 'фыва фыва фыва фыва фыва фыва фыва', 0x00
|
||||
db 'фыва фыва фыва фыва фыва фыва фыва', 0x00
|
||||
db 'фыва п фыва п фыва п фыва п фыва п', 0x00
|
||||
db 'фыва п фыва п фыва п фыва п фыва п', 0x00
|
||||
db 'фыва п фыва п фыва п фыва п фыва п', 0x00
|
||||
db 'фыва п фыва п фыва п фыва п фыва п', 0x00
|
||||
db 'авыф авыф авыф авыф авыф аывф авыф', 0x00
|
||||
db 'авыф авыф авыф авыф авыф аывф авыф', 0x00
|
||||
db 'п авыф п авыф п авыф п авыф п авыф', 0x00
|
||||
db 'п авыф п авыф п авыф п авыф п авыф', 0xFE
|
||||
|
||||
; Урок 2
|
||||
db 'о о о о о о о о о о о о о о о о о',0x00
|
||||
db 'о о о о о о о о о о о о о о о о о',0x00
|
||||
db 'о о о о о о о о о о о о о о о о о',0x00
|
||||
db 'о о о о о о о о о о о о о о о о о',0x00
|
||||
db 'л л л л л л л л л л л л л л л л л',0x00
|
||||
db 'л л л л л л л л л л л л л л л л л',0x00
|
||||
db 'л л л л л л л л л л л л л л л л л',0x00
|
||||
db 'л л л л л л л л л л л л л л л л л',0x00
|
||||
db 'д д д д д д д д д д д д д д д д д',0x00
|
||||
db 'д д д д д д д д д д д д д д д д д',0x00
|
||||
db 'д д д д д д д д д д д д д д д д д',0x00
|
||||
db 'д д д д д д д д д д д д д д д д д',0x00
|
||||
db 'ж ж ж ж ж ж ж ж ж ж ж ж ж ж ж ж ж',0x00
|
||||
db 'ж ж ж ж ж ж ж ж ж ж ж ж ж ж ж ж ж',0x00
|
||||
db 'ж ж ж ж ж ж ж ж ж ж ж ж ж ж ж ж ж',0x00
|
||||
db 'ж ж ж ж ж ж ж ж ж ж ж ж ж ж ж ж ж',0x00
|
||||
db 'р р р р р р р р р р р р р р р р р',0x00
|
||||
db 'р р р р р р р р р р р р р р р р р',0x00
|
||||
db 'р р р р р р р р р р р р р р р р р',0x00
|
||||
db 'р р р р р р р р р р р р р р р р р',0x00
|
||||
db 'ор ор ор ор ор ор ор ор ор ор ор',0x00
|
||||
db 'ор ор ор ор ор ор ор ор ор ор ор',0x00
|
||||
db 'ор ор ор ор ор ор ор ор ор ор ор',0x00
|
||||
db 'ро ро ро ро ро ро ро ро ро ро ро',0x00
|
||||
db 'ро ро ро ро ро ро ро ро ро ро ро', 0x00
|
||||
db 'ро ро ро ро ро ро ро ро ро ро ро', 0x00
|
||||
db 'э э э э э э э э э э э э э э э э', 0x00
|
||||
db 'э э э э э э э э э э э э э э э э', 0x00
|
||||
db 'э э э э э э э э э э э э э э э э', 0x00
|
||||
db 'э э э э э э э э э э э э э э э э', 0x00
|
||||
db 'э э э э э э э э э э э э э э э э', 0x00
|
||||
db 'э э э э э э э э э э э э э э э э', 0x00
|
||||
db 'ор эж ор эж ор эж ор эж ор эж ор', 0x00
|
||||
db 'ор эж ор эж ор эж ор эж ор эж ор', 0x00
|
||||
db 'ор эж ор эж ор эж ор эж ор эж ор', 0x00
|
||||
db 'ор эж ор эж ор эж ор эж ор эж ор', 0x00
|
||||
db 'олдж олдж олдж олдж олдж олдж э', 0x00
|
||||
db 'олдж олдж олдж олдж олдж олдж э', 0x00
|
||||
db 'олдж олдж олдж олдж олдж олдж э', 0x00
|
||||
db 'олдж олдж олдж олдж олдж олдж э', 0x00
|
||||
db 'эр эр эр эр эр эр эр эр эр эр эр', 0x00
|
||||
db 'эр эр эр эр эр эр эр эр эр эр эр', 0x00
|
||||
db 'эр эр эр эр эр эр эр эр эр эр эр', 0x00
|
||||
db 'эр эр эр эр эр эр эр эр эр эр эр', 0xFE
|
||||
|
||||
;Урок 3
|
||||
db 'фыва пр олдж э фыва пр олдж э',0x00
|
||||
db 'фыва пр олдж э фыва пр олдж э',0x00
|
||||
db 'фыва пр олдж э фыва пр олдж э',0x00
|
||||
db 'фыва пр олдж э фыва пр олдж э',0x00
|
||||
db 'фыва пр олдж э фыва пр олдж э',0x00
|
||||
db 'фыва пр олдж э фыва пр олдж э',0x00
|
||||
db 'фыва пропал олдж пропал ааа эээ',0x00
|
||||
db 'фыва пропал олдж пропал ааа эээ',0x00
|
||||
db 'фыва пропал олдж пропал ааа эээ',0x00
|
||||
db 'фыва пропал олдж пропал ааа эээ',0x00
|
||||
db 'фыва пропал олдж пропал ааа эээ',0x00
|
||||
db 'фыва пропал олдж пропал ааа эээ',0x00
|
||||
db 'про ор эдж ждло про ор эдж ждло',0x00
|
||||
db 'про ор эдж ждло про ор эдж ждло',0x00
|
||||
db 'про ор эдж ждло про ор эдж ждло',0x00
|
||||
db 'про ор эдж ждло про ор эдж ждло',0x00
|
||||
db 'про ор эдж ждло про ор эдж ждло',0x00
|
||||
db 'про ор эдж ждло про ор эдж ждло',0x00
|
||||
db 'про ор эдж ждло про ор эдж ждло',0x00
|
||||
db 'про ор эдж ждло про ор эдж ждло',0x00
|
||||
db 'про ор эдж ждло про ор эдж ждло',0x00
|
||||
db 'ф э ф э ф э ф э ф э ф э ф э ф э',0x00
|
||||
db 'ф э ф э ф э ф э ф э ф э ф э ф э',0x00
|
||||
db 'ф э ф э ф э ф э ф э ф э ф э ф э',0x00
|
||||
db 'ф э ф э ф э ф э ф э ф э ф э ф э',0x00
|
||||
db 'ф э ф э ф э ф э ф э ф э ф э ф э',0x00
|
||||
db 'ф э ф э ф э ф э ф э ф э ф э ф э',0x00
|
||||
db 'падал лорд пропал род фыва эпр',0x00
|
||||
db 'падал лорд пропал род фыва эпр',0x00
|
||||
db 'падал лорд пропал род фыва эпр',0x00
|
||||
db 'падал лорд пропал род фыва эпр',0x00
|
||||
db 'падал лорд пропал род фыва эпр',0x00
|
||||
db 'дол род дол род да да да проф',0x00
|
||||
db 'дол род дол род да да да проф',0x00
|
||||
db 'дол род дол род да да да проф',0x00
|
||||
db 'дол род дол род да да да проф',0x00
|
||||
db 'ап ор ап ор ап ор ро па ро па',0x00
|
||||
db 'ап ор ап ор ап ор ро па ро па',0x00
|
||||
db 'ап ор ап ор ап ор ро па ро па',0x00
|
||||
db 'ап ор ап ор ап ор ро па ро па',0x00
|
||||
db 'ап ор ап ор ап ор ро па ро па',0x00
|
||||
db 'ап ор ап ор ап ор ро па ро па',0x00
|
||||
db 'ап ор ап ор ап ор ро па ро па',0x00
|
||||
db 'жэ ыф жэ ыф жэ ыф жэ ыф жэ ыф',0x00
|
||||
db 'жэ ыф жэ ыф жэ ыф жэ ыф жэ ыф',0x00
|
||||
db 'жэ ыф жэ ыф жэ ыф жэ ыф жэ ыф',0x00
|
||||
db 'жэ ыф жэ ыф жэ ыф жэ ыф жэ ыф',0x00
|
||||
db 'жэ ыф жэ ыф жэ ыф жэ ыф жэ ыф',0x00
|
||||
db 'жэ ыф жэ ыф жэ ыф жэ ыф жэ ыф',0x00
|
||||
db 'жэ ыф жэ ыф жэ ыф жэ ыф жэ ыф',0x00
|
||||
db 'жэ ыф жэ ыф жэ ыф жэ ыф жэ ыф',0x00
|
||||
db 'эж фы эж фы эж фы эж фы эж фы',0x00
|
||||
db 'эж фы эж фы эж фы эж фы эж фы',0x00
|
||||
db 'эж фы эж фы эж фы эж фы эж фы',0x00
|
||||
db 'эж фы эж фы эж фы эж фы эж фы',0x00
|
||||
db 'эж фы эж фы эж фы эж фы эж фы',0x00
|
||||
db 'эж фы эж фы эж фы эж фы эж фы',0xFE
|
||||
|
||||
|
||||
;Урок 4
|
||||
db 'я я я я я я я я я я я я я я я',0x00
|
||||
db 'я я я я я я я я я я я я я я я',0x00
|
||||
db 'я я я я я я я я я я я я я я я',0x00
|
||||
db 'я я я я я я я я я я я я я я я',0x00
|
||||
db 'я ф я ф я ф я ф я ф я ф я ф я',0x00
|
||||
db 'я ф я ф я ф я ф я ф я ф я ф я',0x00
|
||||
db 'я ф я ф я ф я ф я ф я ф я ф я',0x00
|
||||
db 'я ф я ф я ф я ф я ф я ф я ф я',0x00
|
||||
db 'я ф я ф я ф я ф я ф я ф я ф я',0x00
|
||||
db 'я ф я ф я ф я ф я ф я ф я ф я',0x00
|
||||
db 'ч ч ч ч ч ч ч ч ч ч ч ч ч ч ч',0x00
|
||||
db 'ч ч ч ч ч ч ч ч ч ч ч ч ч ч ч',0x00
|
||||
db 'ч ч ч ч ч ч ч ч ч ч ч ч ч ч ч',0x00
|
||||
db 'ч ч ч ч ч ч ч ч ч ч ч ч ч ч ч',0x00
|
||||
db 'ч ы ч ы ч ы ч ы ч ы ч ы ч ы ч',0x00
|
||||
db 'ч ы ч ы ч ы ч ы ч ы ч ы ч ы ч',0x00
|
||||
db 'ч ы ч ы ч ы ч ы ч ы ч ы ч ы ч',0x00
|
||||
db 'ч ы ч ы ч ы ч ы ч ы ч ы ч ы ч',0x00
|
||||
db 'ч ы ч ы ч ы ч ы ч ы ч ы ч ы ч',0x00
|
||||
db 'ч ы ч ы ч ы ч ы ч ы ч ы ч ы ч',0x00
|
||||
db 'с с с с с с с с с с с с с с с',0x00
|
||||
db 'с с с с с с с с с с с с с с с',0x00
|
||||
db 'с с с с с с с с с с с с с с с',0x00
|
||||
db 'с с с с с с с с с с с с с с с',0x00
|
||||
db 'с в с в с в с в с в с в с в с',0x00
|
||||
db 'с в с в с в с в с в с в с в с',0x00
|
||||
db 'с в с в с в с в с в с в с в с',0x00
|
||||
db 'с в с в с в с в с в с в с в с',0x00
|
||||
db 'с в с в с в с в с в с в с в с',0x00
|
||||
db 'с в с в с в с в с в с в с в с',0x00
|
||||
db 'м м м м м м м м м м м м м м м',0x00
|
||||
db 'м м м м м м м м м м м м м м м',0x00
|
||||
db 'м м м м м м м м м м м м м м м',0x00
|
||||
db 'м м м м м м м м м м м м м м м',0x00
|
||||
db 'м а м а м а м а м а м а м а м',0x00
|
||||
db 'м а м а м а м а м а м а м а м',0x00
|
||||
db 'м а м а м а м а м а м а м а м',0x00
|
||||
db 'м а м а м а м а м а м а м а м',0x00
|
||||
db 'мама мама мама мама мама мама',0x00
|
||||
db 'мама мама мама мама мама мама',0x00
|
||||
db 'мама мама мама мама мама мама',0x00
|
||||
db 'мама мама мама мама мама мама',0x00
|
||||
db 'и и и и и и и и и и и и и и и',0x00
|
||||
db 'и и и и и и и и и и и и и и и',0x00
|
||||
db 'и и и и и и и и и и и и и и и',0x00
|
||||
db 'и и и и и и и и и и и и и и и',0x00
|
||||
db 'и п и п и п и п и п и п и п и',0x00
|
||||
db 'и п и п и п и п и п и п и п и',0x00
|
||||
db 'и п и п и п и п и п и п и п и',0x00
|
||||
db 'и п и п и п и п и п и п и п и',0x00
|
||||
db 'мапи мапи мапи мапи мапи мапи',0x00
|
||||
db 'мапи мапи мапи мапи мапи мапи',0x00
|
||||
db 'мапи мапи мапи мапи мапи мапи',0x00
|
||||
db 'мапи мапи мапи мапи мапи мапи',0x00
|
||||
db 'яма вам сам мап фыв чип пива',0x00
|
||||
db 'яма вам сам мап фыв чип пива',0x00
|
||||
db 'яма вам сам мап фыв чип пива',0x00
|
||||
db 'фывап ячсми фывап ячсми имсчя',0x00
|
||||
db 'фывап ячсми фывап ячсми имсчя',0x00
|
||||
db 'фывап ячсми фывап ячсми имсчя',0x00
|
||||
db 'фывап ячсми фывап ячсми имсчя',0x00
|
||||
db 'фывап ячсми фывап ячсми имсчя',0x00
|
||||
db 'фывап ячсми фывап ячсми имсчя',0xFE
|
||||
|
||||
;Урок 5
|
||||
db 'т т т т т т т т т т т т т т т',0x00
|
||||
db 'т т т т т т т т т т т т т т т',0x00
|
||||
db 'т т т т т т т т т т т т т т т',0x00
|
||||
db 'т т т т т т т т т т т т т т т',0x00
|
||||
db 'т р т р т р т р т р т р т р т',0x00
|
||||
db 'т р т р т р т р т р т р т р т',0x00
|
||||
db 'т р т р т р т р т р т р т р т',0x00
|
||||
db 'т р т р т р т р т р т р т р т',0x00
|
||||
db 'т р т р т р т р т р т р т р т',0x00
|
||||
db 'т р т р т р т р т р т р т р т',0x00
|
||||
db 'ь ь ь ь ь ь ь ь ь ь ь ь ь ь ь',0x00
|
||||
db 'ь ь ь ь ь ь ь ь ь ь ь ь ь ь ь',0x00
|
||||
db 'ь ь ь ь ь ь ь ь ь ь ь ь ь ь ь',0x00
|
||||
db 'ь ь ь ь ь ь ь ь ь ь ь ь ь ь ь',0x00
|
||||
db 'ь о ь о ь о ь о ь о ь о ь о ь',0x00
|
||||
db 'ь о ь о ь о ь о ь о ь о ь о ь',0x00
|
||||
db 'ь о ь о ь о ь о ь о ь о ь о ь',0x00
|
||||
db 'ь о ь о ь о ь о ь о ь о ь о ь',0x00
|
||||
db 'ь о ь о ь о ь о ь о ь о ь о ь',0x00
|
||||
db 'ь о ь о ь о ь о ь о ь о ь о ь',0x00
|
||||
db 'б б б б б б б б б б б б б б б',0x00
|
||||
db 'б б б б б б б б б б б б б б б',0x00
|
||||
db 'б б б б б б б б б б б б б б б',0x00
|
||||
db 'б б б б б б б б б б б б б б б',0x00
|
||||
db 'б л б л б л б л б л б л б л б',0x00
|
||||
db 'б л б л б л б л б л б л б л б',0x00
|
||||
db 'б л б л б л б л б л б л б л б',0x00
|
||||
db 'б л б л б л б л б л б л б л б',0x00
|
||||
db 'б л б л б л б л б л б л б л б',0x00
|
||||
db 'б л б л б л б л б л б л б л б',0x00
|
||||
db 'ю ю ю ю ю ю ю ю ю ю ю ю ю ю ю',0x00
|
||||
db 'ю ю ю ю ю ю ю ю ю ю ю ю ю ю ю',0x00
|
||||
db 'ю ю ю ю ю ю ю ю ю ю ю ю ю ю ю',0x00
|
||||
db 'ю ю ю ю ю ю ю ю ю ю ю ю ю ю ю',0x00
|
||||
db 'ю д ю д ю д ю д ю д ю д ю д ю',0x00
|
||||
db 'ю д ю д ю д ю д ю д ю д ю д ю',0x00
|
||||
db 'ю д ю д ю д ю д ю д ю д ю д ю',0x00
|
||||
db 'ю д ю д ю д ю д ю д ю д ю д ю',0x00
|
||||
db 'ю д ю д ю д ю д ю д ю д ю д ю',0x00
|
||||
db 'ю д ю д ю д ю д ю д ю д ю д ю',0x00
|
||||
db 'люд люд люд люд люд люд люд люд',0x00
|
||||
db 'люд люд люд люд люд люд люд люд',0x00
|
||||
db 'люд люд люд люд люд люд люд люд',0x00
|
||||
db 'люд люд люд люд люд люд люд люд',0x00
|
||||
db 'элт элт элт элт элт элт элт элт',0x00
|
||||
db 'элт элт элт элт элт элт элт элт',0x00
|
||||
db 'элт элт элт элт элт элт элт элт',0x00
|
||||
db 'род дол люд бють бють бють дот',0x00
|
||||
db 'род дол люд бють бють бють дот',0x00
|
||||
db 'род дол люд бють бють бють дот',0x00
|
||||
db 'род дол люд бють бють бють дот',0xFE
|
||||
|
||||
;Урок 6
|
||||
db 'мачта продал эдвард мир тюрьма',0x00
|
||||
db 'мачта продал эдвард мир тюрьма',0x00
|
||||
db 'мачта продал эдвард мир тюрьма',0x00
|
||||
db 'мачта продал эдвард мир тюрьма',0x00
|
||||
db 'я был дома продал сми спирт',0x00
|
||||
db 'я был дома продал сми спирт',0x00
|
||||
db 'я был дома продал сми спирт',0x00
|
||||
db 'я был дома продал сми спирт',0x00
|
||||
db 'там пиво вода да да да правда',0x00
|
||||
db 'там пиво вода да да да правда',0x00
|
||||
db 'там пиво вода да да да правда',0x00
|
||||
db 'там пиво вода да да да правда',0x00
|
||||
db 'варит вар и самовар чист аж э',0x00
|
||||
db 'варит вар и самовар чист аж э',0x00
|
||||
db 'варит вар и самовар чист аж э',0x00
|
||||
db 'варит вар и самовар чист аж э',0x00
|
||||
db 'фыва олджа бил и бил да побил',0x00
|
||||
db 'фыва олджа бил и бил да побил',0x00
|
||||
db 'фыва олджа бил и бил да побил',0x00
|
||||
db 'фыва олджа бил и бил да побил',0x00
|
||||
db 'я э ф ю я э ф ю я э ф ю я э ф',0x00
|
||||
db 'я э ф ю я э ф ю я э ф ю я э ф',0x00
|
||||
db 'я э ф ю я э ф ю я э ф ю я э ф',0x00
|
||||
db 'я э ф ю я э ф ю я э ф ю я э ф',0xFE
|
||||
|
||||
;Урок 7
|
||||
db 'й й й й й й й й й й й й й й й',0x00
|
||||
db 'й й й й й й й й й й й й й й й',0x00
|
||||
db 'й й й й й й й й й й й й й й й',0x00
|
||||
db 'й й й й й й й й й й й й й й й',0x00
|
||||
db 'й ф й ф й ф й ф й ф й ф й ф й',0x00
|
||||
db 'й ф й ф й ф й ф й ф й ф й ф й',0x00
|
||||
db 'й ф й ф й ф й ф й ф й ф й ф й',0x00
|
||||
db 'й ф й ф й ф й ф й ф й ф й ф й',0x00
|
||||
db 'й ф я й ф я й ф я й ф я й ф я',0x00
|
||||
db 'й ф я й ф я й ф я й ф я й ф я',0x00
|
||||
db 'й ф я й ф я й ф я й ф я й ф я',0x00
|
||||
db 'й ф я й ф я й ф я й ф я й ф я',0x00
|
||||
db 'ц ц ц ц ц ц ц ц ц ц ц ц ц ц ц',0x00
|
||||
db 'ц ц ц ц ц ц ц ц ц ц ц ц ц ц ц',0x00
|
||||
db 'ц ц ц ц ц ц ц ц ц ц ц ц ц ц ц',0x00
|
||||
db 'ц ц ц ц ц ц ц ц ц ц ц ц ц ц ц',0x00
|
||||
db 'ц ы ц ы ц ы ц ы ц ы ц ы ц ы ц',0x00
|
||||
db 'ц ы ц ы ц ы ц ы ц ы ц ы ц ы ц',0x00
|
||||
db 'ц ы ц ы ц ы ц ы ц ы ц ы ц ы ц',0x00
|
||||
db 'ц ы ц ы ц ы ц ы ц ы ц ы ц ы ц',0x00
|
||||
db 'цыц цыц цыц цыц цыц цыц цыц',0x00
|
||||
db 'цыц цыц цыц цыц цыц цыц цыц',0x00
|
||||
db 'ц ы ч ц ы ч ц ы ч ц ы ч ц ы ч',0x00
|
||||
db 'ц ы ч ц ы ч ц ы ч ц ы ч ц ы ч',0x00
|
||||
db 'ц ы ч ц ы ч ц ы ч ц ы ч ц ы ч',0x00
|
||||
db 'ц ы ч ц ы ч ц ы ч ц ы ч ц ы ч',0x00
|
||||
db 'у у у у у у у у у у у у у у у',0x00
|
||||
db 'у у у у у у у у у у у у у у у',0x00
|
||||
db 'у у у у у у у у у у у у у у у',0x00
|
||||
db 'у у у у у у у у у у у у у у у',0x00
|
||||
db 'у в у в у в у в у в у в у в у',0x00
|
||||
db 'у в у в у в у в у в у в у в у',0x00
|
||||
db 'у в у в у в у в у в у в у в у',0x00
|
||||
db 'у в у в у в у в у в у в у в у',0x00
|
||||
db 'у в с у в с у в с у в с у в с',0x00
|
||||
db 'у в с у в с у в с у в с у в с',0x00
|
||||
db 'у в с у в с у в с у в с у в с',0x00
|
||||
db 'у в с у в с у в с у в с у в с',0x00
|
||||
db 'к к к к к к к к к к к к к к к',0x00
|
||||
db 'к к к к к к к к к к к к к к к',0x00
|
||||
db 'к к к к к к к к к к к к к к к',0x00
|
||||
db 'к к к к к к к к к к к к к к к',0x00
|
||||
db 'к а к а к а к а к а к а к а к',0x00
|
||||
db 'к а к а к а к а к а к а к а к',0x00
|
||||
db 'к а к а к а к а к а к а к а к',0x00
|
||||
db 'к а к а к а к а к а к а к а к',0x00
|
||||
db 'кака кака кака кака кака кака',0x00
|
||||
db 'кака кака кака кака кака кака',0x00
|
||||
db 'кака кака кака кака кака кака',0x00
|
||||
db 'кака кака кака кака кака кака',0x00
|
||||
db 'к а м к а м к а м к а м к а м',0x00
|
||||
db 'к а м к а м к а м к а м к а м',0x00
|
||||
db 'к а м к а м к а м к а м к а м',0x00
|
||||
db 'к а м к а м к а м к а м к а м',0x00
|
||||
db 'е е е е е е е е е е е е е е е',0x00
|
||||
db 'е е е е е е е е е е е е е е е',0x00
|
||||
db 'е е е е е е е е е е е е е е е',0x00
|
||||
db 'е е е е е е е е е е е е е е е',0x00
|
||||
db 'е п е п е п е п е п е п е п е',0x00
|
||||
db 'е п е п е п е п е п е п е п е',0x00
|
||||
db 'е п е п е п е п е п е п е п е',0x00
|
||||
db 'е п е п е п е п е п е п е п е',0x00
|
||||
db 'е п и е п и е п и е п и е п и',0x00
|
||||
db 'е п и е п и е п и е п и е п и',0x00
|
||||
db 'е п и е п и е п и е п и е п и',0x00
|
||||
db 'е п и е п и е п и е п и е п и',0x00
|
||||
db 'йцуке фывап ячсми йцуке ячсми',0x00
|
||||
db 'йцуке фывап ячсми йцуке ячсми',0x00
|
||||
db 'йцуке фывап ячсми йцуке ячсми',0x00
|
||||
db 'йцуке фывап ячсми йцуке ячсми',0x00
|
||||
db 'йцуке фывап ячсми йцуке ячсми',0x00
|
||||
db 'йцуке фывап ячсми йцуке ячсми',0x00
|
||||
db 'йцуке фывап ячсми йцуке ячсми',0x00
|
||||
db 'екуцй павыф имсчя екуцй имсчя',0x00
|
||||
db 'екуцй павыф имсчя екуцй имсчя',0x00
|
||||
db 'екуцй павыф имсчя екуцй имсчя',0x00
|
||||
db 'екуцй павыф имсчя екуцй имсчя',0x00
|
||||
db 'екуцй павыф имсчя екуцй имсчя',0x00
|
||||
db 'екуцй павыф имсчя екуцй имсчя',0x00
|
||||
db 'ё ё ё ё ё ё ё ё ё ё ё ё ё ё ё',0x00
|
||||
db 'ё ё ё ё ё ё ё ё ё ё ё ё ё ё ё',0x00
|
||||
db 'ё ё ё ё ё ё ё ё ё ё ё ё ё ё ё',0x00
|
||||
db 'ё ё ё ё ё ё ё ё ё ё ё ё ё ё ё',0x00
|
||||
db 'ё ё ё ё ё ё ё ё ё ё ё ё ё ё ё',0x00
|
||||
db 'ф ё ф ё ф ё ф ё ф ё ф ё ф ё ф',0x00
|
||||
db 'ф ё ф ё ф ё ф ё ф ё ф ё ф ё ф',0x00
|
||||
db 'ф ё ф ё ф ё ф ё ф ё ф ё ф ё ф',0x00
|
||||
db 'ф ё ф ё ф ё ф ё ф ё ф ё ф ё ф',0x00
|
||||
db 'ф ё ф ё ф ё ф ё ф ё ф ё ф ё ф',0xFE
|
||||
|
||||
|
||||
;Урок 8
|
||||
db 'н н н н н н н н н н н н н н н',0x00
|
||||
db 'н н н н н н н н н н н н н н н',0x00
|
||||
db 'н н н н н н н н н н н н н н н',0x00
|
||||
db 'н н н н н н н н н н н н н н н',0x00
|
||||
db 'н р н р н р н р н р н р н р н',0x00
|
||||
db 'н р н р н р н р н р н р н р н',0x00
|
||||
db 'н р н р н р н р н р н р н р н',0x00
|
||||
db 'н р н р н р н р н р н р н р н',0x00
|
||||
db 'н р т н р т н р т н р т н р т',0x00
|
||||
db 'н р т н р т н р т н р т н р т',0x00
|
||||
db 'н р т н р т н р т н р т н р т',0x00
|
||||
db 'н р т н р т н р т н р т н р т',0x00
|
||||
db 'г г г г г г г г г г г г г г г',0x00
|
||||
db 'г г г г г г г г г г г г г г г',0x00
|
||||
db 'г г г г г г г г г г г г г г г',0x00
|
||||
db 'г г г г г г г г г г г г г г г',0x00
|
||||
db 'г о г о г о г о г о г о г о г',0x00
|
||||
db 'г о г о г о г о г о г о г о г',0x00
|
||||
db 'г о г о г о г о г о г о г о г',0x00
|
||||
db 'г о г о г о г о г о г о г о г',0x00
|
||||
db 'г о ь г о ь г о ь г о ь г о ь',0x00
|
||||
db 'г о ь г о ь г о ь г о ь г о ь',0x00
|
||||
db 'г о ь г о ь г о ь г о ь г о ь',0x00
|
||||
db 'г о ь г о ь г о ь г о ь г о ь',0x00
|
||||
db 'ш ш ш ш ш ш ш ш ш ш ш ш ш ш ш',0x00
|
||||
db 'ш ш ш ш ш ш ш ш ш ш ш ш ш ш ш',0x00
|
||||
db 'ш ш ш ш ш ш ш ш ш ш ш ш ш ш ш',0x00
|
||||
db 'ш ш ш ш ш ш ш ш ш ш ш ш ш ш ш',0x00
|
||||
db 'ш л ш л ш л ш л ш л ш л ш л ш',0x00
|
||||
db 'ш л ш л ш л ш л ш л ш л ш л ш',0x00
|
||||
db 'ш л ш л ш л ш л ш л ш л ш л ш',0x00
|
||||
db 'ш л ш л ш л ш л ш л ш л ш л ш',0x00
|
||||
db 'ш л б ш л б ш л б ш л б ш л б',0x00
|
||||
db 'ш л б ш л б ш л б ш л б ш л б',0x00
|
||||
db 'ш л б ш л б ш л б ш л б ш л б',0x00
|
||||
db 'ш л б ш л б ш л б ш л б ш л б',0x00
|
||||
db 'щ щ щ щ щ щ щ щ щ щ щ щ щ щ щ',0x00
|
||||
db 'щ щ щ щ щ щ щ щ щ щ щ щ щ щ щ',0x00
|
||||
db 'щ щ щ щ щ щ щ щ щ щ щ щ щ щ щ',0x00
|
||||
db 'щ щ щ щ щ щ щ щ щ щ щ щ щ щ щ',0x00
|
||||
db 'щ д щ д щ д щ д щ д щ д щ д щ',0x00
|
||||
db 'щ д щ д щ д щ д щ д щ д щ д щ',0x00
|
||||
db 'щ д щ д щ д щ д щ д щ д щ д щ',0x00
|
||||
db 'щ д щ д щ д щ д щ д щ д щ д щ',0x00
|
||||
db 'щ д ю щ д ю щ д ю щ д ю щ д ю',0x00
|
||||
db 'щ д ю щ д ю щ д ю щ д ю щ д ю',0x00
|
||||
db 'щ д ю щ д ю щ д ю щ д ю щ д ю',0x00
|
||||
db 'щ д ю щ д ю щ д ю щ д ю щ д ю',0x00
|
||||
db 'з з з з з з з з з з з з з з з',0x00
|
||||
db 'з з з з з з з з з з з з з з з',0x00
|
||||
db 'з з з з з з з з з з з з з з з',0x00
|
||||
db 'з з з з з з з з з з з з з з з',0x00
|
||||
db 'з ж з ж з ж з ж з ж з ж з ж з',0x00
|
||||
db 'з ж з ж з ж з ж з ж з ж з ж з',0x00
|
||||
db 'з ж з ж з ж з ж з ж з ж з ж з',0x00
|
||||
db 'з ж з ж з ж з ж з ж з ж з ж з',0x00
|
||||
db 'з ж з ж з ж з ж з ж з ж з ж з',0x00
|
||||
db 'з ж з ж з ж з ж з ж з ж з ж з',0x00
|
||||
db 'х х х х х х х х х х х х х х х',0x00
|
||||
db 'х х х х х х х х х х х х х х х',0x00
|
||||
db 'х х х х х х х х х х х х х х х',0x00
|
||||
db 'х х х х х х х х х х х х х х х',0x00
|
||||
db 'х х х х х х х х х х х х х х х',0x00
|
||||
db 'х з х з х з х з х з х з х з х',0x00
|
||||
db 'х з х з х з х з х з х з х з х',0x00
|
||||
db 'х з х з х з х з х з х з х з х',0x00
|
||||
db 'х з х з х з х з х з х з х з х',0x00
|
||||
db 'х з х з х з х з х з х з х з х',0x00
|
||||
db 'ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ',0x00
|
||||
db 'ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ',0x00
|
||||
db 'ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ',0x00
|
||||
db 'ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ',0x00
|
||||
db 'ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ ъ',0x00
|
||||
db 'з х ъ ъ х з з х ъ ъ х з з х ъ',0x00
|
||||
db 'з х ъ ъ х з з х ъ ъ х з з х ъ',0x00
|
||||
db 'з х ъ ъ х з з х ъ ъ х з з х ъ',0x00
|
||||
db 'з х ъ ъ х з з х ъ ъ х з з х ъ',0x00
|
||||
db 'з х ъ ъ х з з х ъ ъ х з з х ъ',0x00
|
||||
db 'з х ъ ъ х з з х ъ ъ х з з х ъ',0x00
|
||||
db 'з х ъ ъ х з з х ъ ъ х з з х ъ',0x00
|
||||
db 'з х ъ ъ х з з х ъ ъ х з з х ъ',0x00
|
||||
db 'з х ъ ъ х з з х ъ ъ х з з х ъ',0x00
|
||||
db 'з х ъ ъ х з з х ъ ъ х з з х ъ',0x00
|
||||
db 'нгшщзхъ ролджэ тьбю ъхзщшгн',0x00
|
||||
db 'нгшщзхъ ролджэ тьбю ъхзщшгн',0x00
|
||||
db 'нгшщзхъ ролджэ тьбю ъхзщшгн',0x00
|
||||
db 'нгшщзхъ ролджэ тьбю ъхзщшгн',0x00
|
||||
db 'нгшщзхъ ролджэ тьбю ъхзщшгн',0xFE
|
||||
|
||||
|
||||
|
||||
; Урок 9
|
||||
db 'пример проверка набор текса', 0x00
|
||||
db 'знаем быстро печатать сложно', 0x00
|
||||
db 'но нужно тренироваться', 0x00
|
||||
db 'и тогда получится', 0x00
|
||||
db 'давайте печатать мизинцами', 0x00
|
||||
db 'ф э й з ф э й з ф э й з ф э й', 0x00
|
||||
db 'а теперь без пробелов', 0x00
|
||||
db 'фэйз фэйз фэйз фэйз фэйз фэйз', 0x00
|
||||
db 'фэйз фэйз фэйз фэйз фэйз фэйз', 0x00
|
||||
db 'фэйз фэйз фэйз фэйз фэйз фэйз', 0x00
|
||||
db 'фэйз фэйз фэйз фэйз фэйз фэйз', 0x00
|
||||
db 'всё это достаточно сложно', 0x00
|
||||
db 'давайте печатать другие слова', 0x00
|
||||
db 'яхта яхта съел эхо здорово ура', 0x00
|
||||
db 'яхта яхта съел эхо здорово ура', 0x00
|
||||
db 'яхта яхта съел эхо здорово ура', 0x00
|
||||
db 'яхта яхта съел эхо здорово ура', 0x00
|
||||
db 'яхта яхта съел эхо здорово ура', 0x00
|
||||
db 'яхта яхта съел эхо здорово ура', 0x00
|
||||
db 'жили были дед да баба и была', 0x00
|
||||
db 'у них курочка ряба и снесла', 0x00
|
||||
db 'яичко не простое а золотое', 0x00
|
||||
db 'вот и сказке конец', 0x00
|
||||
db 'а кто слушал молодец', 0xFE
|
||||
|
||||
; Урок 10
|
||||
|
||||
|
||||
db 'колибри колибри колибри колибри', 0x00
|
||||
db 'колибри колибри колибри колибри', 0x00
|
||||
db 'колибри колибри колибри колибри', 0x00
|
||||
db 'колибри колибри колибри колибри', 0x00
|
||||
db 'колибри колибри колибри колибри', 0x00
|
||||
db 'операционная система колибри ос', 0x00
|
||||
db 'операционная система колибри ос', 0x00
|
||||
db 'операционная система колибри ос', 0x00
|
||||
db 'операционная система колибри ос', 0x00
|
||||
db 'операционная система колибри ос', 0x00
|
||||
db 'быстрая надёжная компактная ос', 0x00
|
||||
db 'быстрая надёжная компактная ос', 0x00
|
||||
db 'быстрая надёжная компактная ос', 0x00
|
||||
db 'быстрая надёжная компактная ос', 0x00
|
||||
db 'быстрая надёжная компактная ос', 0x00
|
||||
db 'ассемблер ассемблер ассемблер', 0x00
|
||||
db 'ассемблер ассемблер ассемблер', 0x00
|
||||
db 'ассемблер ассемблер ассемблер', 0x00
|
||||
db 'ассемблер ассемблер ассемблер', 0x00
|
||||
db 'ассемблер ассемблер ассемблер', 0x00
|
||||
db 'микропроцессор это сердце пк', 0x00
|
||||
db 'микропроцессор это сердце пк', 0x00
|
||||
db 'микропроцессор это сердце пк', 0x00
|
||||
db 'микропроцессор это сердце пк', 0x00
|
||||
db 'микропроцессор это сердце пк', 0x00
|
||||
db 'многие программы для колибри', 0x00
|
||||
db 'написаны на языке ассемблера', 0x00
|
||||
db 'например', 0x00
|
||||
db 'клавиатурный тренажёр клавиша', 0x00
|
||||
db 'клавиатурный тренажёр клавиша', 0x00
|
||||
db 'клавиатурный тренажёр клавиша', 0x00
|
||||
db 'клавиатурный тренажёр клавиша', 0x00
|
||||
db 'клавиатурный тренажёр клавиша', 0x00
|
||||
db 'спасибо вам за работу с', 0x00
|
||||
db 'программой клавиша', 0x00
|
||||
db 'а данный курс на этом завершён', 0xFE, 0xFF
|
||||
@@ -0,0 +1,65 @@
|
||||
; Пример файла с заданиями для клавиатурного
|
||||
; тренажёра KJ|ABuIIIA
|
||||
|
||||
; МАКСИМАЛЬНО ДОПУСТИМЫЙ РАЗМЕР СТРОКИ
|
||||
; БЕЗ СКРОЛЛИНГА - 38 СИМВОЛОВ!
|
||||
; (при размере окна по умолчанию)
|
||||
|
||||
; Настоятельно НЕ РЕКОМЕНДУЕТСЯ делать строки
|
||||
; для набора длиннее 38 символов.
|
||||
|
||||
; Строки отделяются одна от другой байтом 0x00
|
||||
|
||||
; Уроки отделяются один от другого байтом 0xFE,
|
||||
; который ставится ВМЕСТО 0x00 в конце последней
|
||||
; строки урока
|
||||
|
||||
; Последним байтом файла ДОЛЖЕН быть байт 0xFF,
|
||||
; который ставится ПОСЛЕ последнего 0xFE в конце
|
||||
; последнего урока
|
||||
|
||||
; Собранный файл (или же набранный вручную в
|
||||
; HEX-редакторе) должен иметь расширение .KLA
|
||||
|
||||
; Вот пример исходного кода ПРАВИЛЬНО подготов-
|
||||
; ленного KLA-файла:
|
||||
|
||||
db 'фыва пр олдж э фыва пр олдж э',0x00
|
||||
db 'фыва пр олдж э фыва пр олдж э',0x00
|
||||
db 'фыва пр олдж э фыва пр олдж э',0x00
|
||||
db 'фыва пр олдж э фыва пр олдж э',0x00
|
||||
db 'фыва пр олдж э фыва пр олдж э',0x00
|
||||
db 'фыва пр олдж э фыва пр олдж э',0x00
|
||||
db 'фыва пр олдж э фыва пр олдж э',0x00
|
||||
db 'фыва пр олдж э фыва пр олдж э',0x00
|
||||
db 'фыва пр олдж э фыва пр олдж э',0xFE
|
||||
|
||||
db 'ячсми тьбю ячсми тьбю ячсми тьбю', 0x00
|
||||
db 'ячсми тьбю ячсми тьбю ячсми тьбю', 0x00
|
||||
db 'ячсми тьбю ячсми тьбю ячсми тьбю', 0x00
|
||||
db 'ячсми тьбю ячсми тьбю ячсми тьбю', 0x00
|
||||
db 'ячсми тьбю ячсми тьбю ячсми тьбю', 0x00
|
||||
db 'ячсми тьбю ячсми тьбю ячсми тьбю', 0x00
|
||||
db 'ячсми тьбю ячсми тьбю ячсми тьбю', 0x00
|
||||
db 'ячсми тьбю ячсми тьбю ячсми тьбю', 0x00
|
||||
db 'ячсми тьбю ячсми тьбю ячсми тьбю', 0xFE
|
||||
|
||||
db 'йцуке нгшщзхъ йцуке нгшщзхъ зхъ',0x00
|
||||
db 'йцуке нгшщзхъ йцуке нгшщзхъ зхъ',0x00
|
||||
db 'йцуке нгшщзхъ йцуке нгшщзхъ зхъ',0x00
|
||||
db 'йцуке нгшщзхъ йцуке нгшщзхъ зхъ',0x00
|
||||
db 'йцуке нгшщзхъ йцуке нгшщзхъ зхъ',0x00
|
||||
db 'йцуке нгшщзхъ йцуке нгшщзхъ зхъ',0x00
|
||||
db 'йцуке нгшщзхъ йцуке нгшщзхъ зхъ',0x00
|
||||
db 'йцуке нгшщзхъ йцуке нгшщзхъ зхъ',0x00
|
||||
db 'йцуке нгшщзхъ йцуке нгшщзхъ зхъ',0xFE
|
||||
|
||||
db '12345678901234567890123456789012345678', 0x00
|
||||
db 'Пример упражнения.',0x00
|
||||
db 'Это упражнение номер 4.', 0x00
|
||||
db 'Это конец файла KLA.',0xFE, 0xFF
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
-----------------------------------------------------------
|
||||
------------ Клавиатурный тренажёр KJ|ABuIIIA -------------
|
||||
------------ для операционной системы Колибри -------------
|
||||
-----------------------------------------------------------
|
||||
---------------------- Версия 0.9a ------------------------
|
||||
-----------------------------------------------------------
|
||||
___________________________________________________________
|
||||
1. Общие сведения о программе
|
||||
___________________________________________________________
|
||||
Клавиатурный тренажёр KJ|ABuIIIA - это программа обучения
|
||||
быстрому набору для операционной системы Колибри ОС.
|
||||
Ваша задача - набирать предложенные учебные тексты с
|
||||
минимально возможным количеством ошибок.
|
||||
При запуске программе должен быть передан параметр коман-
|
||||
дной строки с указанием пути к файлу-набору упражнений в
|
||||
формате KLA, например:
|
||||
KLAVISHA /RD/1/BASEKURS.KLA
|
||||
Если параметр командной строки не задан, программа будет
|
||||
запущена в демонстрационном режиме.
|
||||
В комплект поставки входит начальный курс обучения быс-
|
||||
трому набору. Он находится в файле BASEKURS.KLA . Однако
|
||||
применение данного курса не является обязательным: вы
|
||||
можете использовать KLA-файл по вашему усмотрению.
|
||||
Текущая версия программы является стабильной и может
|
||||
применяться в практических целях при условии подключения
|
||||
соответствующего KLA-файла.
|
||||
|
||||
___________________________________________________________
|
||||
2. Создание учебных файлов. Формат KLA
|
||||
___________________________________________________________
|
||||
Тексты для учебного набора хранятся в файлах с расшире-
|
||||
нием KLA. При этом такие файлы должны соответствовать опре-
|
||||
делённым требованиям.
|
||||
KLA-файл содержит строки для набора, разделённые нуле-
|
||||
вым символом (0x00). Уроки отделяются один от другого бай-
|
||||
том 0xFE (ставится в конце последней строки урока вместо
|
||||
байта 0x00). Файл должен заканчиваться байтом 0xFF (ста-
|
||||
вится в конце последней строки последнего урока ПОСЛЕ 0xFE)
|
||||
Применяемая кодировка символов - OEM 866.
|
||||
Файлы KLA могут быть подготовлены с помощью шестнадцате-
|
||||
ричного (HEX) редактора либо с использованием программы-
|
||||
ассемблера. В комплект поставки включён файл SAMPLE.ASM.
|
||||
|
||||
___________________________________________________________
|
||||
3. Технические сведения о программе KJ|ABuIIIA
|
||||
___________________________________________________________
|
||||
Программа написана на чистом ассемблере x86.
|
||||
Применяется ассемблер FASM.
|
||||
|
||||
___________________________________________________________
|
||||
4. История версий
|
||||
___________________________________________________________
|
||||
|
||||
KJ|ABuIIIA 0.9a - 29.07.2010
|
||||
- Добавлен базовый курс обучения (BASEKURS.KLA)
|
||||
- Добавлен справочный файл (README.TXT)
|
||||
|
||||
KJ|ABuIIIA 0.9 - 24.07.2010
|
||||
- Добавлен "счётчик строк": на экране отображается номер
|
||||
текущей набираемой строки в упражнении и общее число строк.
|
||||
- Добавлена возможность перезапуска упражнения ("Повторить
|
||||
упражнение") и перезапуска всего учебного курса с первого
|
||||
упражнения ("Начать курс заново").
|
||||
- Горизонтальный скроллинг набираемой строки (однако насто-
|
||||
ятельно рекомендуется не создавать в учебных заданиях
|
||||
строки длиной более 38 символов).
|
||||
- По окончании упражнения выдаётся информация о средней
|
||||
скорости набора
|
||||
- Окно приложения при запуске теперь отображается по центру
|
||||
экрана при любом разрешении
|
||||
|
||||
KJ|ABuIIIA 0.25 - 23.07.2010
|
||||
- Вместо стандартного системного использован крупный шрифт
|
||||
(за основу взят шрифт из пакета из репозитария Ubuntu
|
||||
console-cyrillic_0.9-16_all.deb).
|
||||
- Устранено мерцание окна при вводе символов
|
||||
- Добавлена защита от "битых" (или неправильно подготовлен-
|
||||
ных) KLA-файлов
|
||||
- Улучшен интерфейс
|
||||
|
||||
KJ|ABuIIIA 0.1 - 21.07.2010
|
||||
- Первая версия программы
|
||||
|
||||
___________________________________________________________
|
||||
5. Список разработчиков
|
||||
___________________________________________________________
|
||||
Андрей Михайлович aka Dron2004 (http://www.lvtam.ru)
|
||||