Microsoft (R) Macro Assembler Version 9.00.21022.08 09/28/11 00:13:08
1Add and Subtract, Version 2 (AddSub2.asm Page 1 - 1
TITLE Add and Subtract, Version 2 (AddSub2.asm)
; This program adds and subtracts 32-bit integers
; and stores the sum in a variable.
; Last update: 2/1/02
INCLUDE Irvine32.inc
C ; Include file for Irvine32.lib (Irvine32.inc)
C
C INCLUDE SmallWin.inc ; MS-Windows prototypes, structures, and constants
C .NOLIST
C .LIST
C
C .NOLIST
C .LIST
C
00000000 .data //数据段
00000000 00010000 val1 dword 10000h
00000004 00040000 val2 dword 40000h
00000008 00020000 val3 dword 20000h
0000000C 00000000 finalVal dword ? //未初始化的数据未分配空间
00000000 .code //代码段
00000000 main PROC //声明主函数(过程)
00000000 A1 00000000 R mov eax,val1 ; start with 10000h
00000005 03 05 00000004 R add eax,val2 ; add 40000h
0000000B 2B 05 00000008 R sub eax,val3 ; subtract 20000h
00000011 A3 0000000C R mov finalVal,eax ; store the result (30000h)
00000016 E8 00000000 E call DumpRegs ; display the registers
exit
00000022 main ENDP
END main //以上编译时指定了相对地址信息
Microsoft (R) Macro Assembler Version 9.00.21022.08 09/28/11 00:13:08
1Add and Subtract, Version 2 (AddSub2.asm Symbols 2 - 1
Structures and Unions: //编译时编译器所用的结构体和联合体
N a m e Size
Offset Type
CONSOLE_CURSOR_INFO . . . . . . 00000005
dwSize . . . . . . . . . . . . 00000000 DWord
bVisible . . . . . . . . . . . 00000004 Byte
CONSOLE_SCREEN_BUFFER_INFO . . . 00000016
dwSize . . . . . . . . . . . . 00000000 DWord
dwCursorPos . . . . . . . . . 00000004 DWord
wAttributes . . . . . . . . . 00000008 Word
srWindow . . . . . . . . . . . 0000000A QWord
maxWinSize . . . . . . . . . . 00000012 DWord
COORD . . . . . . . . . . . . . 00000004
X . . . . . . . . . . . . . . 00000000 Word
Y . . . . . . . . . . . . . . 00000002 Word
FILETIME . . . . . . . . . . . . 00000008
loDateTime . . . . . . . . . . 00000000 DWord
hiDateTime . . . . . . . . . . 00000004 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
Segments and Groups:
N a m e Size Length Align Combine Class
FLAT . . . . . . . . . . . . . . GROUP
STACK . . . . . . . . . . . . . 32 Bit 00001000 DWord Stack 'STACK' //堆默认分配空间大小
_DATA . . . . . . . . . . . . . 32 Bit 00000010 DWord Public 'DATA' //数据段大小
_TEXT . . . . . . . . . . . . . 32 Bit 00000022 DWord Public 'CODE' //代码段大小
Procedures, parameters, and locals: //过程,参数和本地环境
N a m e Type Value Attr
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
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
FlushConsoleInputBuffer . . . . 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
GetLocalTime . . . . . . . . . . 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
GetStdHandle . . . . . . . . . . P Near 00000000 FLAT Length= 00000000 External STDCALL
GetSystemTime . . . . . . . . . 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
IsDigit . . . . . . . . . . . . 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
ReadFile . . . . . . . . . . . . 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
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
SetTextColor . . . . . . . . . . P Near 00000000 FLAT Length= 00000000 External STDCALL
Sleep . . . . . . . . . . . . . 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
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
WriteHex . . . . . . . . . . . . P Near 00000000 FLAT Length= 00000000 External STDCALL
WriteInt . . . . . . . . . . . . P Near 00000000 FLAT Length= 00000000 External STDCALL
WriteString . . . . . . . . . . P Near 00000000 FLAT Length= 00000000 External STDCALL
main . . . . . . . . . . . . . . P Near 00000000 _TEXT Length= 00000022 Public STDCALL
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
CREATE_ALWAYS . . . . . . . . . Number 00000002h
CREATE_NEW . . . . . . . . . . . Number 00000001h
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
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
GENERIC_ALL . . . . . . . . . . Number 10000000h
GENERIC_EXECUTE . . . . . . . . Number 20000000h
GENERIC_READ . . . . . . . . . . Number -80000000h
GENERIC_WRITE . . . . . . . . . Number 40000000h
GetCommandLine . . . . . . . . . Text GetCommandLineA
INVALID_HANDLE_VALUE . . . . . . Number -00000001h
KEY_EVENT . . . . . . . . . . . Number 00000001h
MENU_EVENT . . . . . . . . . . . Number 00000008h
MOUSE_EVENT . . . . . . . . . . Number 00000002h
NULL . . . . . . . . . . . . . . Number 00000000h
OPEN_ALWAYS . . . . . . . . . . Number 00000004h
OPEN_EXISTING . . . . . . . . . Number 00000003h
PeekConsoleInput . . . . . . . . Text PeekConsoleInputA
ReadConsoleInput . . . . . . . . Text ReadConsoleInputA
ReadConsole . . . . . . . . . . Text ReadConsoleA
STD_INPUT_HANDLE . . . . . . . . Number -0000000Ah
STD_OUTPUT_HANDLE . . . . . . . Number -0000000Bh
SetConsoleTitle . . . . . . . . Text SetConsoleTitleA
TRUE . . . . . . . . . . . . . . Number 00000001h
TRUNCATE_EXISTING . . . . . . . Number 00000005h
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
finalVal . . . . . . . . . . . . DWord 0000000C _DATA
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 . . . . . . . . . . . . . . DWord 00000000 _DATA
val2 . . . . . . . . . . . . . . DWord 00000004 _DATA
val3 . . . . . . . . . . . . . . DWord 00000008 _DATA
white . . . . . . . . . . . . . Number 0000000Fh
yellow . . . . . . . . . . . . . Number 0000000Eh
0 Warnings
0 Errors
本人刚接触这方面的东西,错误的地方还望纠正,还希望大牛们多多指点才是。