ERR MACRO CODE PUSH AX MOV AX,CODE CALL ERROR ENDM FRAME MACRO COUNT PUSH BP ;SAVE CALLER'S FRAME MOV BP,SP ;ESTABLISH LOCAL FRAME IFNB SUB SP,2*COUNT ;ALLOCATE LOCAL STORAGE ENDIF ENDM EXITF MACRO COUNT MOV SP,BP ;FREE LOCAL STORAGE POP BP ;RESTORE CALLER'S FRAME IFB RET EXITM ENDIF IF (.TYPE COUNT) AND 1 JMP COUNT ELSE RET 2*COUNT ;CLEAN UP STACK AND RETURN ENDIF ENDM