Microsoft (R) Macro Assembler Version 14.25.28610.406/04/2016:04:111.asm Page 1-1
INCLUDE Irvine32.inc
C ; Include file for Irvine32.lib (Irvine32.inc)
C
C ;OPTION CASEMAP:NONE ; optional: make identifiers case-sensitive
C
C INCLUDE SmallWin.inc ; MS-Windows prototypes, structures, and constants
C .NOLIST
C ; Include file for Calling Windows API Functions (SmallWin.inc)
C
C ; Recent updates:
C ;7/16/05(printf, scanf)
C
C ; To enable columns to line up properly, set your text editor's Tab
C ; settings to 5,35, and 40.
C
C .686P ; Pentium Pro or later
C .MODEL flat, stdcall
C .STACK 4096
C
C ;--------- my own constants --------------=00000000 C DO_NOT_SHARE =0=00000000 C NULL=0=00000001 C TRUE =1=00000000 C FALSE =0=00000009 C TAB =9; ASCII code for Horiz Tab
C ;-----------------------------------------
C
= DWORD C HANDLE TEXTEQU <DWORD>; used in Win32 API documentation
C
C ; Win32 Console handles
=-0000000A C STD_INPUT_HANDLE EQU -10=-0000000B C STD_OUTPUT_HANDLE EQU -11; predefined Win API constant
=-0000000C C STD_ERROR_HANDLE EQU -12
C
C ; Input Mode flags (used by GetConsoleMode & SetConsoleMode):=00000001 C ENABLE_PROCESSED_INPUT =1=00000002 C ENABLE_LINE_INPUT =2=00000004 C ENABLE_ECHO_INPUT =4=00000008 C ENABLE_WINDOW_INPUT =8=00000010 C ENABLE_MOUSE_INPUT =16
C
C ; Event constants
=00000001 C KEY_EVENT =1=00000002 C MOUSE_EVENT =2=00000004 C WINDOW_BUFFER_SIZE_EVENT =4; window change event record
=00000008 C MENU_EVENT =8; menu event record
=00000010 C FOCUS_EVENT =16; focus change
C
C ; ControlKeyState constants (used by ReadKey)=0000001F C KEY_MASKS =00011111b ; Mask if any Shift/Ctrl/Alt flag is set
=00000003 C ALT_MASK =00000011b ; Left and right Alt key flags
=0000000C C CTRL_MASK =00001100b ; Left and right Alt key flags
=00000010 C SHIFT_MASK =00010000b ; Left or right Shift key flag
C
=00000001 C KBDOWN_FLAG =00000001h ; Bit set for press, clear for release
C
C ; Output mode flags (used by GetConsoleMode & SetConsoleMode):=00000001 C ENABLE_PROCESSED_OUTPUT =1=00000002 C ENABLE_WRAP_AT_EOL_OUTPUT =2
C
C ; Constants found in WINNT.H
=00000001 C FILE_SHARE_READ =1=00000002 C FILE_SHARE_WRITE =2=00000004 C FILE_SHARE_DELETE =4
C
=00000001 C FILE_ATTRIBUTE_READONLY =1=00000002 C FILE_ATTRIBUTE_HIDDEN =2=00000004 C FILE_ATTRIBUTE_SYSTEM =4=00000010 C FILE_ATTRIBUTE_DIRECTORY =10h
=00000020 C FILE_ATTRIBUTE_ARCHIVE =20h
=00000040 C FILE_ATTRIBUTE_DEVICE =40h
=00000080 C FILE_ATTRIBUTE_NORMAL =80h
=00000100 C FILE_ATTRIBUTE_TEMPORARY =100h
=00000200 C FILE_ATTRIBUTE_SPARSE_FILE =200h
=00000400 C FILE_ATTRIBUTE_REPARSE_POINT =400h
=00000800 C FILE_ATTRIBUTE_COMPRESSED =800h
=00001000 C FILE_ATTRIBUTE_OFFLINE =1000h
=00002000 C FILE_ATTRIBUTE_NOT_CONTENT_INDEXED =2000h
=00004000 C FILE_ATTRIBUTE_ENCRYPTED =4000h
C
=00000001 C FILE_READ_DATA =1=00000002 C FILE_WRITE_DATA =2=00000004 C FILE_APPEND_DATA =4=00000040 C FILE_DELETE_CHILD =40h
C
=80000000 C GENERIC_READ =80000000h
=40000000 C GENERIC_WRITE =40000000h
=20000000 C GENERIC_EXECUTE =20000000h
=10000000 C GENERIC_ALL =10000000h
C
C ; Memory allocation constants
=00000001 C HEAP_NO_SERIALIZE =00000001h
=00000002 C HEAP_GROWABLE =00000002h
=00000004 C HEAP_GENERATE_EXCEPTIONS =00000004h
=00000008 C HEAP_ZERO_MEMORY =00000008h
=00000010 C HEAP_REALLOC_IN_PLACE_ONLY =00000010h
C
C ; Error Handler Variables
=00000100 C FORMAT_MESSAGE_ALLOCATE_BUFFER =100h
=00001000 C FORMAT_MESSAGE_FROM_SYSTEM =1000h
C
C ;------------- Message Box Constants ---------------
C
C ; Icons:=00000010 C MB_ICONHAND =10h
=00000020 C MB_ICONQUESTION =20h
=00000030 C MB_ICONEXCLAMATION =30h
=00000040 C MB_ICONASTERISK =40h
=00000080 C MB_USERICON =80h
=00000030 C MB_ICONWARNING = MB_ICONEXCLAMATION
=00000010 C MB_ICONERROR = MB_ICONHAND
=00000040 C MB_ICONINFORMATION = MB_ICONASTERISK
=00000010 C MB_ICONSTOP = MB_ICONHAND
C
C ; Buttons:=00000000 C MB_OK =0=00000001 C MB_OKCANCEL =1=00000002 C MB_ABORTRETRYIGNORE =2=00000003 C MB_YESNOCANCEL =3=00000004 C MB_YESNO =4=00000005 C MB_RETRYCANCEL =5=00000006 C MB_CANCELTRYCONTINUE =6=00004000 C MB_HELP =4000h ; does not close the window
C
C ; Select the default button:=00000000 C MB_DEFBUTTON1 =0=00000100 C MB_DEFBUTTON2 =100h
=00000200 C MB_DEFBUTTON3 =200h
=00000300 C MB_DEFBUTTON4 =300h
C
C ; Modal control buttons:=00000000 C MB_APPLMODAL =0=00001000 C MB_SYSTEMMODAL =1000h ; dialog floats above all windows
=00002000 C MB_TASKMODAL =2000h
C
C ; Return values:=00000001 C IDOK =1=00000002 C IDCANCEL =2=00000003 C IDABORT =3=00000004 C IDRETRY =4=00000005 C IDIGNORE =5=00000006 C IDYES =6=00000007 C IDNO =7=00000008 C IDCLOSE =8=00000009 C IDHELP =9=0000000A C IDTRYAGAIN =10=0000000B C IDCONTINUE =11=00007D00 C IDTIMEOUT =32000
C
C ;------------------ From winbase.h ----------------------------=00000001 C CREATE_NEW =1=00000002 C CREATE_ALWAYS =2=00000003 C OPEN_EXISTING =3=00000004 C OPEN_ALWAYS =4=00000005 C TRUNCATE_EXISTING =5
C
=00000000 C FILE_BEGIN =0=00000001 C FILE_CURRENT =1=00000002 C FILE_END =2
C
=-00000001 C INVALID_HANDLE_VALUE =-1
C
C ;--------------------From wincon.h ---------------------------
C
C ; ControlKeyState flags
C
=00000001 C RIGHT_ALT_PRESSED =0001h ; the right alt key is pressed.=00000002 C LEFT_ALT_PRESSED =0002h ; the left alt key is pressed.=00000004 C RIGHT_CTRL_PRESSED =0004h ; the right ctrl key is pressed.=00000008 C LEFT_CTRL_PRESSED =0008h ; the left ctrl key is pressed.=00000010 C SHIFT_PRESSED =0010h ; the shift key is pressed.=00000020 C NUMLOCK_ON =0020h ; the numlock light is on.=00000040 C SCROLLLOCK_ON =0040h ; the scrolllock light is on.=00000080 C CAPSLOCK_ON =0080h ; the capslock light is on.=00000100 C ENHANCED_KEY =0100h ; the key is enhanced.
C
C ;---------------------- from WinUser.h -------------------------
C
=00000090 C VK_NUMLOCK =90h
=00000091 C VK_SCROLL =91h
=000000A0 C VK_LSHIFT =0A0h
=000000A1 C VK_RSHIFT =0A1h
=000000A2 C VK_LCONTROL =0A2h
=000000A3 C VK_RCONTROL =0A3h
=000000A4 C VK_LMENU =0A4h
=000000A5 C VK_RMENU =0A5h
C
C ;----------------------------------------------------------------
C
= INVOKE ExitProcess,0 C exit EQU <INVOKE ExitProcess,0>; exit program
C
C ;======================================================
C ; ALIASES
C ;======================================================
C ; The following Win32 API functions have an
C ; extra "A" at the end of their name, so they are
C ; redefined here with text macros:
C
= CreateFileA C CreateFile EQU <CreateFileA>= FormatMessageA C FormatMessage EQU <FormatMessageA>= GetCommandLineA C GetCommandLine EQU <GetCommandLineA>= MessageBoxA C MessageBox EQU <MessageBoxA>= PeekConsoleInputA C PeekConsoleInput EQU <PeekConsoleInputA>= ReadConsoleA C ReadConsole EQU <ReadConsoleA>= ReadConsoleInputA C ReadConsoleInput EQU <ReadConsoleInputA>= SetConsoleTitleA C SetConsoleTitle EQU <SetConsoleTitleA>= WriteConsoleA C WriteConsole EQU <WriteConsoleA>= WriteConsoleOutputCharac C WriteConsoleOutputCharacter EQU <WriteConsoleOutputCharacterA>
terA
= wsprintfA C wsprintf EQU <wsprintfA>
C
C ;=======================================================
C ; Standard Windows Structure defintions:
C ;=======================================================
C
00000004 C COORD STRUCT
000000000000 C X WORD ?000000020000 C Y WORD ?
C COORD ENDS
C
00000010 C SYSTEMTIME STRUCT
000000000000 C wYear WORD ?000000020000 C wMonth WORD ?000000040000 C wDayOfWeek WORD ?000000060000 C wDay WORD ?000000080000 C wHour WORD ?0000000A 0000 C wMinute WORD ?0000000C 0000 C wSecond WORD ?0000000E 0000 C wMilliseconds WORD ?
C SYSTEMTIME ENDS
C
C ; Date and time, measured in 100ns intervals
C ; since January 1,1601.00000008 C FILETIME STRUCT
0000000000000000 C loDateTime DWORD ?0000000400000000 C hiDateTime DWORD ?
C FILETIME ENDS
C
00000008 C SMALL_RECT STRUCT
000000000000 C Left WORD ?000000020000 C Top WORD ?000000040000 C Right WORD ?000000060000 C Bottom WORD ?
C SMALL_RECT ENDS
C
00000008 C CONSOLE_CURSOR_INFO STRUCT
0000000000000000 C dwSize DWORD ?0000000400000000 C bVisible DWORD ?
C CONSOLE_CURSOR_INFO ENDS
C
00000016 C CONSOLE_SCREEN_BUFFER_INFO STRUCT
0000000000000000 C dwSize COORD <>0000000400000000 C dwCursorPosition COORD <>000000080000 C wAttributes WORD ?0000000A 000000000000 C srWindow SMALL_RECT <>00000000001200000000 C dwMaximumWindowSize COORD <>
C CONSOLE_SCREEN_BUFFER_INFO ENDS
C
00000010 C KEY_EVENT_RECORD STRUCT
0000000000000000 C bKeyDown DWORD ?000000040000 C wRepeatCount WORD ?000000060000 C wVirtualKeyCode WORD ?000000080000 C wVirtualScanCode WORD ?
C UNION uChar
0000000A 0000 C UnicodeChar WORD ?
C AsciiChar BYTE ?
C ENDS
0000000C 00000000 C dwControlKeyState DWORD ?
C KEY_EVENT_RECORD ENDS
C
00000010 C MOUSE_EVENT_RECORD STRUCT
0000000000000000 C dwMousePosition COORD <>0000000400000000 C dwButtonState DWORD ?0000000800000000 C dwMouseControlKeyState DWORD ?0000000C 00000000 C dwEventFlags DWORD ?
C MOUSE_EVENT_RECORD ENDS
C
00000004 C WINDOW_BUFFER_SIZE_RECORD STRUCT
0000000000000000 C dwSize COORD <>
C WINDOW_BUFFER_SIZE_RECORD ENDS
C
00000004 C MENU_EVENT_RECORD STRUCT
0000000000000000 C dwCommandId DWORD ?; reserved
C MENU_EVENT_RECORD ENDS
C
00000004 C FOCUS_EVENT_RECORD STRUCT
0000000000000000 C bSetFocus DWORD ?
C FOCUS_EVENT_RECORD ENDS
C
00000014 C INPUT_RECORD STRUCT
000000000000 C EventType WORD ?
C ALIGN DWORD ; align next field on doubleword boundary
C UNION Event
00000004000000000000 C KEY_EVENT_RECORD <>00000000000000000000
C MOUSE_EVENT_RECORD <>
C WINDOW_BUFFER_SIZE_RECORD <>
C MENU_EVENT_RECORD <>
C FOCUS_EVENT_RECORD <>
C ENDS
C INPUT_RECORD ENDS
C
C ;==========================================================
C ; FUNCTION PROTOTYPES
C ;==========================================================
C
C CloseHandle PROTO,; close file handle
C hObject:DWORD
C
C CreateFile PROTO,; create new file
C lpFilename:PTR BYTE,; ptr to filename
C dwDesiredAccess:DWORD,; access mode
C dwShareMode:DWORD,; share mode
C lpSecurityAttributes:DWORD,; pointer to security attributes
C dwCreationDisposition:DWORD,; file creation options
C dwFlagsAndAttributes:DWORD,; file attributes
C hTemplateFile:DWORD ; handle to template file
C
C ExitProcess PROTO,; exit program
C dwExitCode:DWORD ;return code
C
C FileTimeToSystemTime PROTO,; convert FILETIME to SYSTEMTIME
C lpFileTime:PTR FILETIME,
C lpSystemTime:PTR SYSTEMTIME
C
C FileTimeToDosDateTime PROTO,; converts a Win32 file time to MS-DOS date/time
C lpFileTime:PTR FILETIME,
C lpFatDate:PTR WORD,
C lpFatTime:PTR WORD
C
C FormatMessage PROTO,; format a message
C dwFlags:DWORD,; formatting options
C lpSource:DWORD,; location of message definition
C dwMsgID:DWORD,; message identifier
C dwLanguageID:DWORD,; language identifier
C lpBuffer:PTR BYTE,; pointer to buffer receiving string
C nSize:DWORD,; buffer size
C va_list:DWORD ; pointer to list of arguments
C
C FlushConsoleInputBuffer PROTO,; flush the input buffer
C hConsoleInput:HANDLE ; standard input handle
C
C GetCommandLine PROTO ; returns pointer to command-line string
C
C GetConsoleCP PROTO ; returns code page ID in eax
C
C GetConsoleCursorInfo PROTO,
C hConsoleOutput:HANDLE,; console output handle
C lpConsoleCursorInfo:PTR CONSOLE_CURSOR_INFO ; cursor information
C
C GetConsoleMode PROTO,
C hConsoleHandle:HANDLE,; input or output handle
C lpMode:PTR DWORD ; pointer to dword containing flags
C
C GetConsoleScreenBufferInfo PROTO,
C hConsoleOutput:HANDLE,; handle to screen buffer
C lpConsoleScreenBufferInfo:PTR CONSOLE_SCREEN_BUFFER_INFO
C
C GetFileTime PROTO,; get date/time stamp of a file
C hFile:HANDLE,
C pCreationTime:PTR FILETIME,
C pLastAccessTime:PTR FILETIME,
C pLastWriteTime:PTR FILETIME
C
C GetKeyState PROTO,; get state of keyboard keys (see Ch11\keybd.asm)
C nVirtKey:DWORD
C
C GetLastError PROTO ; get most recent error return value
C
C GetLocalTime PROTO,; system time, adjusted for local time zone
C lpSystemTime:PTR SYSTEMTIME ; ptr to SYSTEMTIME object
C
C GetNumberOfConsoleInputEvents PROTO,; get number of unread records
C hConsoleInput:HANDLE,; input handle
C lpCount:PTR DWORD ; pointer to counter
C
C GetStdHandle PROTO,; get standard handle
C nStdHandle:HANDLE ; type of console handle
C
C GetSystemTime PROTO,; returns the system time
C lpSystemTime:PTR SYSTEMTIME ; ptr to SYSTEMTIME object
C
C GetTickCount PROTO ; get elapsed milliseconds
C ; since computer was turned on
C
C GetProcessHeap PROTO ; Get the current process heap handle
C
C HeapAlloc PROTO,
C hHeap:HANDLE,; handle to private heap block
C dwFlags:DWORD,; heap allocation control flags
C dwBytes:DWORD ; number of bytes to allocate
C
C HeapCreate PROTO,
C flOptions:DWORD,; heap allocation options
C dwInitialSize:DWORD,; initial heap size, in bytes
C dwMaximumSize:DWORD ; maximum heap size, in bytes
C
C HeapDestroy PROTO,
C hHeap:HANDLE ; heap handle
C
C HeapFree PROTO,
C hHeap:HANDLE,; handle to heap with memory block
C dwFlags:DWORD,; heap free options
C lpMem:DWORD ; pointer to block to be freed
C
C HeapSize PROTO,
C hHeap:HANDLE,; handle to heap
C dwFlags:DWORD,; heap size options
C pMem:DWORD ; pointer to memory block
C
C LocalFree PROTO,; free up local memory, using its handle
C hMem:HANDLE
C
C MessageBoxA PROTO,; displays a pop-up message box
C hWnd:DWORD,; handle to window (can be null)
C lpText:PTR BYTE,; string for inside of dialog box
C lpCaption:PTR BYTE,; string for dialog box title
C uType:DWORD ; contents and behavior of the dialog
C
C PeekConsoleInput PROTO,
C hConsoleInput:HANDLE,; input handle
C lpBuffer:PTR BYTE,; pointer to buffer
C nLength:DWORD,; number of chars to read
C lpNumberOfEventsRead:PTR DWORD ; ptr to number of events read
C
C printf PROTO C,; Std C library function
C format:PTR BYTE, args:VARARG ;(in libc.lib)
C
C ReadConsole PROTO,
C hConsoleInput:HANDLE,; input handle
C lpBuffer:PTR BYTE,; pointer to buffer
C nNumberOfBytesToRead:DWORD,; number of chars to read
C lpNumberOfCharsRead:PTR DWORD,; ptr to number of bytes read
C lpReserved:DWORD ;(not used)
C
C ReadConsoleInput PROTO,
C hConsoleInput:HANDLE,; input handle
C lpBuffer:PTR INPUT_RECORD,; ptr to input record
C nLength:DWORD,; request number of recs
C lpNumberOfEventsRead:PTR DWORD ; ptr to number of bytes read
C
C ReadFile PROTO,; read buffer from input file
C hFile:HANDLE,; input handle
C lpBuffer:PTR BYTE,; ptr to buffer
C nNumberOfBytesToRead:DWORD,; num bytes to read
C lpNumberOfBytesRead:PTR DWORD,; bytes actually read
C lpOverlapped:PTR DWORD ; ptr to asynchronous info
C
C scanf PROTO C,; Std C library function
C format:PTR BYTE, args:VARARG ;(in libc.lib)
C
C SetConsoleCursorInfo PROTO,
C hConsoleOutput:HANDLE,; output handle
C lpConsoleCursorInfo:PTR CONSOLE_CURSOR_INFO ; cursor information
C
C SetConsoleCursorPosition PROTO,
C hConsoleOutput:HANDLE,; output handle
C dwCursorPosition:COORD ; screen X,Y coordinates
C
C SetConsoleMode PROTO,
C hConsoleHandle:HANDLE,; output handle
C dwMode:DWORD ; console mode flags
C
C SetConsoleScreenBufferSize PROTO,
C hConsoleOutput:HANDLE,; handle to screen buffer
C dwSize:COORD ; new screen buffer size
C
C SetConsoleTextAttribute PROTO,
C hConsoleOutput:HANDLE,; output handle
C wAttributes:WORD ; color attribute (fixed 6/20/05)
C
C SetConsoleTitle PROTO,; set console window title
C lpConsoleTitle:PTR BYTE ; points to string
C
C SetConsoleWindowInfo PROTO,; set position of console window
C hConsoleOutput:HANDLE,; screen buffer handle
C bAbsolute:DWORD,; coordinate type
C lpConsoleWindow:PTR SMALL_RECT ; ptr to window rectangle
C
C SetFilePointer PROTO,; set the file pointer position
C hFile:HANDLE,; file handle
C lDistanceToMove:SDWORD,; bytes to move pointer
C lpDistanceToMoveHigh:PTR SDWORD,; ptr to bytes to move, high
C dwMoveMethod:DWORD ; starting point
C
C SetLocalTime PROTO,; set the system's local date and time
C lpSystemTime:PTR SYSTEMTIME ; ptr to SYSTEMTIME structure
C
C Sleep PROTO,; sleeep for n milliseconds
C dwMilliseconds:DWORD
C
C SystemTimeToFileTime PROTO,; Convert a SYSTEMTIME structure
C lpSystemTime:PTR SYSTEMTIME,; to a FILETIME structure
C lpFileTime:PTR FILETIME
C
C WriteConsole PROTO,; write a buffer to the console
C hConsoleOutput:HANDLE,; output handle
C lpBuffer:PTR BYTE,; pointer to buffer
C nNumberOfCharsToWrite:DWORD,; size of buffer
C lpNumberOfCharsWritten:PTR DWORD,; ptr to number of bytes written
C lpReserved:DWORD ;(not used)
C
C WriteConsoleOutputCharacter PROTO,
C hConsoleOutput:HANDLE,; console output handle
C lpCharacter:PTR BYTE,; pointer to buffer
C nLength:DWORD,; size of buffer
C dwWriteCoord:COORD,; first cell coordinates
C lpNumberOfCharsWritten:PTR DWORD ; output count
C
C WriteConsoleOutputAttribute PROTO,
C hConsoleOutput:HANDLE,; output handle
C lpAttribute:PTR WORD,; write attributes
C nLength:DWORD,; number of cells
C dwWriteCoord:COORD,; first cell coordinates
C lpNumberOfAttrsWritten:PTR DWORD ; number of cells written
C
C WriteFile PROTO,; write buffer to output file
C hFile:HANDLE,; output handle
C lpBuffer:PTR BYTE,; pointer to buffer
C nNumberOfBytesToWrite:DWORD,; size of buffer
C lpNumberOfBytesWritten:PTR DWORD,; num bytes written
C lpOverlapped:PTR DWORD ; ptr to asynchronous info
C
C wsprintf PROTO NEAR C,
C lpOut:PTR BYTE,; output buffer
C lpFmt:PTR BYTE,; format-control string
C vars :VARARG ; optional arguments
C
C .LIST
C
C INCLUDE VirtualKeys.inc
C ; VirtualKeys.inc
C .NOLIST
C ; updated 4/5/03
C
C ; Standard MS-Windows Virtual Key definitions
C
=00000001 C VK_LBUTTON =01H
=00000002 C VK_RBUTTON =02H
=00000003 C VK_CANCEL =03H
=00000008 C VK_BACK =08H
=00000009 C VK_TAB =09H
=0000000C C VK_CLEAR =0cH
=0000000D C VK_RETURN =0dH
=00000010 C VK_SHIFT =10H
=00000011 C VK_CONTROL =11H
=00000012 C VK_MENU =12H
=00000013 C VK_PAUSE =13H
=00000014 C VK_CAPITAL =14H
=0000001B C VK_ESCAPE =1bH
=00000020 C VK_SPACE =20H
C
=00000021 C VK_PRIOR =21H
=00000022 C VK_NEXT =22H
=00000023 C VK_END =23H
=00000024 C VK_HOME =24H
=00000025 C VK_LEFT =25H
=00000026 C VK_UP =26H
=00000027 C VK_RIGHT =27H
=00000028 C VK_DOWN =28H
C
C ; VK_A thru VK_Z are the same as their ASCII equivalents:'A' thru 'Z'
C ; VK_0 thru VK_9 are the same as their ASCII equivalents:'0' thru '0'
C
=0000002A C VK_PRINT =2aH
=0000002B C VK_EXECUTE =2bH
=0000002C C VK_SNAPSHOT =2ch ; Printscreen key..=0000002D C VK_INSERT =2dH
=0000002E C VK_DELETE =2eH
=0000002F C VK_HELP =2fH
C
=00000060 C VK_NUMPAD0 =60H
=00000061 C VK_NUMPAD1 =61H
=00000062 C VK_NUMPAD2 =62H
=00000063 C VK_NUMPAD3 =63H
=00000064 C VK_NUMPAD4 =64H
=00000065 C VK_NUMPAD5 =65H
=00000066 C VK_NUMPAD6 =66H
=00000067 C VK_NUMPAD7 =67H
=00000068 C VK_NUMPAD8 =68H
=00000069 C VK_NUMPAD9 =69H
=0000006A C VK_MULTIPLY =6AH
=0000006B C VK_ADD =6BH
=0000006C C VK_SEPARATER =6CH
=0000006D C VK_SUBTRACT =6DH
=0000006E C VK_DECIMAL =6EH
=0000006F C VK_DIVIDE =6FH
C
=00000070 C VK_F1 =70H
=00000071 C VK_F2 =71H
=00000072 C VK_F3 =72H
=00000073 C VK_F4 =73H
=00000074 C VK_F5 =74H
=00000075 C VK_F6 =75H
=00000076 C VK_F7 =76H
=00000077 C VK_F8 =77H
=00000078 C VK_F9 =78H
=00000079 C VK_F10 =79H
=0000007A C VK_F11 =7aH
=0000007B C VK_F12 =7bH
=0000007C C VK_F13 =7cH
=0000007D C VK_F14 =7dH
=0000007E C VK_F15 =7eH
=0000007F C VK_F16 =7fH
=00000080 C VK_F17 =80H
=00000081 C VK_F18 =81H
=00000082 C VK_F19 =82H
=00000083 C VK_F20 =83H
=00000084 C VK_F21 =84H
=00000085 C VK_F22 =85H
=00000086 C VK_F23 =86H
=00000087 C VK_F24 =87H
C
C
=00000090 C VK_NUMLOCK =90H
=00000091 C VK_SCROLL =91H
C
C ; Not found in Windows header file:
C
=000000BD C VK_11 =0BDh ;- key (on horizontal numbers row)=000000BB C VK_12 =0BBh ;+ key (on horizontal numbers row)
C .LIST
C
C
C .NOLIST
C ; Last update:7/29/05
C
C ;----------------------------------------
C ; Procedure Prototypes
C ;----------------------------------------
C CloseFile PROTO ; close a file handle
C Clrscr PROTO ; clear the screen
C CreateOutputFile PROTO ; create file for writing
C Crlf PROTO ; output carriage-return/ linefeed
C Delay PROTO ; delay for n milliseconds
C DumpMem PROTO ; display memory dump
C DumpRegs PROTO ; display register dump
C GetCommandTail PROTO ; get command-line string
C GetDateTime PROTO,; get system date and time
C startTime:PTR QWORD
C GetMaxXY PROTO ; get console rows and columns
C GetMseconds PROTO ; get milliseconds past midnight
C GetTextColor PROTO ; Get the console window's color attributes.
C Gotoxy PROTO ; set the cursor position
C IsDigit PROTO ;return ZF=1if AL is a decimal digit
C MsgBox PROTO ; display popup message box
C MsgBoxAsk PROTO ; display popup yes/no question box
C OpenInputFile PROTO ; open file in input mode
C ParseDecimal32 PROTO ; convert unsigned decimal string to 32-bit binary
C ParseInteger32 PROTO ; convert signed decimal string to 32-bit binary
C Randomize PROTO ; reseed random number generator
C RandomRange PROTO ; generate random integer in specified range
C Random32 PROTO ; generate 32-bit random integer
C ReadInt PROTO ; read signed decimal integer from console
C ReadChar PROTO ; reach single character from console
C ReadDec PROTO ; read unsigned decimal integer from console
C ReadFloat PROTO ; read floating-point value from keyboard
C ReadFromFile PROTO ; read buffer from input file
C ReadHex PROTO ; read hexadecimal integer from console
C ReadKey PROTO ; Reads keyboard input if available (4/6/03)
C ReadKeyFlush PROTO ; Flush ReadKey buffer and repeat counter (4/6/03)
C ReadString PROTO ; read string from console
C SetTextColor PROTO ; set console text color
C ShowFPUStack PROTO ; write floating-point stack to console window
C StrLength PROTO ; returns the length of a string
C WaitMsg PROTO ; display wait message, wait for Enter key
C WriteBin PROTO ; write integer to output in binary format
C WriteBinB PROTO ; write binary integer in byte, word,or doubleword format
C WriteChar PROTO ; write single character to output
C WriteDec PROTO ; write unsigned decimal integer to output
C WriteFloat PROTO ; write ST(0) to console in floating-point format
C WriteHex PROTO ; write hexadecimal integer to output
C WriteHexB PROTO ; write hexadecimal integer in word or doubleword format
C WriteInt PROTO ; write signed integer to output
C ;WriteStackFrame ; write stack frame data (James Brink--see proto later in this file)
C ;WriteStackFrameName ; write stack frame data with proc name (James Brink)
C WriteString PROTO ; write null-terminated string to output
C WriteToFile PROTO ; write a buffer to an output file
C WriteWindowsMsg PROTO ; write last error message generated by MS-Windows
C
C
C ; Copy a source string to a target string.
C Str_copy PROTO,
C source:PTR BYTE,
C target:PTR BYTE
C
C ; Return the length of a null-terminated string..
C Str_length PROTO,
C pString:PTR BYTE
C
C ; Compare string1 to string2. Set the Zero and
C ; Carry flags in the same way as the CMP instruction.
C Str_compare PROTO,
C string1:PTR BYTE,
C string2:PTR BYTE
C
C ; Trim a given trailing character from a string.
C ; The second argument is the character to trim.
C Str_trim PROTO,
C pString:PTR BYTE,
C char:BYTE
C
C ; Convert a null-terminated string to upper case.
C Str_ucase PROTO,
C pString:PTR BYTE
C
C ;******** Procedures by James Brink ********************************
C ; Used by permission.
C
C WriteStackFrameName PROTO,
C numParam:DWORD,; number of parameters passed to the procedure
C numLocalVal: DWORD,; number of DWordLocal variables
C numSavedReg: DWORD,; number of saved registers
C procName: PTR BYTE
C
C WriteStackFrame PROTO,
C numParam:DWORD,; number of parameters passed to the procedure
C numLocalVal: DWORD,; number of DWordLocal variables
C numSavedReg: DWORD ; number of saved registers
C
C
C ;-----------------------------------
C ; Standard 4-bit color definitions
C ;-----------------------------------=00000000 C black =0000b
=00000001 C blue =0001b
=00000002 C green =0010b
=00000003 C cyan =0011b
=00000004 C red =0100b
=00000005 C magenta =0101b
=00000006 C brown =0110b
=00000007 C lightGray =0111b
=00000008 C gray =1000b
=00000009 C lightBlue =1001b
=0000000A C lightGreen =1010b
=0000000B C lightCyan =1011b
=0000000C C lightRed =1100b
=0000000D C lightMagenta =1101b
=0000000E C yellow =1110b
=0000000F C white =1111b
C
C ; This structure is returned by the FSTSW
C ; instruction in protected mode:
C
0000001C C FPU_ENVIRON STRUCT
000000000000 C controlWord WORD ?
C ALIGN DWORD
000000040000 C statusWord WORD ?
C ALIGN DWORD
000000080000 C tagWord WORD ?
C ALIGN DWORD
0000000C 00000000 C instrPointerOffset DWORD ?0000001000000000 C instrPointerSelector DWORD ?0000001400000000 C operandPointerOffset DWORD ?000000180000 C operandPointerSelector WORD ?0000001A 0000 C WORD ?; not used
C FPU_ENVIRON ENDS
C
C .LIST
C
00000000.data
=00000001 val1 =1=00000001 val2 =10000000000000001 DWORD val1 ; first two values
0000000400000001 DWORD val2
=00000002 val3 = val1 + val2
WHILE val3 LT 0F0000000h
DWORD val3
val1 = val2
val2 = val3
val3 = val1 + val2
ENDM
00000008000000021 DWORD val3
=000000011 val1 = val2
=000000021 val2 = val3
=000000031 val3 = val1 + val2
0000000C 000000031 DWORD val3
=000000021 val1 = val2
=000000031 val2 = val3
=000000051 val3 = val1 + val2
00000010000000051 DWORD val3
=000000031 val1 = val2
=000000051 val2 = val3
=000000081 val3 = val1 + val2
00000014000000081 DWORD val3
=000000051 val1 = val2
=000000081 val2 = val3
=0000000D 1 val3 = val1 + val2
000000180000000D 1 DWORD val3
=000000081 val1 = val2
=0000000D 1 val2 = val3
=000000151 val3 = val1 + val2
0000001C 000000151 DWORD val3
=0000000D 1 val1 = val2
=000000151 val2 = val3
=000000221 val3 = val1 + val2
00000020000000221 DWORD val3
=000000151 val1 = val2
=000000221 val2 = val3
=000000371 val3 = val1 + val2
00000024000000371 DWORD val3
=000000221 val1 = val2
=000000371 val2 = val3
=000000591 val3 = val1 + val2
00000028000000591 DWORD val3
=000000371 val1 = val2
=000000591 val2 = val3
=000000901 val3 = val1 + val2
0000002C 000000901 DWORD val3
=000000591 val1 = val2
=000000901 val2 = val3
=000000E91 val3 = val1 + val2
00000030000000E91 DWORD val3
=000000901 val1 = val2
=000000E91 val2 = val3
=000001791 val3 = val1 + val2
00000034000001791 DWORD val3
=000000E91 val1 = val2
=000001791 val2 = val3
=000002621 val3 = val1 + val2
00000038000002621 DWORD val3
=000001791 val1 = val2
=000002621 val2 = val3
=000003DB 1 val3 = val1 + val2
0000003C 000003DB 1 DWORD val3
=000002621 val1 = val2
=000003DB 1 val2 = val3
=0000063D 1 val3 = val1 + val2
000000400000063D 1 DWORD val3
=000003DB 1 val1 = val2
=0000063D 1 val2 = val3
=00000A18 1 val3 = val1 + val2
0000004400000A18 1 DWORD val3
=0000063D 1 val1 = val2
=00000A18 1 val2 = val3
=000010551 val3 = val1 + val2
00000048000010551 DWORD val3
=00000A18 1 val1 = val2
=000010551 val2 = val3
=00001A6D 1 val3 = val1 + val2
0000004C 00001A6D 1 DWORD val3
=000010551 val1 = val2
=00001A6D 1 val2 = val3
=00002AC2 1 val3 = val1 + val2
0000005000002AC2 1 DWORD val3
=00001A6D 1 val1 = val2
=00002AC2 1 val2 = val3
=0000452F1 val3 = val1 + val2
000000540000452F1 DWORD val3
=00002AC2 1 val1 = val2
=0000452F1 val2 = val3
=00006FF11 val3 = val1 + val2
0000005800006FF11 DWORD val3
=0000452F1 val1 = val2
=00006FF11 val2 = val3
=0000B520 1 val3 = val1 + val2
0000005C 0000B520 1 DWORD val3
=00006FF11 val1 = val2
=0000B520 1 val2 = val3
=000125111 val3 = val1 + val2
00000060000125111 DWORD val3
=0000B520 1 val1 = val2
=000125111 val2 = val3
=0001DA31 1 val3 = val1 + val2
000000640001DA31 1 DWORD val3
=000125111 val1 = val2
=0001DA31 1 val2 = val3
=0002FF421 val3 = val1 + val2
000000680002FF421 DWORD val3
=0001DA31 1 val1 = val2
=0002FF421 val2 = val3
=0004D973 1 val3 = val1 + val2
0000006C 0004D973 1 DWORD val3
=0002FF421 val1 = val2
=0004D973 1 val2 = val3
=0007D8B5 1 val3 = val1 + val2
000000700007D8B5 1 DWORD val3
=0004D973 1 val1 = val2
=0007D8B5 1 val2 = val3
=000CB228 1 val3 = val1 + val2
00000074000CB228 1 DWORD val3
=0007D8B5 1 val1 = val2
=000CB228 1 val2 = val3
=00148ADD 1 val3 = val1 + val2
0000007800148ADD 1 DWORD val3
=000CB228 1 val1 = val2
=00148ADD 1 val2 = val3
=00213D05 1 val3 = val1 + val2
0000007C 00213D05 1 DWORD val3
=00148ADD 1 val1 = val2
=00213D05 1 val2 = val3
=0035C7E2 1 val3 = val1 + val2
000000800035C7E2 1 DWORD val3
=00213D05 1 val1 = val2
=0035C7E2 1 val2 = val3
=005704E71 val3 = val1 + val2
00000084005704E71 DWORD val3
=0035C7E2 1 val1 = val2
=005704E71 val2 = val3
=008CCCC9 1 val3 = val1 + val2
00000088008CCCC9 1 DWORD val3
=005704E71 val1 = val2
=008CCCC9 1 val2 = val3
=00E3D1B0 1 val3 = val1 + val2
0000008C 00E3D1B0 1 DWORD val3
=008CCCC9 1 val1 = val2
=00E3D1B0 1 val2 = val3
=01709E791 val3 = val1 + val2
0000009001709E791 DWORD val3
=00E3D1B0 1 val1 = val2
=01709E791 val2 = val3
=025470291 val3 = val1 + val2
00000094025470291 DWORD val3
=01709E791 val1 = val2
=025470291 val2 = val3
=03C50EA2 1 val3 = val1 + val2
0000009803C50EA2 1 DWORD val3
=025470291 val1 = val2
=03C50EA2 1 val2 = val3
=06197ECB 1 val3 = val1 + val2
0000009C 06197ECB 1 DWORD val3
=03C50EA2 1 val1 = val2
=06197ECB 1 val2 = val3
=09DE8D6D 1 val3 = val1 + val2
000000A0 09DE8D6D 1 DWORD val3
=06197ECB 1 val1 = val2
=09DE8D6D 1 val2 = val3
=0FF80C38 1 val3 = val1 + val2
000000A4 0FF80C38 1 DWORD val3
=09DE8D6D 1 val1 = val2
=0FF80C38 1 val2 = val3
=19D699A5 1 val3 = val1 + val2
000000A8 19D699A5 1 DWORD val3
=0FF80C38 1 val1 = val2
=19D699A5 1 val2 = val3
=29CEA5DD 1 val3 = val1 + val2
000000AC 29CEA5DD 1 DWORD val3
=19D699A5 1 val1 = val2
=29CEA5DD 1 val2 = val3
=43A53F82 1 val3 = val1 + val2
000000B0 43A53F82 1 DWORD val3
=29CEA5DD 1 val1 = val2
=43A53F82 1 val2 = val3
=6D73E55F 1 val3 = val1 + val2
000000B4 6D73E55F 1 DWORD val3
=43A53F82 1 val1 = val2
=6D73E55F 1 val2 = val3
= B11924E1 1 val3 = val1 + val2
000000B8 B11924E1 1 DWORD val3
=6D73E55F 1 val1 = val2
= B11924E1 1 val2 = val3
=1E8D0A40 1 val3 = val1 + val2
00000000.code
00000000 main PROC
exit
000000006A 00* push +000000000h
00000002 E8 00000000 E * call ExitProcess
00000007 main ENDP
END main
Microsoft (R) Macro Assembler Version 14.25.28610.406/04/2016:04:111.asm Symbols 2-1
Structures and Unions:
N a m e Size
Offset Type
CONSOLE_CURSOR_INFO ......00000008
dwSize ............00000000 DWord
bVisible ...........00000004 DWord
CONSOLE_SCREEN_BUFFER_INFO ...00000016
dwSize ............00000000 DWord
dwCursorPosition .......00000004 DWord
wAttributes .........00000008 Word
srWindow ...........0000000A QWord
dwMaximumWindowSize .....00000012 DWord
COORD .............00000004
X ..............00000000 Word
Y ..............00000002 Word
FILETIME ............00000008
loDateTime ..........00000000 DWord
hiDateTime ..........00000004 DWord
FOCUS_EVENT_RECORD .......00000004
bSetFocus ..........00000000 DWord
FPU_ENVIRON ..........0000001C
controlWord .........00000000 Word
statusWord ..........00000004 Word
tagWord ...........00000008 Word
instrPointerOffset ......0000000C DWord
instrPointerSelector .....00000010 DWord
operandPointerOffset .....00000014 DWord
operandPointerSelector ....00000018 Word
INPUT_RECORD ..........00000014
EventType ..........00000000 Word
Event ............00000004 XmmWord
bKeyDown ...........00000000 DWord
wRepeatCount .........00000004 Word
wVirtualKeyCode .......00000006 Word
wVirtualScanCode .......00000008 Word
uChar ............0000000A Word
UnicodeChar .........00000000 Word
AsciiChar ..........00000000 Byte
dwControlKeyState ......0000000C DWord
dwMousePosition .......00000000 DWord
dwButtonState ........00000004 DWord
dwMouseControlKeyState ....00000008 DWord
dwEventFlags .........0000000C DWord
dwSize ............00000000 DWord
dwCommandId .........00000000 DWord
bSetFocus ..........00000000 DWord
KEY_EVENT_RECORD ........00000010
bKeyDown ...........00000000 DWord
wRepeatCount .........00000004 Word
wVirtualKeyCode .......00000006 Word
wVirtualScanCode .......00000008 Word
uChar ............0000000A Word
UnicodeChar .........00000000 Word
AsciiChar ..........00000000 Byte
dwControlKeyState ......0000000C DWord
MENU_EVENT_RECORD .......00000004
dwCommandId .........00000000 DWord
MOUSE_EVENT_RECORD .......00000010
dwMousePosition .......00000000 DWord
dwButtonState ........00000004 DWord
dwMouseControlKeyState ....00000008 DWord
dwEventFlags .........0000000C DWord
SMALL_RECT ...........00000008
Left .............00000000 Word
Top .............00000002 Word
Right ............00000004 Word
Bottom ............00000006 Word
SYSTEMTIME ...........00000010
wYear ............00000000 Word
wMonth ............00000002 Word
wDayOfWeek ..........00000004 Word
wDay .............00000006 Word
wHour ............00000008 Word
wMinute ...........0000000A Word
wSecond ...........0000000C Word
wMilliseconds ........0000000E Word
WINDOW_BUFFER_SIZE_RECORD ...00000004
dwSize ............00000000 DWord
Segments and Groups:
N a m e Size Length Align Combine Class
FLAT .............. GROUP
STACK .............32 Bit 00001000 Para Stack 'STACK'
_DATA .............32 Bit 000000BC Para Public 'DATA'
_TEXT .............32 Bit 00000007 Para Public 'CODE'
Procedures, parameters, and locals:
N a m e Type Value Attr
CloseFile ........... P Near 00000000 FLAT Length=00000000 External STDCALL
CloseHandle .......... P Near 00000000 FLAT Length=00000000 External STDCALL
Clrscr ............. P Near 00000000 FLAT Length=00000000 External STDCALL
CreateFileA .......... P Near 00000000 FLAT Length=00000000 External STDCALL
CreateOutputFile ........ P Near 00000000 FLAT Length=00000000 External STDCALL
Crlf .............. P Near 00000000 FLAT Length=00000000 External STDCALL
Delay ............. P Near 00000000 FLAT Length=00000000 External STDCALL
DumpMem ............ P Near 00000000 FLAT Length=00000000 External STDCALL
DumpRegs ............ P Near 00000000 FLAT Length=00000000 External STDCALL
ExitProcess .......... P Near 00000000 FLAT Length=00000000 External STDCALL
FileTimeToDosDateTime ..... P Near 00000000 FLAT Length=00000000 External STDCALL
FileTimeToSystemTime ...... P Near 00000000 FLAT Length=00000000 External STDCALL
FlushConsoleInputBuffer .... P Near 00000000 FLAT Length=00000000 External STDCALL
FormatMessageA ......... P Near 00000000 FLAT Length=00000000 External STDCALL
GetCommandLineA ........ P Near 00000000 FLAT Length=00000000 External STDCALL
GetCommandTail ......... P Near 00000000 FLAT Length=00000000 External STDCALL
GetConsoleCP .......... P Near 00000000 FLAT Length=00000000 External STDCALL
GetConsoleCursorInfo ...... P Near 00000000 FLAT Length=00000000 External STDCALL
GetConsoleMode ......... P Near 00000000 FLAT Length=00000000 External STDCALL
GetConsoleScreenBufferInfo ... P Near 00000000 FLAT Length=00000000 External STDCALL
GetDateTime .......... P Near 00000000 FLAT Length=00000000 External STDCALL
GetFileTime .......... P Near 00000000 FLAT Length=00000000 External STDCALL
GetKeyState .......... P Near 00000000 FLAT Length=00000000 External STDCALL
GetLastError .......... P Near 00000000 FLAT Length=00000000 External STDCALL
GetLocalTime .......... P Near 00000000 FLAT Length=00000000 External STDCALL
GetMaxXY ............ P Near 00000000 FLAT Length=00000000 External STDCALL
GetMseconds .......... P Near 00000000 FLAT Length=00000000 External STDCALL
GetNumberOfConsoleInputEvents . P Near 00000000 FLAT Length=00000000 External STDCALL
GetProcessHeap ......... P Near 00000000 FLAT Length=00000000 External STDCALL
GetStdHandle .......... P Near 00000000 FLAT Length=00000000 External STDCALL
GetSystemTime ......... P Near 00000000 FLAT Length=00000000 External STDCALL
GetTextColor .......... P Near 00000000 FLAT Length=00000000 External STDCALL
GetTickCount .......... P Near 00000000 FLAT Length=00000000 External STDCALL
Gotoxy ............. P Near 00000000 FLAT Length=00000000 External STDCALL
HeapAlloc ........... P Near 00000000 FLAT Length=00000000 External STDCALL
HeapCreate ........... P Near 00000000 FLAT Length=00000000 External STDCALL
HeapDestroy .......... P Near 00000000 FLAT Length=00000000 External STDCALL
HeapFree ............ P Near 00000000 FLAT Length=00000000 External STDCALL
HeapSize ............ P Near 00000000 FLAT Length=00000000 External STDCALL
IsDigit ............ P Near 00000000 FLAT Length=00000000 External STDCALL
LocalFree ........... P Near 00000000 FLAT Length=00000000 External STDCALL
MessageBoxA .......... P Near 00000000 FLAT Length=00000000 External STDCALL
MsgBoxAsk ........... P Near 00000000 FLAT Length=00000000 External STDCALL
MsgBox ............. P Near 00000000 FLAT Length=00000000 External STDCALL
OpenInputFile ......... P Near 00000000 FLAT Length=00000000 External STDCALL
ParseDecimal32 ......... P Near 00000000 FLAT Length=00000000 External STDCALL
ParseInteger32 ......... P Near 00000000 FLAT Length=00000000 External STDCALL
PeekConsoleInputA ....... P Near 00000000 FLAT Length=00000000 External STDCALL
Random32 ............ P Near 00000000 FLAT Length=00000000 External STDCALL
RandomRange .......... P Near 00000000 FLAT Length=00000000 External STDCALL
Randomize ........... P Near 00000000 FLAT Length=00000000 External STDCALL
ReadChar ............ P Near 00000000 FLAT Length=00000000 External STDCALL
ReadConsoleA .......... P Near 00000000 FLAT Length=00000000 External STDCALL
ReadConsoleInputA ....... P Near 00000000 FLAT Length=00000000 External STDCALL
ReadDec ............ P Near 00000000 FLAT Length=00000000 External STDCALL
ReadFile ............ P Near 00000000 FLAT Length=00000000 External STDCALL
ReadFloat ........... P Near 00000000 FLAT Length=00000000 External STDCALL
ReadFromFile .......... P Near 00000000 FLAT Length=00000000 External STDCALL
ReadHex ............ P Near 00000000 FLAT Length=00000000 External STDCALL
ReadInt ............ P Near 00000000 FLAT Length=00000000 External STDCALL
ReadKeyFlush .......... P Near 00000000 FLAT Length=00000000 External STDCALL
ReadKey ............ P Near 00000000 FLAT Length=00000000 External STDCALL
ReadString ........... P Near 00000000 FLAT Length=00000000 External STDCALL
SetConsoleCursorInfo ...... P Near 00000000 FLAT Length=00000000 External STDCALL
SetConsoleCursorPosition .... P Near 00000000 FLAT Length=00000000 External STDCALL
SetConsoleMode ......... P Near 00000000 FLAT Length=00000000 External STDCALL
SetConsoleScreenBufferSize ... P Near 00000000 FLAT Length=00000000 External STDCALL
SetConsoleTextAttribute .... P Near 00000000 FLAT Length=00000000 External STDCALL
SetConsoleTitleA ........ P Near 00000000 FLAT Length=00000000 External STDCALL
SetConsoleWindowInfo ...... P Near 00000000 FLAT Length=00000000 External STDCALL
SetFilePointer ......... P Near 00000000 FLAT Length=00000000 External STDCALL
SetLocalTime .......... P Near 00000000 FLAT Length=00000000 External STDCALL
SetTextColor .......... P Near 00000000 FLAT Length=00000000 External STDCALL
ShowFPUStack .......... P Near 00000000 FLAT Length=00000000 External STDCALL
Sleep ............. P Near 00000000 FLAT Length=00000000 External STDCALL
StrLength ........... P Near 00000000 FLAT Length=00000000 External STDCALL
Str_compare .......... P Near 00000000 FLAT Length=00000000 External STDCALL
Str_copy ............ P Near 00000000 FLAT Length=00000000 External STDCALL
Str_length ........... P Near 00000000 FLAT Length=00000000 External STDCALL
Str_trim ............ P Near 00000000 FLAT Length=00000000 External STDCALL
Str_ucase ........... P Near 00000000 FLAT Length=00000000 External STDCALL
SystemTimeToFileTime ...... P Near 00000000 FLAT Length=00000000 External STDCALL
WaitMsg ............ P Near 00000000 FLAT Length=00000000 External STDCALL
WriteBinB ........... P Near 00000000 FLAT Length=00000000 External STDCALL
WriteBin ............ P Near 00000000 FLAT Length=00000000 External STDCALL
WriteChar ........... P Near 00000000 FLAT Length=00000000 External STDCALL
WriteConsoleA ......... P Near 00000000 FLAT Length=00000000 External STDCALL
WriteConsoleOutputAttribute .. P Near 00000000 FLAT Length=00000000 External STDCALL
WriteConsoleOutputCharacterA .. P Near 00000000 FLAT Length=00000000 External STDCALL
WriteDec ............ P Near 00000000 FLAT Length=00000000 External STDCALL
WriteFile ........... P Near 00000000 FLAT Length=00000000 External STDCALL
WriteFloat ........... P Near 00000000 FLAT Length=00000000 External STDCALL
WriteHexB ........... P Near 00000000 FLAT Length=00000000 External STDCALL
WriteHex ............ P Near 00000000 FLAT Length=00000000 External STDCALL
WriteInt ............ P Near 00000000 FLAT Length=00000000 External STDCALL
WriteStackFrameName ...... P Near 00000000 FLAT Length=00000000 External STDCALL
WriteStackFrame ........ P Near 00000000 FLAT Length=00000000 External STDCALL
WriteString .......... P Near 00000000 FLAT Length=00000000 External STDCALL
WriteToFile .......... P Near 00000000 FLAT Length=00000000 External STDCALL
WriteWindowsMsg ........ P Near 00000000 FLAT Length=00000000 External STDCALL
main .............. P Near 00000000 _TEXT Length=00000007 Public STDCALL
printf ............. P Near 00000000 FLAT Length=00000000 External C
scanf ............. P Near 00000000 FLAT Length=00000000 External C
wsprintfA ........... P Near 00000000 FLAT Length=00000000 External C
Symbols:
N a m e Type Value Attr
@CodeSize ........... Number 00000000h
@DataSize ........... Number 00000000h
@Interface ........... Number 00000003h
@Model ............. Number 00000007h
@code ............. Text _TEXT
@data ............. Text FLAT
@fardata?........... Text FLAT
@fardata ............ Text FLAT
@stack ............. Text FLAT
ALT_MASK ............ Number 00000003h
CAPSLOCK_ON .......... Number 00000080h
CREATE_ALWAYS ......... Number 00000002h
CREATE_NEW ........... Number 00000001h
CTRL_MASK ........... Number 0000000Ch
CreateFile ........... Text CreateFileA
DO_NOT_SHARE .......... Number 00000000h
ENABLE_ECHO_INPUT ....... Number 00000004h
ENABLE_LINE_INPUT ....... Number 00000002h
ENABLE_MOUSE_INPUT ....... Number 00000010h
ENABLE_PROCESSED_INPUT ..... Number 00000001h
ENABLE_PROCESSED_OUTPUT .... Number 00000001h
ENABLE_WINDOW_INPUT ...... Number 00000008h
ENABLE_WRAP_AT_EOL_OUTPUT ... Number 00000002h
ENHANCED_KEY .......... Number 00000100h
FALSE ............. Number 00000000h
FILE_APPEND_DATA ........ Number 00000004h
FILE_ATTRIBUTE_ARCHIVE ..... Number 00000020h
FILE_ATTRIBUTE_COMPRESSED ... Number 00000800h
FILE_ATTRIBUTE_DEVICE ..... Number 00000040h
FILE_ATTRIBUTE_DIRECTORY .... Number 00000010h
FILE_ATTRIBUTE_ENCRYPTED .... Number 00004000h
FILE_ATTRIBUTE_HIDDEN ..... Number 00000002h
FILE_ATTRIBUTE_NORMAL ..... Number 00000080h
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED . Number 00002000h
FILE_ATTRIBUTE_OFFLINE ..... Number 00001000h
FILE_ATTRIBUTE_READONLY .... Number 00000001h
FILE_ATTRIBUTE_REPARSE_POINT .. Number 00000400h
FILE_ATTRIBUTE_SPARSE_FILE ... Number 00000200h
FILE_ATTRIBUTE_SYSTEM ..... Number 00000004h
FILE_ATTRIBUTE_TEMPORARY .... Number 00000100h
FILE_BEGIN ........... Number 00000000h
FILE_CURRENT .......... Number 00000001h
FILE_DELETE_CHILD ....... Number 00000040h
FILE_END ............ Number 00000002h
FILE_READ_DATA ......... Number 00000001h
FILE_SHARE_DELETE ....... Number 00000004h
FILE_SHARE_READ ........ Number 00000001h
FILE_SHARE_WRITE ........ Number 00000002h
FILE_WRITE_DATA ........ Number 00000002h
FOCUS_EVENT .......... Number 00000010h
FORMAT_MESSAGE_ALLOCATE_BUFFER . Number 00000100h
FORMAT_MESSAGE_FROM_SYSTEM ... Number 00001000h
FormatMessage ......... Text FormatMessageA
GENERIC_ALL .......... Number 10000000h
GENERIC_EXECUTE ........ Number 20000000h
GENERIC_READ .......... Number -80000000h
GENERIC_WRITE ......... Number 40000000h
GetCommandLine ......... Text GetCommandLineA
HANDLE ............. Text DWORD
HEAP_GENERATE_EXCEPTIONS .... Number 00000004h
HEAP_GROWABLE ......... Number 00000002h
HEAP_NO_SERIALIZE ....... Number 00000001h
HEAP_REALLOC_IN_PLACE_ONLY ... Number 00000010h
HEAP_ZERO_MEMORY ........ Number 00000008h
IDABORT ............ Number 00000003h
IDCANCEL ............ Number 00000002h
IDCLOSE ............ Number 00000008h
IDCONTINUE ........... Number 0000000Bh
IDHELP ............. Number 00000009h
IDIGNORE ............ Number 00000005h
IDNO .............. Number 00000007h
IDOK .............. Number 00000001h
IDRETRY ............ Number 00000004h
IDTIMEOUT ........... Number 00007D00h
IDTRYAGAIN ........... Number 0000000Ah
IDYES ............. Number 00000006h
INVALID_HANDLE_VALUE ...... Number -00000001h
KBDOWN_FLAG .......... Number 00000001h
KEY_EVENT ........... Number 00000001h
KEY_MASKS ........... Number 0000001Fh
LEFT_ALT_PRESSED ........ Number 00000002h
LEFT_CTRL_PRESSED ....... Number 00000008h
MB_ABORTRETRYIGNORE ...... Number 00000002h
MB_APPLMODAL .......... Number 00000000h
MB_CANCELTRYCONTINUE ...... Number 00000006h
MB_DEFBUTTON1 ......... Number 00000000h
MB_DEFBUTTON2 ......... Number 00000100h
MB_DEFBUTTON3 ......... Number 00000200h
MB_DEFBUTTON4 ......... Number 00000300h
MB_HELP ............ Number 00004000h
MB_ICONASTERISK ........ Number 00000040h
MB_ICONERROR .......... Number 00000010h
MB_ICONEXCLAMATION ....... Number 00000030h
MB_ICONHAND .......... Number 00000010h
MB_ICONINFORMATION ....... Number 00000040h
MB_ICONQUESTION ........ Number 00000020h
MB_ICONSTOP .......... Number 00000010h
MB_ICONWARNING ......... Number 00000030h
MB_OKCANCEL .......... Number 00000001h
MB_OK ............. Number 00000000h
MB_RETRYCANCEL ......... Number 00000005h
MB_SYSTEMMODAL ......... Number 00001000h
MB_TASKMODAL .......... Number 00002000h
MB_USERICON .......... Number 00000080h
MB_YESNOCANCEL ......... Number 00000003h
MB_YESNO ............ Number 00000004h
MENU_EVENT ........... Number 00000008h
MOUSE_EVENT .......... Number 00000002h
MessageBox ........... Text MessageBoxA
NULL.............. Number 00000000h
NUMLOCK_ON ........... Number 00000020h
OPEN_ALWAYS .......... Number 00000004h
OPEN_EXISTING ......... Number 00000003h
PeekConsoleInput ........ Text PeekConsoleInputA
RIGHT_ALT_PRESSED ....... Number 00000001h
RIGHT_CTRL_PRESSED ....... Number 00000004h
ReadConsoleInput ........ Text ReadConsoleInputA
ReadConsole .......... Text ReadConsoleA
SCROLLLOCK_ON ......... Number 00000040h
SHIFT_MASK ........... Number 00000010h
SHIFT_PRESSED ......... Number 00000010h
STD_ERROR_HANDLE ........ Number -0000000Ch
STD_INPUT_HANDLE ........ Number -0000000Ah
STD_OUTPUT_HANDLE ....... Number -0000000Bh
SetConsoleTitle ........ Text SetConsoleTitleA
TAB .............. Number 00000009h
TRUE .............. Number 00000001h
TRUNCATE_EXISTING ....... Number 00000005h
VK_11 ............. Number 000000BDh
VK_12 ............. Number 000000BBh
VK_ADD ............. Number 0000006Bh
VK_BACK ............ Number 00000008h
VK_CANCEL ........... Number 00000003h
VK_CAPITAL ........... Number 00000014h
VK_CLEAR ............ Number 0000000Ch
VK_CONTROL ........... Number 00000011h
VK_DECIMAL ........... Number 0000006Eh
VK_DELETE ........... Number 0000002Eh
VK_DIVIDE ........... Number 0000006Fh
VK_DOWN ............ Number 00000028h
VK_END ............. Number 00000023h
VK_ESCAPE ........... Number 0000001Bh
VK_EXECUTE ........... Number 0000002Bh
VK_F10 ............. Number 00000079h
VK_F11 ............. Number 0000007Ah
VK_F12 ............. Number 0000007Bh
VK_F13 ............. Number 0000007Ch
VK_F14 ............. Number 0000007Dh
VK_F15 ............. Number 0000007Eh
VK_F16 ............. Number 0000007Fh
VK_F17 ............. Number 00000080h
VK_F18 ............. Number 00000081h
VK_F19 ............. Number 00000082h
VK_F1 ............. Number 00000070h
VK_F20 ............. Number 00000083h
VK_F21 ............. Number 00000084h
VK_F22 ............. Number 00000085h
VK_F23 ............. Number 00000086h
VK_F24 ............. Number 00000087h
VK_F2 ............. Number 00000071h
VK_F3 ............. Number 00000072h
VK_F4 ............. Number 00000073h
VK_F5 ............. Number 00000074h
VK_F6 ............. Number 00000075h
VK_F7 ............. Number 00000076h
VK_F8 ............. Number 00000077h
VK_F9 ............. Number 00000078h
VK_HELP ............ Number 0000002Fh
VK_HOME ............ Number 00000024h
VK_INSERT ........... Number 0000002Dh
VK_LBUTTON ........... Number 00000001h
VK_LCONTROL .......... Number 000000A2h
VK_LEFT ............ Number 00000025h
VK_LMENU ............ Number 000000A4h
VK_LSHIFT ........... Number 000000A0h
VK_MENU ............ Number 00000012h
VK_MULTIPLY .......... Number 0000006Ah
VK_NEXT ............ Number 00000022h
VK_NUMLOCK ........... Number 00000090h
VK_NUMPAD0 ........... Number 00000060h
VK_NUMPAD1 ........... Number 00000061h
VK_NUMPAD2 ........... Number 00000062h
VK_NUMPAD3 ........... Number 00000063h
VK_NUMPAD4 ........... Number 00000064h
VK_NUMPAD5 ........... Number 00000065h
VK_NUMPAD6 ........... Number 00000066h
VK_NUMPAD7 ........... Number 00000067h
VK_NUMPAD8 ........... Number 00000068h
VK_NUMPAD9 ........... Number 00000069h
VK_PAUSE ............ Number 00000013h
VK_PRINT ............ Number 0000002Ah
VK_PRIOR ............ Number 00000021h
VK_RBUTTON ........... Number 00000002h
VK_RCONTROL .......... Number 000000A3h
VK_RETURN ........... Number 0000000Dh
VK_RIGHT ............ Number 00000027h
VK_RMENU ............ Number 000000A5h
VK_RSHIFT ........... Number 000000A1h
VK_SCROLL ........... Number 00000091h
VK_SEPARATER .......... Number 0000006Ch
VK_SHIFT ............ Number 00000010h
VK_SNAPSHOT .......... Number 0000002Ch
VK_SPACE ............ Number 00000020h
VK_SUBTRACT .......... Number 0000006Dh
VK_TAB ............. Number 00000009h
VK_UP ............. Number 00000026h
WINDOW_BUFFER_SIZE_EVENT .... Number 00000004h
WriteConsoleOutputCharacter .. Text WriteConsoleOutputCharacterA
WriteConsole .......... Text WriteConsoleA
black ............. Number 00000000h
blue .............. Number 00000001h
brown ............. Number 00000006h
cyan .............. Number 00000003h
exit .............. Text INVOKE ExitProcess,0
gray .............. Number 00000008h
green ............. Number 00000002h
lightBlue ........... Number 00000009h
lightCyan ........... Number 0000000Bh
lightGray ........... Number 00000007h
lightGreen ........... Number 0000000Ah
lightMagenta .......... Number 0000000Dh
lightRed ............ Number 0000000Ch
magenta ............ Number 00000005h
red .............. Number 00000004h
val1 .............. Number 6D73E55Fh
val2 .............. Number B11924E1h
val3 .............. Number 1E8D0A40h
white ............. Number 0000000Fh
wsprintf ............ Text wsprintfA
yellow ............. Number 0000000Eh
0 Warnings
0 Errors