開発環境 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