| TeStackLimit EQU 0x00010 | |
| PAGE_SIZE equ 0x1000 | |
| AREA CODE, READONLY | |
| EXPORT __chkstk | |
| __chkstk PROC | |
| ldr x17,[x18, #TeStackLimit] | |
| subs x16,sp,x15, LSL #0x4 | |
| csel x16,xzr,x16,cc | |
| cmp x16,x17 | |
| b.cc chkstk_start_loop | |
| ret | |
| chkstk_start_loop | |
| and x16,x16,#-PAGE_SIZE | |
| chkstk_loop | |
| sub x17,x17,#0x1, LSL #12 | |
| ldr xzr,[x17] | |
| cmp x17,x16 | |
| b.ne chkstk_loop | |
| ret | |
| ENDP | |
| END |