mirror of
https://github.com/stasenso/SHA256.git
synced 2026-06-27 05:42:43 +03:00
Подготовка среды x64
This commit is contained in:
@@ -0,0 +1,475 @@
|
||||
comment * «««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««
|
||||
Include file for procedures in the MASM32 library
|
||||
««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««« *
|
||||
|
||||
IFNDEF MASM32_INC
|
||||
MASM32_INC equ <1>
|
||||
|
||||
; for both --> arg num, buffer
|
||||
ArgCl PROTO :DWORD,:DWORD ; GUI mode version
|
||||
ArgClC PROTO :DWORD,:DWORD ; console mode version
|
||||
|
||||
GetCL PROTO :DWORD,:DWORD ; 128 byte buffer version
|
||||
getcl_ex PROTO :DWORD,:DWORD ; unlimited size version
|
||||
|
||||
Alloc PROTO :DWORD
|
||||
Free PROTO :DWORD
|
||||
|
||||
comment * --------------------------
|
||||
numeric and text conversions
|
||||
---------------------------- *
|
||||
a2dw PROTO :DWORD
|
||||
atodw PROTO :DWORD ; return value in eax
|
||||
htodw PROTO :DWORD ; return value in eax
|
||||
dwtoa PROTO :DWORD,:DWORD ; value - buffer
|
||||
dw2a PROTO :DWORD,:DWORD
|
||||
dw2hex PROTO :DWORD,:DWORD
|
||||
|
||||
ustr2dw PROTO :DWORD
|
||||
udw2str PROTO :DWORD,:DWORD
|
||||
|
||||
GetErrDescription PROTO :DWORD
|
||||
|
||||
comment * -----------------------------------
|
||||
string and floating point conversions
|
||||
------------------------------------- *
|
||||
FloatToStr proto stdcall fpin:QWORD, szDbl:PTR CHAR
|
||||
FloatToStr2 proto stdcall fpin:QWORD, szDbl:PTR CHAR
|
||||
StrToFloat proto stdcall szIn:PTR BYTE, fpout:PTR DWORD
|
||||
|
||||
comment * ---------------
|
||||
search algorithms
|
||||
----------------- *
|
||||
InString PROTO :DWORD,:DWORD,:DWORD ; StartPos-lpszString-lpszSubStr
|
||||
BinSearch PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD ; classic scanner
|
||||
partial PROTO :DWORD,:DWORD,:DWORD ; partial matching algorithm using * as wildcard
|
||||
|
||||
; Boyer Moore based algorithms
|
||||
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
BMBinSearch PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD ; complete BM
|
||||
BMHBinsearch PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD ; horspool variation
|
||||
SBMBinSearch PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD ; simplified version
|
||||
WordCount PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
|
||||
|
||||
comment * ---------------------------
|
||||
encryption algorithms for
|
||||
"one shot" or "one pass" pads
|
||||
----------------------------- *
|
||||
XorData PROTO :DWORD,:DWORD,:DWORD,:DWORD
|
||||
RolData PROTO :DWORD,:DWORD,:DWORD,:DWORD
|
||||
RorData PROTO :DWORD,:DWORD,:DWORD,:DWORD
|
||||
|
||||
StrLen PROTO :DWORD ; Agner Fog's high speed string length algo
|
||||
|
||||
comment * ------------------------------------
|
||||
zero terminated string procedures have
|
||||
been renamed for consistency. Equates
|
||||
to the old names are below.
|
||||
-------------------------------------- *
|
||||
|
||||
szappend PROTO :DWORD,:DWORD,:DWORD
|
||||
szCatStr PROTO :DWORD,:DWORD
|
||||
szCmp PROTO :DWORD,:DWORD
|
||||
szCmpi PROTO :DWORD,:DWORD,:DWORD
|
||||
Cmpi PROTO :DWORD,:DWORD
|
||||
szCopy PROTO :DWORD,:DWORD
|
||||
szLeft PROTO :DWORD,:DWORD,:DWORD
|
||||
szLen PROTO :DWORD
|
||||
szLower PROTO :DWORD
|
||||
szLtrim PROTO :DWORD,:DWORD
|
||||
szMid PROTO :DWORD,:DWORD,:DWORD,:DWORD
|
||||
szMultiCat PROTO C :DWORD,:DWORD,:VARARG
|
||||
szMonoSpace PROTO :DWORD
|
||||
szRemove PROTO :DWORD,:DWORD,:DWORD
|
||||
szRep PROTO :DWORD,:DWORD,:DWORD,:DWORD
|
||||
szRev PROTO :DWORD,:DWORD
|
||||
szRight PROTO :DWORD,:DWORD,:DWORD
|
||||
szRtrim PROTO :DWORD,:DWORD
|
||||
szTrim PROTO :DWORD
|
||||
szUpper PROTO :DWORD
|
||||
szWcnt PROTO :DWORD,:DWORD
|
||||
|
||||
comment * ---------------------------------
|
||||
the equates for the old names must
|
||||
be put after the prototypes for the
|
||||
procedures they are mapped to.
|
||||
----------------------------------- *
|
||||
|
||||
lnstr equ <szLen>
|
||||
cmpstr equ <szCmp>
|
||||
cmpsi equ <szCmpi>
|
||||
revstr equ <szRev>
|
||||
lcase equ <szLower>
|
||||
ucase equ <szUpper>
|
||||
ltrim equ <szLtrim>
|
||||
rtrim equ <szRtrim>
|
||||
trim equ <szTrim>
|
||||
lstr equ <szLeft>
|
||||
rstr equ <szRight>
|
||||
midstr equ <szMid>
|
||||
|
||||
; ---------------------------------
|
||||
; self contained "shell" procedures
|
||||
; ---------------------------------
|
||||
shell PROTO :DWORD ; failsafe version
|
||||
shell_ex PROTO :DWORD,:DWORD ; version with priority control
|
||||
|
||||
StripRangeI PROTO :DWORD,:DWORD,:BYTE,:BYTE
|
||||
StripRangeX PROTO :DWORD,:DWORD,:BYTE,:BYTE
|
||||
|
||||
MemCopy PROTO :DWORD,:DWORD,:DWORD ; source - dest - length
|
||||
memfill PROTO :DWORD,:DWORD,:DWORD
|
||||
|
||||
GetAppPath PROTO :DWORD ; buffer has app path
|
||||
GetAppPathW PROTO ; UNICODE version
|
||||
|
||||
NameFromPath PROTO :DWORD,:DWORD
|
||||
NameFromPathW PROTO :DWORD,:DWORD ; UNICODE version
|
||||
|
||||
GetPathOnly PROTO :DWORD,:DWORD
|
||||
GetPathOnlyW PROTO :DWORD,:DWORD ; UNICODE version
|
||||
|
||||
exist PROTO :DWORD
|
||||
existW PROTO :DWORD ; UNICODE version
|
||||
|
||||
filesize PROTO :DWORD
|
||||
filesizeW PROTO :DWORD ; UNICODE version
|
||||
|
||||
FrameCtrl PROTO :DWORD,:DWORD,:DWORD,:DWORD
|
||||
FrameWindow PROTO :DWORD,:DWORD,:DWORD,:DWORD
|
||||
FrameGrp PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
|
||||
|
||||
Frame3D PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
|
||||
line PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
|
||||
circle PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
|
||||
|
||||
DisplayBmp PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
|
||||
DisplayIcon PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
|
||||
VerticalTile PROTO :DWORD,:DWORD,:DWORD
|
||||
SetBMcolor PROTO :DWORD,:DWORD
|
||||
|
||||
BmpButton PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
|
||||
|
||||
StdOut PROTO :DWORD
|
||||
StdOutW PROTO :DWORD ; UNICODE version
|
||||
|
||||
StdErr PROTO :DWORD
|
||||
StdErrW PROTO :DWORD ; UNICODE version
|
||||
|
||||
StdIn PROTO :DWORD,:DWORD
|
||||
StdInW PROTO :DWORD,:DWORD ; UNICODE version
|
||||
|
||||
locate PROTO :DWORD,:DWORD
|
||||
ClearScreen PROTO
|
||||
StripLF PROTO :DWORD
|
||||
wait_key PROTO
|
||||
ret_key PROTO
|
||||
|
||||
BrowseForFolder PROTO :DWORD,:DWORD,:DWORD,:DWORD
|
||||
FontDialog PROTO :DWORD,:DWORD,:DWORD
|
||||
ColorDialog PROTO :DWORD,:DWORD,:DWORD
|
||||
PageSetupDialog PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
|
||||
PrintDialog PROTO :DWORD,:DWORD,:DWORD
|
||||
|
||||
Read_File_In PROTO :DWORD,:DWORD
|
||||
ofCallBack PROTO :DWORD,:DWORD,:DWORD,:DWORD
|
||||
Write_To_Disk PROTO :DWORD,:DWORD
|
||||
sfCallBack PROTO :DWORD,:DWORD,:DWORD,:DWORD
|
||||
RichEd1 PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
|
||||
RichEd2 PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
|
||||
|
||||
GetPercent PROTO :DWORD,:DWORD
|
||||
IntMul PROTO :DWORD,:DWORD
|
||||
IntDiv PROTO :DWORD,:DWORD
|
||||
IntSqrt PROTO :DWORD
|
||||
|
||||
nrandom PROTO :DWORD
|
||||
nseed PROTO :DWORD
|
||||
|
||||
; ---------------------------------
|
||||
; prototypes for pre-built dialogs
|
||||
; ---------------------------------
|
||||
GetTextInput PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
|
||||
AboutBox PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
|
||||
GetFile PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
|
||||
LoadList PROTO :DWORD,:DWORD
|
||||
IPtoString PROTO :DWORD,:DWORD
|
||||
GetIP PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
|
||||
|
||||
; ----------------------------------------
|
||||
; Ernie Murphy's image loading procedures
|
||||
; ----------------------------------------
|
||||
comment * ---------------------------------------------------------------
|
||||
With functions BitmapFromMemory, BitmapFromFile and BitmapFromResource
|
||||
the statements :
|
||||
invoke CoInitialize, NULL ; at the beginning of the source code
|
||||
invoke CoUninitialize ; at the end of the source code
|
||||
should be included to initialize and uninitiaize COM
|
||||
--------------------------------------------------------------- *
|
||||
BitmapFromFile PROTO :DWORD
|
||||
BitmapFromMemory PROTO :DWORD,:DWORD
|
||||
BitmapFromPicture PROTO :DWORD
|
||||
BitmapFromResource PROTO :DWORD,:DWORD
|
||||
|
||||
; -------------------
|
||||
; file IO procedures
|
||||
; -------------------
|
||||
read_disk_file PROTO :DWORD,:DWORD,:DWORD
|
||||
read_disk_fileW PROTO :DWORD,:DWORD,:DWORD ; UNICODE version
|
||||
|
||||
write_disk_file PROTO :DWORD,:DWORD,:DWORD
|
||||
write_disk_fileW PROTO :DWORD,:DWORD,:DWORD ; UNICODE version
|
||||
|
||||
; ------------------------------
|
||||
; memory mapped file procedures
|
||||
; ------------------------------
|
||||
CloseMMF PROTO :DWORD,:DWORD
|
||||
CreateMMF PROTO :DWORD,:DWORD,:DWORD,:DWORD
|
||||
|
||||
; ----------------
|
||||
; sort procedures
|
||||
; ----------------
|
||||
nrQsortA PROTO :DWORD,:DWORD
|
||||
nrQsortD PROTO :DWORD,:DWORD
|
||||
|
||||
CombSortA PROTO :DWORD,:DWORD
|
||||
CombSortD PROTO :DWORD,:DWORD
|
||||
|
||||
testreg PROTO
|
||||
|
||||
HexDump PROTO :DWORD,:DWORD,:DWORD
|
||||
AsciiDump PROTO :DWORD,:DWORD,:DWORD
|
||||
|
||||
; ------------------------------------------
|
||||
; ascii and 32 bit long integer conversions
|
||||
; ------------------------------------------
|
||||
atol PROTO :DWORD
|
||||
ltoa PROTO :DWORD,:DWORD
|
||||
|
||||
; ----------------------------
|
||||
; File open and close dialogs
|
||||
; ----------------------------
|
||||
OpenFileDialog PROTO :DWORD, :DWORD, :DWORD, :DWORD
|
||||
SaveFileDialog PROTO :DWORD, :DWORD, :DWORD, :DWORD
|
||||
|
||||
; ------------------
|
||||
; ascii to wide char
|
||||
; ------------------
|
||||
a2wc PROTO :DWORD
|
||||
|
||||
; ---------------------------
|
||||
; array arithmetic procedures
|
||||
; ---------------------------
|
||||
arr_add PROTO :DWORD,:DWORD,:DWORD
|
||||
arr_mul PROTO :DWORD,:DWORD,:DWORD
|
||||
arr_sub PROTO :DWORD,:DWORD,:DWORD
|
||||
|
||||
; -------------------
|
||||
; create dynamic aray
|
||||
; -------------------
|
||||
create_array PROTO :DWORD,:DWORD
|
||||
|
||||
; ----------------------------------------------------
|
||||
; count all bytes in a file and write results to array
|
||||
; ----------------------------------------------------
|
||||
byte_count PROTO :DWORD,:DWORD,:DWORD
|
||||
|
||||
; -----------------------------------------------------
|
||||
; load list box with formatted drive and volume strings
|
||||
; -----------------------------------------------------
|
||||
load_drives PROTO :DWORD
|
||||
|
||||
; -------------------------------------
|
||||
; C style character testing procedures.
|
||||
; -------------------------------------
|
||||
isalpha PROTO :BYTE
|
||||
isupper PROTO :BYTE
|
||||
islower PROTO :BYTE
|
||||
isnumber PROTO :BYTE
|
||||
isalphanum PROTO :BYTE
|
||||
|
||||
; ---------------------------------
|
||||
; hybrid quick / cisort string sort
|
||||
; ---------------------------------
|
||||
assort PROTO :DWORD,:DWORD,:DWORD
|
||||
dssort PROTO :DWORD,:DWORD,:DWORD
|
||||
|
||||
; --------------------------------------------------
|
||||
; high speed quick sort with recursion depth limiter
|
||||
; This algorithm is used by the above hybrid.
|
||||
; --------------------------------------------------
|
||||
asqsort PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
|
||||
dsqsort PROTO :DWORD,:DWORD,:DWORD,:DWORD,:DWORD
|
||||
|
||||
; -----------------------------------------------------
|
||||
; comb / insertion sort hybrid used by the above hybrid.
|
||||
; -----------------------------------------------------
|
||||
acisort PROTO :DWORD,:DWORD
|
||||
dcisort PROTO :DWORD,:DWORD
|
||||
|
||||
; -----------------------------------
|
||||
; insertion sort for the above hybrid
|
||||
; -----------------------------------
|
||||
aissort PROTO :DWORD,:DWORD
|
||||
dissort PROTO :DWORD,:DWORD
|
||||
|
||||
; ----------------------------------------------
|
||||
; high safety margin comb / cocktail shaker sort
|
||||
; ----------------------------------------------
|
||||
ccsorta PROTO :DWORD,:DWORD
|
||||
ccsortd PROTO :DWORD,:DWORD
|
||||
|
||||
; -----------------
|
||||
; Quick string sort
|
||||
; -----------------
|
||||
qssorta PROTO :DWORD,:DWORD,:DWORD
|
||||
qssortd PROTO :DWORD,:DWORD,:DWORD
|
||||
|
||||
; -----------------
|
||||
; Shell string sort
|
||||
; -----------------
|
||||
ssorta PROTO :DWORD,:DWORD,:DWORD
|
||||
ssortd PROTO :DWORD,:DWORD,:DWORD
|
||||
|
||||
; ----------------
|
||||
; Comb string sort
|
||||
; ----------------
|
||||
cstsorta PROTO :DWORD,:DWORD
|
||||
cstsortd PROTO :DWORD,:DWORD
|
||||
|
||||
; -----------------------
|
||||
; traditional bubble sort
|
||||
; -----------------------
|
||||
bstsorta PROTO :DWORD,:DWORD,:DWORD
|
||||
bstsortd PROTO :DWORD,:DWORD,:DWORD
|
||||
|
||||
; -----------------------------------------------
|
||||
; read and write lines of text to and from memory
|
||||
; -----------------------------------------------
|
||||
readline PROTO :DWORD,:DWORD,:DWORD
|
||||
writeline PROTO :DWORD,:DWORD,:DWORD,:DWORD
|
||||
tstline PROTO :DWORD
|
||||
parse_line PROTO :DWORD,:DWORD
|
||||
lfcnt PROTO :DWORD
|
||||
|
||||
; -------------------------
|
||||
; UNICODE string procedures
|
||||
; -------------------------
|
||||
ucappend PROTO :DWORD,:DWORD,:DWORD
|
||||
ucArgByNum PROTO :DWORD,:DWORD,:DWORD
|
||||
ucCatStr PROTO :DWORD,:DWORD
|
||||
ucCopy PROTO :DWORD,:DWORD
|
||||
ucCmdTail PROTO
|
||||
ucCmp PROTO :DWORD,:DWORD
|
||||
ucFind PROTO :DWORD,:DWORD,:DWORD
|
||||
ucGetCL PROTO :DWORD,:DWORD,:DWORD
|
||||
ucgetline PROTO :DWORD,:DWORD,:DWORD
|
||||
ucLen PROTO :DWORD
|
||||
ucLeft PROTO :DWORD,:DWORD,:DWORD
|
||||
ucLtrim PROTO :DWORD,:DWORD
|
||||
ucMid PROTO :DWORD,:DWORD,:DWORD,:DWORD
|
||||
ucMonoSpace PROTO :DWORD
|
||||
ucRemove PROTO :DWORD,:DWORD,:DWORD
|
||||
ucRep PROTO :DWORD,:DWORD,:DWORD,:DWORD
|
||||
ucRight PROTO :DWORD,:DWORD,:DWORD
|
||||
ucRtrim PROTO :DWORD,:DWORD
|
||||
ucLower PROTO :DWORD
|
||||
ucUpper PROTO :DWORD
|
||||
ucRev PROTO :DWORD,:DWORD
|
||||
ucMultiCat PROTO C :DWORD,:DWORD,:VARARG
|
||||
ucWcnt PROTO :DWORD,:DWORD
|
||||
|
||||
ucOpenFileDialog PROTO :DWORD,:DWORD,:DWORD,:DWORD
|
||||
ucSaveFileDialog PROTO :DWORD,:DWORD,:DWORD,:DWORD
|
||||
|
||||
; ------------------
|
||||
; whole word replace
|
||||
; ------------------
|
||||
wordreplace PROTO :DWORD,:DWORD,:DWORD,:DWORD
|
||||
|
||||
; ------------------------------
|
||||
; extended performance functions
|
||||
; ------------------------------
|
||||
atodw_ex PROTO :DWORD
|
||||
byt2bin_ex PROTO :BYTE,:DWORD
|
||||
wrd2bin_ex PROTO :WORD,:DWORD
|
||||
dw2bin_ex PROTO :DWORD,:DWORD
|
||||
bin2byte_ex PROTO :DWORD
|
||||
dw2hex_ex PROTO :DWORD,:DWORD
|
||||
hexflip32 PROTO :DWORD
|
||||
|
||||
; -----------------------------------
|
||||
; high speed binary / hex conversions
|
||||
; -----------------------------------
|
||||
bin2hex PROTO :DWORD,:DWORD,:DWORD
|
||||
hex2bin PROTO :DWORD,:DWORD
|
||||
|
||||
; --------------------------
|
||||
; additional shell functions
|
||||
; --------------------------
|
||||
wshell PROTO :DWORD
|
||||
|
||||
; -------------------------------------
|
||||
; compare memory blocks of known length
|
||||
; -------------------------------------
|
||||
cmpmem PROTO :DWORD,:DWORD,:DWORD
|
||||
|
||||
; ---------------------------------------------------------
|
||||
; structure and prototype for running a synchronous process
|
||||
; ---------------------------------------------------------
|
||||
RUN_SYNCH_PROCESS_EX STRUCT
|
||||
priority dd ? ; priority setting
|
||||
timeout dd ? ; timeout interval
|
||||
rvcreate dd ? ; CreateProcess() return value
|
||||
exitcode dd ? ; GetExitCodeProcess() exit code
|
||||
rvwait dd ? ; WaitForSingleObjectEx() return value
|
||||
RUN_SYNCH_PROCESS_EX ENDS
|
||||
|
||||
run_synch_process_ex PROTO :DWORD,:DWORD
|
||||
|
||||
; -----------------------------------------------
|
||||
; return the font handle from a CreateFont() call
|
||||
; -----------------------------------------------
|
||||
RetFontHandle PROTO :DWORD,:DWORD,:DWORD
|
||||
|
||||
ArgByNumber PROTO :DWORD,:DWORD,:DWORD,:DWORD
|
||||
get_ml PROTO :DWORD,:DWORD,:DWORD
|
||||
decomment PROTO :DWORD
|
||||
|
||||
; ---------------
|
||||
; text tokenisers
|
||||
; ---------------
|
||||
ltok PROTO :DWORD,:DWORD
|
||||
wtok PROTO :DWORD,:DWORD
|
||||
|
||||
; --------------------
|
||||
; clipboard text algos
|
||||
; --------------------
|
||||
GetClipboardText PROTO
|
||||
SetClipboardText PROTO :DWORD
|
||||
|
||||
; *****************************
|
||||
; prototypes for dynamic arrays
|
||||
; *****************************
|
||||
arralloc PROTO :DWORD
|
||||
arrealloc PROTO :DWORD,:DWORD
|
||||
arrfree PROTO :DWORD
|
||||
arrset PROTO :DWORD,:DWORD,:DWORD
|
||||
arrget PROTO :DWORD,:DWORD
|
||||
arrcnt PROTO :DWORD
|
||||
arrlen PROTO :DWORD,:DWORD
|
||||
arrtrunc PROTO :DWORD,:DWORD
|
||||
arrextnd PROTO :DWORD,:DWORD
|
||||
arrtotal PROTO :DWORD,:DWORD
|
||||
arr2file PROTO :DWORD,:DWORD
|
||||
arr2mem PROTO :DWORD,:DWORD
|
||||
arr2text PROTO :DWORD,:DWORD
|
||||
arrtxt PROTO :DWORD
|
||||
arrfile PROTO :DWORD
|
||||
arrbin PROTO :DWORD,:DWORD,:DWORD,:DWORD
|
||||
|
||||
ELSE
|
||||
echo -----------------------------------------
|
||||
echo WARNING Duplicate include file masm32.inc
|
||||
echo -----------------------------------------
|
||||
ENDIF
|
||||
Reference in New Issue
Block a user