diff options
| author | 3gg <3gg@shellblade.net> | 2025-12-27 12:03:39 -0800 |
|---|---|---|
| committer | 3gg <3gg@shellblade.net> | 2025-12-27 12:03:39 -0800 |
| commit | 5a079a2d114f96d4847d1ee305d5b7c16eeec50e (patch) | |
| tree | 8926ab44f168acf787d8e19608857b3af0f82758 /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.masm | 26 |
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 @@ | |||
| 1 | TeStackLimit EQU 0x00010 | ||
| 2 | PAGE_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 | ||
| 15 | chkstk_start_loop | ||
| 16 | and x16,x16,#-PAGE_SIZE | ||
| 17 | chkstk_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 | ||
