;++ ; ; Copyright (c) 1989 Microsoft Corporation ; ; Module Name: ; ; stackchk.inc ; ; Abstract: ; ; This module implements stack checking for the dos extender ; ; Author: ; ; Dave Hastings (daveh) 20-Apr-1993 ; ;-- if DBG FIX_STACK macro local foo,foo1 push bp mov bp,pbReflStack cmp bp,offset DGROUP:bReflStack ja foo1 BOP BOP_DBGBREAKPOINT foo1: mov bp,sp ; cmp word ptr [bp - CB_STKFRAME + 2],0AAAAH ; je foo ; BOP BOP_DBGBREAKPOINT foo: mov word ptr [bp - CB_STKFRAME + 2],0AAAAH pop bp endm CHECK_STACK macro local foo push bp mov bp,pbReflStack ; cmp word ptr [bp + 2],0AAAAh ; je foo ; BOP BOP_DBGBREAKPOINT foo: pop bp endm ifdef NEC_98 ASSERT_CLI macro endm else ASSERT_CLI macro local foo1 push ds push 40h pop ds test ds:[314h],0200h jz foo1 BOP BOP_DBGBREAKPOINT foo1: pop ds endm endif ;!NEC_98 ASSERT_REFLSTK_OK macro local foo1 cmp pbReflStack,offset DGROUP:pbReflStack jna foo1 BOP BOP_DBGBREAKPOINT foo1: endm else FIX_STACK macro endm CHECK_STACK macro endm ASSERT_CLI macro endm ASSERT_REFLSTK_OK macro endm endif