Skip to content

Commit

Permalink
2.34.61
Browse files Browse the repository at this point in the history
  • Loading branch information
nidud committed Jun 3, 2024
1 parent 8e5948a commit 547f9cf
Show file tree
Hide file tree
Showing 58 changed files with 3,051 additions and 677 deletions.
Binary file modified bin/asmc.chm
Binary file not shown.
Binary file modified bin/asmc.exe
Binary file not shown.
Binary file modified bin/asmc64.exe
Binary file not shown.
16 changes: 10 additions & 6 deletions bin/st/asm.ini
Original file line number Diff line number Diff line change
Expand Up @@ -266,6 +266,7 @@
[.conditional_if]
0=W X2 .ELSE .ELSEIF .ENDIF .IF .IFA .IFC .IFB .IFG .IFL .IFO .IFP .IFS .IFZ .IFNA
1=.IFNB .IFNC .IFNG .IFNL .IFNO .IFNP .IFNS .IFNZ .IFW .IFD .IFSB .IFSW .IFSD
2=.ELSEIFD .ELSEIFS .ELSEIFSD

[.conditional_control_flow]
0=W XF .ASSERT .BREAK .CASE .CLASS .CONTINUE .COMDEF .DEFAULT .ENUM .ENUMT .ENDW
Expand All @@ -276,12 +277,15 @@
0=W XF .ERR .ERR2 .ERRB .ERRDEF .ERRDIF .ERRDIFI .ERRE .ERRIDN .ERRIDNI .ERRNB .ERRNDEF .ERRNZ

[.data_allocation]
0=W XF ALIGN BYTE DWORD EVEN FWORD LABEL ORG OWORD QWORD REAL4 REAL8 REAL10 REAL16
1=SBYTE SDWORD SWORD TBYTE WORD XMMWORD YMMWORD YWORD ZWORD REAL2
2=SIZE_T TCHAR LPSTR LPWSTR LPTSTR SINT UINT ULONG PVOID HANDLE LPWORD LPDWORD LPQWORD
3=char_t wchar_t tchar_t uchar_t int_t int64_t int128_t uint_t uint64_t uint128_t
4=ptr_t long_t ulong_t string_t wstring_t tstring_t float double short_t ushort_t
5=near far near16 near32 far16 far32 mmword
0=W XF align even label org near far near16 near32 far16 far32 ptr
1=byte sbyte word sword dword sdword qword sqword oword fword tbyte db dw dd dq dt
2=real2 real4 real8 real10 real16 mmword xmmword ymmword zmmword yword zword float double
3=uchar_t char_t short_t ushort_t uint_t int_t uint64_t int64_t uint128_t int128_t
4=ulong_t long_t size_t wchar_t ptr_t string_t wstring_t wint_t wctype_t array_t warray_t
5=tchar_t tstring_t tarray_t TCHAR LPTSTR PTCHAR PTBYTE PTCHAR PTBYTE
6=LPSTR LPWSTR SINT UINT ULONG PVOID HANDLE LPWORD LPDWORD LPQWORD LPBYTE bool
7=errno_t half_t float_t double_t ldouble_t qfloat_t ustring_t
8=int8_t int16_t int32_t uint8_t uint16_t uint32_t intptr_t

[.equates]
0=W XF EQU TEXTEQU
Expand Down
5 changes: 4 additions & 1 deletion doc/makefile
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
all: asmchm.exe clean

asmchm.exe:
asmc64 -q -Cs $*.asm
linkw system con_64 file $*
Expand All @@ -9,8 +11,9 @@ clean:
del asmc.hhp
del asmc.hhc
del asmc.hhk
del asmchm.exe
del style.css
del index.htm
del *.htm
del error\*.htm
del command\*.htm
del symbol\*.htm
Expand Down
2 changes: 1 addition & 1 deletion include/bdaiface.inc
Original file line number Diff line number Diff line change
Expand Up @@ -431,7 +431,7 @@ DEFINE_IIDX(ICCSubStreamFiltering, "4B2BD7EA-8347-467b-8DBF-62F784929CC3")
.comdef ICCSubStreamFiltering : public IUnknown

get_SubstreamTypes proc :ptr
put_SubstreamTypes proc :long_t
put_SubstreamTypes proc :int_t
.ends

endif
Expand Down
4 changes: 2 additions & 2 deletions include/corecrt_startup.inc
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ include corecrt.inc
include math.inc
include vcruntime_startup.inc

_seh_filter_dll proto __cdecl :ulong_t, :ptr EXCEPTION_POINTERS
_seh_filter_exe proto __cdecl :ulong_t, :ptr EXCEPTION_POINTERS
_seh_filter_dll proto __cdecl :uint_t, :ptr EXCEPTION_POINTERS
_seh_filter_exe proto __cdecl :uint_t, :ptr EXCEPTION_POINTERS

.enum _crt_app_type {
_crt_unknown_app,
Expand Down
12 changes: 6 additions & 6 deletions include/crtdbg.inc
Original file line number Diff line number Diff line change
Expand Up @@ -56,12 +56,12 @@ _HOOK_REALLOC equ 2
_HOOK_FREE equ 3

ifndef _M_CEE_PURE
CALLBACK(_CRT_ALLOC_HOOK, :int_t, :ptr, :size_t, :int_t, :long_t, :string_t, :int_t)
CALLBACK(_CRT_ALLOC_HOOK, :int_t, :ptr, :size_t, :int_t, :int_t, :string_t, :int_t)
else
CALLBACK(_CRT_ALLOC_HOOK, :int_t, :ptr, :size_t, :int_t, :long_t, :string_t, :int_t)
CALLBACK(_CRT_ALLOC_HOOK, :int_t, :ptr, :size_t, :int_t, :int_t, :string_t, :int_t)
endif
ifdef _M_CEE
CALLBACK(_CRT_ALLOC_HOOK_M, :int_t, :ptr, :size_t, :int_t, :long_t, :string_t, :int_t)
CALLBACK(_CRT_ALLOC_HOOK_M, :int_t, :ptr, :size_t, :int_t, :int_t, :string_t, :int_t)
endif

_CRTDBG_ALLOC_MEM_DF equ 0x01
Expand Down Expand Up @@ -444,7 +444,7 @@ endif
endif

ifndef _M_CEE_PURE
externdef _crtAssertBusy:long_t
externdef _crtAssertBusy:int_t
endif

ifndef _M_CEE_PURE
Expand Down Expand Up @@ -719,10 +719,10 @@ endif
endif

ifndef _M_CEE_PURE
externdef _crtBreakAlloc:long_t
externdef _crtBreakAlloc:int_t
endif

_CrtSetBreakAlloc proto __cdecl :long_t
_CrtSetBreakAlloc proto __cdecl :int_t

_malloc_dbg proto __cdecl :size_t, :int_t, :string_t, :int_t
_calloc_dbg proto __cdecl :size_t, :size_t, :int_t, :string_t, :int_t
Expand Down
6 changes: 3 additions & 3 deletions include/errno.inc
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ endif
endif

__doserrno proto __cdecl
_set_doserrno proto __cdecl :ulong_t
_get_doserrno proto __cdecl :ptr ulong_t
_set_doserrno proto __cdecl :uint_t
_get_doserrno proto __cdecl :ptr uint_t
__sys_errlist proto __cdecl
if defined(_WIN64) or defined(_MSVCRT)
_doserrno equ <errno_t ptr [__doserrno()]>
Expand All @@ -47,7 +47,7 @@ externdef _sys_errlist:array_t
externdef _sys_nerr:int_t
endif
__sys_nerr proto __cdecl
_dosmaperr proto __cdecl :ulong_t
_dosmaperr proto __cdecl :uint_t

ENOERR equ 0
EPERM equ 1
Expand Down
4 changes: 2 additions & 2 deletions include/fltintrn.inc
Original file line number Diff line number Diff line change
Expand Up @@ -202,7 +202,7 @@ __cvta_q proto __ccall :ptr qfloat_t, :string_t, :ptr string_t

__cvtq_i32 proto __ccall :ptr qfloat_t
__cvtq_i64 proto __ccall :ptr qfloat_t
__cvti32_q proto __ccall :ptr qfloat_t, :long_t
__cvti32_q proto __ccall :ptr qfloat_t, :int_t
__cvti64_q proto __ccall :ptr qfloat_t, :int64_t

; */+-
Expand Down Expand Up @@ -239,7 +239,7 @@ _fltmul proto __ccall :ptr STRFLT, :ptr STRFLT

_flttoi proto __ccall :ptr STRFLT
_flttoi64 proto __ccall :ptr STRFLT
_itoflt proto __ccall :ptr STRFLT, :long_t
_itoflt proto __ccall :ptr STRFLT, :int_t
_i64toflt proto __ccall :ptr STRFLT, :int64_t


Expand Down
16 changes: 8 additions & 8 deletions include/intrin.inc
Original file line number Diff line number Diff line change
Expand Up @@ -39,14 +39,14 @@ __debugbreak macro
retm<>
endm

_BitScanForward proto fastcall :ptr, :long_t {
_BitScanForward proto fastcall :ptr, :int_t {
xor eax,eax
bsf eax,edx
mov [rcx],eax
setne al
}

_BitScanReverse proto fastcall :ptr, :long_t {
_BitScanReverse proto fastcall :ptr, :int_t {
xor eax,eax
bsr eax,edx
mov [rcx],eax
Expand All @@ -71,7 +71,7 @@ _BitScanReverse64 proto fastcall :ptr, :qword {

endif

_InterlockedCompareExchange proto :ptr, :long_t, :long_t {
_InterlockedCompareExchange proto :ptr, :int_t, :int_t {
mov eax,r8d
push [rcx]
lock cmpxchg dword ptr [rcx],edx
Expand Down Expand Up @@ -209,10 +209,10 @@ _rotl proto watcall :uint_t, :abs {
_rotr proto watcall :uint_t, :abs {
ror eax,_2
}
_lrotl proto watcall :long_t, :abs {
_lrotl proto watcall :int_t, :abs {
rol eax,_2
}
_lrotr proto watcall :long_t, :abs {
_lrotr proto watcall :int_t, :abs {
ror eax,_2
}

Expand Down Expand Up @@ -249,7 +249,7 @@ endif

ifdef __MACHINEX64

_InterlockedAnd proto fastcall :ptr, :long_t {
_InterlockedAnd proto fastcall :ptr, :int_t {
mov eax,[rcx]
lock and [rcx],edx
}
Expand All @@ -269,7 +269,7 @@ _InterlockedAnd64 proto fastcall :ptr, :qword {
lock and [rcx],rdx
}

_InterlockedOr proto fastcall :ptr, :long_t {
_InterlockedOr proto fastcall :ptr, :int_t {
mov eax,[rcx]
lock or [rcx],edx
}
Expand All @@ -289,7 +289,7 @@ _InterlockedOr64 proto fastcall :ptr, :qword {
lock or [rcx],rdx
}

_InterlockedXor proto fastcall :ptr, :long_t {
_InterlockedXor proto fastcall :ptr, :int_t {
mov eax,[rcx]
lock or [rcx],edx
}
Expand Down
2 changes: 1 addition & 1 deletion include/io.inc
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,7 @@ ifdef _CRTBLD
ifndef _NOT_CRTL_BUILD_
_chsize_nolock proto __cdecl :int_t, :int64_t
_close_nolock proto __cdecl :int_t
_lseek_nolock proto __cdecl :int_t, :long_t, :int_t
_lseek_nolock proto __cdecl :int_t, :int_t, :int_t
_setmode_nolock proto __cdecl :int_t, :int_t
_read_nolock proto __cdecl :int_t, :ptr, :uint_t
_write_nolock proto __cdecl :int_t, :ptr, :uint_t
Expand Down
20 changes: 13 additions & 7 deletions include/libc.inc
Original file line number Diff line number Diff line change
Expand Up @@ -173,17 +173,23 @@ define _ERRNO_T_DEFINED
errno_t typedef sdword
endif

;
; the following should be set depending on the sizes of various types
;

ifndef LONGDOUBLE_IS_DOUBLE
define LONGDOUBLE_IS_DOUBLE 0 ; 1 means long double is same as double
define LONG_IS_INT 1 ; 1 means long is same size as int
define SHORT_IS_INT 0 ; 1 means short is same size as int
define LONGDOUBLE_IS_DOUBLE 0
if defined(__UNIX__) and defined(_WIN64)
define LONG_IS_INT 0
else
define LONG_IS_INT 1
endif
define SHORT_IS_INT 0
ifdef _WIN64
define PTR_IS_INT 0 ; 1 means ptr is same size as int
define PTR_IS_LONG 0 ; 1 means ptr is same size as long
define PTR_IS_INT 0
ifdef __UNIX__
define PTR_IS_LONG 1
else
define PTR_IS_LONG 0
endif
else
define PTR_IS_INT 1
define PTR_IS_LONG 1
Expand Down
10 changes: 5 additions & 5 deletions include/mtdll.inc
Original file line number Diff line number Diff line change
Expand Up @@ -101,12 +101,12 @@ __threadhandle proto __cdecl
_threadhandle equ <__threadhandle()>

_tiddata STRUC
_tid ulong_t ?
_tid uint_t ?
_thandle uintptr_t ?
_terrno int_t ?
_tdoserrno ulong_t ?
_tdoserrno uint_t ?
_fpds uint_t ?
_holdrand ulong_t ?
_holdrand uint_t ?
_token string_t ?
_wtoken wstring_t ?
_mtoken ustring_t ?
Expand All @@ -130,7 +130,7 @@ _tfpecode int_t ?
ptmbcinfo pthreadmbcinfo ?
ptlocinfo pthreadlocinfo ?
_ownlocale int_t ?
_NLG_dwCode ulong_t ?
_NLG_dwCode uint_t ?
_terminate ptr_t ?
_unexpected ptr_t ?
_translator ptr_t ?
Expand Down Expand Up @@ -163,7 +163,7 @@ _reserved4 ptr_t ?
_reserved5 ptr_t ?
endif
_cxxReThrow int_t ?
__initDomain ulong_t ?
__initDomain uint_t ?
if defined(_CRT_APP) AND NOT defined(_KERNELX)
_winRTThreadHandle HANDLE ?
else
Expand Down
2 changes: 1 addition & 1 deletion include/signal.inc
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ si_pid pid_t ?
si_uid uid_t ?
si_addr ptr_t ?
si_status int_t ?
si_band long_t ?
si_band int_t ?
si_value sigval <>
siginfo_t ends
endif
Expand Down
Loading

0 comments on commit 547f9cf

Please sign in to comment.