; ============================================================================= ; xdim.as ; 2004.04.26 by ちょくと ; ; マシン語コードを格納するための領域を確保する命令 xdim を実装 ; (変数領域に実行保護属性を付加する) ; ; HSP ver2.6 以降で使用可能です ; ; ============================================================================= ; ============================================================================= ; xdim v1, n2 ; ; v1 : マシン語コードを格納するための変数 ; n2 : マシン語コードのサイズ (DWORD単位) ; ============================================================================= #ifndef xdim #module "xdim" #define global xdim(%1,%2) dim %1,%2:__xdim %1,%2 #deffunc __xdim val, int mref p1 ; 変数のアドレス mref p2, 1 ; サイズ (DWORD 単位) prm = p1, p2*4, $40 : ll_callfunc prm, 4, fnVP return #global ; モジュール内変数の初期化 dup fnVP@xdim, hdll@xdim.1 dup prm@xdim, hdll@xdim.2 ll_getptr prm@xdim.4 : ll_ret prm@xdim.3 ll_libload hdll@xdim, "kernel32.dll" ll_getproc fnVP@xdim, "VirtualProtect", hdll@xdim #endif ; !defined (xdim)