開発環境 |
Microsoft Visual Studio Community 2017 |
実行環境 |
Microsoft Windows 10 Home (64bit) |
hellocon.asm
comment *
hellocon.asm for ML64
ml64 /c /Fl hellocon.asm
link /subsystem:console /entry:start hellocon
*
; kernel32
extern __imp_ExitProcess: proc
extern __imp_GetStdHandle: proc
extern __imp_WriteConsoleA: proc
extern __imp_lstrlenA: proc
; lib
includelib kernel32.lib
NULL equ 0
; WinBase.h
STD_OUTPUT_HANDLE equ -11
.const
hello db 'hello, world', 0
.data?
hConsoleOutput dq ?
len dd ?
written dd ?
.code
start proc
sub rsp, 28h
mov ecx, STD_OUTPUT_HANDLE
call qword ptr __imp_GetStdHandle
mov hConsoleOutput, rax
lea rcx, hello
call qword ptr __imp_lstrlenA
mov len, eax
mov rcx, hConsoleOutput
lea rdx, hello
mov r8d, len
lea r9, written
mov qword ptr [rsp+20h], NULL
call qword ptr __imp_WriteConsoleA
mov ecx, 0
call qword ptr __imp_ExitProcess
start endp
end
dev.bat
path %path%;"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.11.25503\bin\Hostx64\x64"
set lib="C:\Program Files (x86)\Windows Kits\10\Lib\10.0.16299.0\um\x64"
cmd
dumpbin /disasm hellocon.exe
Microsoft (R) COFF/PE Dumper Version 14.11.25547.0
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file hellocon.exe
File Type: EXECUTABLE IMAGE
0000000140001000: 48 83 EC 28 sub rsp,28h
0000000140001004: B9 F5 FF FF FF mov ecx,0FFFFFFF5h
0000000140001009: FF 15 F1 0F 00 00 call qword ptr [0000000140002000h]
000000014000100F: 48 89 05 EA 1F 00 mov qword ptr [0000000140003000h],rax
00
0000000140001016: 48 8D 0D 13 10 00 lea rcx,[0000000140002030h]
00
000000014000101D: FF 15 ED 0F 00 00 call qword ptr [0000000140002010h]
0000000140001023: 89 05 DF 1F 00 00 mov dword ptr [0000000140003008h],eax
0000000140001029: 48 8B 0D D0 1F 00 mov rcx,qword ptr [0000000140003000h]
00
0000000140001030: 48 8D 15 F9 0F 00 lea rdx,[0000000140002030h]
00
0000000140001037: 44 8B 05 CA 1F 00 mov r8d,dword ptr [0000000140003008h]
00
000000014000103E: 4C 8D 0D C7 1F 00 lea r9,[000000014000300Ch]
00
0000000140001045: 48 C7 44 24 20 00 mov qword ptr [rsp+20h],0
00 00 00
000000014000104E: FF 15 B4 0F 00 00 call qword ptr [0000000140002008h]
0000000140001054: B9 00 00 00 00 mov ecx,0
0000000140001059: FF 15 B9 0F 00 00 call qword ptr [0000000140002018h]
Summary
1000 .data
1000 .rdata
1000 .text
最終更新:2017年11月07日 18:31