Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
86e2494f
Commit
86e2494f
authored
Jun 12, 2010
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
krnl386: Defined the SMapLS/UnMapLS_IP_EBP functions explicitly to make life…
krnl386: Defined the SMapLS/UnMapLS_IP_EBP functions explicitly to make life easier for winapi_check.
parent
40ac96d7
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
161 additions
and
41 deletions
+161
-41
selector.c
dlls/krnl386.exe16/selector.c
+161
-41
No files found.
dlls/krnl386.exe16/selector.c
View file @
86e2494f
...
...
@@ -553,65 +553,185 @@ __ASM_STDCALL_FUNC( SUnMapLS, 0,
/***********************************************************************
* SMapLS_IP_EBP_8 (KERNEL32.@)
*
* These functions map linear pointers at [EBP+xxx] to segmented pointers
* and return them.
* Win95 uses some kind of alias structs, which it stores in [EBP+x] to
* unravel them at SUnMapLS. We just store the segmented pointer there.
*/
__ASM_STDCALL_FUNC
(
SMapLS_IP_EBP_8
,
0
,
"movl 8(%ebp),%eax
\n\t
"
"call "
__ASM_NAME
(
"SMapLS"
)
__ASM_STDCALL
(
4
)
"
\n\t
"
"movl %edx,8(%ebp)
\n\t
"
"ret"
)
/***********************************************************************
* SMapLS_IP_EBP_12 (KERNEL32.@)
*/
__ASM_STDCALL_FUNC
(
SMapLS_IP_EBP_12
,
0
,
"movl 12(%ebp),%eax
\n\t
"
"call "
__ASM_NAME
(
"SMapLS"
)
__ASM_STDCALL
(
4
)
"
\n\t
"
"movl %edx,12(%ebp)
\n\t
"
"ret"
)
/***********************************************************************
* SMapLS_IP_EBP_16 (KERNEL32.@)
*/
__ASM_STDCALL_FUNC
(
SMapLS_IP_EBP_16
,
0
,
"movl 16(%ebp),%eax
\n\t
"
"call "
__ASM_NAME
(
"SMapLS"
)
__ASM_STDCALL
(
4
)
"
\n\t
"
"movl %edx,16(%ebp)
\n\t
"
"ret"
)
/***********************************************************************
* SMapLS_IP_EBP_20 (KERNEL32.@)
*/
__ASM_STDCALL_FUNC
(
SMapLS_IP_EBP_20
,
0
,
"movl 20(%ebp),%eax
\n\t
"
"call "
__ASM_NAME
(
"SMapLS"
)
__ASM_STDCALL
(
4
)
"
\n\t
"
"movl %edx,20(%ebp)
\n\t
"
"ret"
)
/***********************************************************************
* SMapLS_IP_EBP_24 (KERNEL32.@)
*/
__ASM_STDCALL_FUNC
(
SMapLS_IP_EBP_24
,
0
,
"movl 24(%ebp),%eax
\n\t
"
"call "
__ASM_NAME
(
"SMapLS"
)
__ASM_STDCALL
(
4
)
"
\n\t
"
"movl %edx,24(%ebp)
\n\t
"
"ret"
)
/***********************************************************************
* SMapLS_IP_EBP_28 (KERNEL32.@)
*/
__ASM_STDCALL_FUNC
(
SMapLS_IP_EBP_28
,
0
,
"movl 28(%ebp),%eax
\n\t
"
"call "
__ASM_NAME
(
"SMapLS"
)
__ASM_STDCALL
(
4
)
"
\n\t
"
"movl %edx,28(%ebp)
\n\t
"
"ret"
)
/***********************************************************************
* SMapLS_IP_EBP_32 (KERNEL32.@)
* SMapLS_IP_EBP_36 (KERNEL32.@)
* SMapLS_IP_EBP_40 (KERNEL32.@)
*
* These functions map linear pointers at [EBP+xxx] to segmented pointers
* and return them.
* Win95 uses some kind of alias structs, which it stores in [EBP+x] to
* unravel them at SUnMapLS. We just store the segmented pointer there.
*/
#define DEFINE_SMapLS(n) \
__ASM_STDCALL_FUNC( SMapLS_IP_EBP_ ## n, 0, \
"movl " #n "(%ebp),%eax\n\t" \
"call " __ASM_NAME("SMapLS") __ASM_STDCALL(4) "\n\t" \
"movl %edx," #n "(%ebp)\n\t" \
"ret" )
__ASM_STDCALL_FUNC
(
SMapLS_IP_EBP_32
,
0
,
"movl 32(%ebp),%eax
\n\t
"
"call "
__ASM_NAME
(
"SMapLS"
)
__ASM_STDCALL
(
4
)
"
\n\t
"
"movl %edx,32(%ebp)
\n\t
"
"ret"
)
DEFINE_SMapLS
(
8
)
DEFINE_SMapLS
(
12
)
DEFINE_SMapLS
(
16
)
DEFINE_SMapLS
(
20
)
DEFINE_SMapLS
(
24
)
DEFINE_SMapLS
(
28
)
DEFINE_SMapLS
(
32
)
DEFINE_SMapLS
(
36
)
DEFINE_SMapLS
(
40
)
/***********************************************************************
* SMapLS_IP_EBP_36 (KERNEL32.@)
*/
__ASM_STDCALL_FUNC
(
SMapLS_IP_EBP_36
,
0
,
"movl 36(%ebp),%eax
\n\t
"
"call "
__ASM_NAME
(
"SMapLS"
)
__ASM_STDCALL
(
4
)
"
\n\t
"
"movl %edx,36(%ebp)
\n\t
"
"ret"
)
/***********************************************************************
* SMapLS_IP_EBP_40 (KERNEL32.@)
*/
__ASM_STDCALL_FUNC
(
SMapLS_IP_EBP_40
,
0
,
"movl 40(%ebp),%eax
\n\t
"
"call "
__ASM_NAME
(
"SMapLS"
)
__ASM_STDCALL
(
4
)
"
\n\t
"
"movl %edx,40(%ebp)
\n\t
"
"ret"
)
/***********************************************************************
* SUnMapLS_IP_EBP_8 (KERNEL32.@)
*/
__ASM_STDCALL_FUNC
(
SUnMapLS_IP_EBP_8
,
0
,
"pushl %eax
\n\t
"
/* preserve eax */
"pushl 8(%ebp)
\n\t
"
"call "
__ASM_NAME
(
"UnMapLS"
)
__ASM_STDCALL
(
4
)
"
\n\t
"
"movl $0,8(%ebp)
\n\t
"
"popl %eax
\n\t
"
"ret"
)
/***********************************************************************
* SUnMapLS_IP_EBP_12 (KERNEL32.@)
*/
__ASM_STDCALL_FUNC
(
SUnMapLS_IP_EBP_12
,
0
,
"pushl %eax
\n\t
"
/* preserve eax */
"pushl 12(%ebp)
\n\t
"
"call "
__ASM_NAME
(
"UnMapLS"
)
__ASM_STDCALL
(
4
)
"
\n\t
"
"movl $0,12(%ebp)
\n\t
"
"popl %eax
\n\t
"
"ret"
)
/***********************************************************************
* SUnMapLS_IP_EBP_16 (KERNEL32.@)
*/
__ASM_STDCALL_FUNC
(
SUnMapLS_IP_EBP_16
,
0
,
"pushl %eax
\n\t
"
/* preserve eax */
"pushl 16(%ebp)
\n\t
"
"call "
__ASM_NAME
(
"UnMapLS"
)
__ASM_STDCALL
(
4
)
"
\n\t
"
"movl $0,16(%ebp)
\n\t
"
"popl %eax
\n\t
"
"ret"
)
/***********************************************************************
* SUnMapLS_IP_EBP_20 (KERNEL32.@)
*/
__ASM_STDCALL_FUNC
(
SUnMapLS_IP_EBP_20
,
0
,
"pushl %eax
\n\t
"
/* preserve eax */
"pushl 20(%ebp)
\n\t
"
"call "
__ASM_NAME
(
"UnMapLS"
)
__ASM_STDCALL
(
4
)
"
\n\t
"
"movl $0,20(%ebp)
\n\t
"
"popl %eax
\n\t
"
"ret"
)
/***********************************************************************
* SUnMapLS_IP_EBP_24 (KERNEL32.@)
*/
__ASM_STDCALL_FUNC
(
SUnMapLS_IP_EBP_24
,
0
,
"pushl %eax
\n\t
"
/* preserve eax */
"pushl 24(%ebp)
\n\t
"
"call "
__ASM_NAME
(
"UnMapLS"
)
__ASM_STDCALL
(
4
)
"
\n\t
"
"movl $0,24(%ebp)
\n\t
"
"popl %eax
\n\t
"
"ret"
)
/***********************************************************************
* SUnMapLS_IP_EBP_28 (KERNEL32.@)
*/
__ASM_STDCALL_FUNC
(
SUnMapLS_IP_EBP_28
,
0
,
"pushl %eax
\n\t
"
/* preserve eax */
"pushl 28(%ebp)
\n\t
"
"call "
__ASM_NAME
(
"UnMapLS"
)
__ASM_STDCALL
(
4
)
"
\n\t
"
"movl $0,28(%ebp)
\n\t
"
"popl %eax
\n\t
"
"ret"
)
/***********************************************************************
* SUnMapLS_IP_EBP_32 (KERNEL32.@)
*/
__ASM_STDCALL_FUNC
(
SUnMapLS_IP_EBP_32
,
0
,
"pushl %eax
\n\t
"
/* preserve eax */
"pushl 32(%ebp)
\n\t
"
"call "
__ASM_NAME
(
"UnMapLS"
)
__ASM_STDCALL
(
4
)
"
\n\t
"
"movl $0,32(%ebp)
\n\t
"
"popl %eax
\n\t
"
"ret"
)
/***********************************************************************
* SUnMapLS_IP_EBP_36 (KERNEL32.@)
* SUnMapLS_IP_EBP_40 (KERNEL32.@)
*/
__ASM_STDCALL_FUNC
(
SUnMapLS_IP_EBP_36
,
0
,
"pushl %eax
\n\t
"
/* preserve eax */
"pushl 36(%ebp)
\n\t
"
"call "
__ASM_NAME
(
"UnMapLS"
)
__ASM_STDCALL
(
4
)
"
\n\t
"
"movl $0,36(%ebp)
\n\t
"
"popl %eax
\n\t
"
"ret"
)
#define DEFINE_SUnMapLS(n) \
__ASM_STDCALL_FUNC( SUnMapLS_IP_EBP_ ## n, 0, \
"pushl %eax\n\t"
/* preserve eax */
\
"pushl " #n "(%ebp)\n\t" \
"call " __ASM_NAME("UnMapLS") __ASM_STDCALL(4) "\n\t" \
"movl $0," #n "(%ebp)\n\t" \
"popl %eax\n\t" \
"ret" )
DEFINE_SUnMapLS
(
8
)
DEFINE_SUnMapLS
(
12
)
DEFINE_SUnMapLS
(
16
)
DEFINE_SUnMapLS
(
20
)
DEFINE_SUnMapLS
(
24
)
DEFINE_SUnMapLS
(
28
)
DEFINE_SUnMapLS
(
32
)
DEFINE_SUnMapLS
(
36
)
DEFINE_SUnMapLS
(
40
)
/***********************************************************************
* SUnMapLS_IP_EBP_40 (KERNEL32.@)
*/
__ASM_STDCALL_FUNC
(
SUnMapLS_IP_EBP_40
,
0
,
"pushl %eax
\n\t
"
/* preserve eax */
"pushl 40(%ebp)
\n\t
"
"call "
__ASM_NAME
(
"UnMapLS"
)
__ASM_STDCALL
(
4
)
"
\n\t
"
"movl $0,40(%ebp)
\n\t
"
"popl %eax
\n\t
"
"ret"
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment