summaryrefslogtreecommitdiff
path: root/contrib/SDL-3.2.8/src/stdlib/SDL_mslibc_arm64.masm
diff options
context:
space:
mode:
author3gg <3gg@shellblade.net>2025-12-27 12:03:39 -0800
committer3gg <3gg@shellblade.net>2025-12-27 12:03:39 -0800
commit5a079a2d114f96d4847d1ee305d5b7c16eeec50e (patch)
tree8926ab44f168acf787d8e19608857b3af0f82758 /contrib/SDL-3.2.8/src/stdlib/SDL_mslibc_arm64.masm
Initial commit
Diffstat (limited to 'contrib/SDL-3.2.8/src/stdlib/SDL_mslibc_arm64.masm')
-rw-r--r--contrib/SDL-3.2.8/src/stdlib/SDL_mslibc_arm64.masm26
1 files changed, 26 insertions, 0 deletions
diff --git a/contrib/SDL-3.2.8/src/stdlib/SDL_mslibc_arm64.masm b/contrib/SDL-3.2.8/src/stdlib/SDL_mslibc_arm64.masm
new file mode 100644
index 0000000..a769cc1
--- /dev/null
+++ b/contrib/SDL-3.2.8/src/stdlib/SDL_mslibc_arm64.masm
@@ -0,0 +1,26 @@
1TeStackLimit EQU 0x00010
2PAGE_SIZE equ 0x1000
3
4 AREA CODE, READONLY
5
6 EXPORT __chkstk
7
8__chkstk PROC
9 ldr x17,[x18, #TeStackLimit]
10 subs x16,sp,x15, LSL #0x4
11 csel x16,xzr,x16,cc
12 cmp x16,x17
13 b.cc chkstk_start_loop
14 ret
15chkstk_start_loop
16 and x16,x16,#-PAGE_SIZE
17chkstk_loop
18 sub x17,x17,#0x1, LSL #12
19 ldr xzr,[x17]
20 cmp x17,x16
21 b.ne chkstk_loop
22 ret
23
24 ENDP
25
26 END