appath.asm
来自「工欲善其事」· 汇编 代码 · 共 45 行
ASM
45 行
; #########################################################################
;
; -------------------------------------------------------
; This module has been optimised by Alexander Yackubtchik
; -------------------------------------------------------
;
; #########################################################################
.386
.model flat, stdcall ; 32 bit memory model
option casemap :none ; case sensitive
include \masm32\include\kernel32.inc
.code
; ########################################################################
GetAppPath proc lpPathBuffer:DWORD
invoke GetModuleFileName,0,lpPathBuffer,128 ; return length in eax
mov ecx,lpPathBuffer
lea ecx,[ecx+eax-6] ; add length to ecx - 6
; -----------------------------------------
; read backwards until first "\" character
; -----------------------------------------
@@:
mov al,[ecx] ; load byte at address in ECX
dec ecx ; dec ECX
cmp al,'\' ; compare if "\"
jne @B ; jump back to @@: if not "\"
mov byte ptr [ecx+2],0 ; write zero terminator after "\"
ret
GetAppPath endp
; ########################################################################
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?