home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD2.mdf / c / library / mslang / vm / src / vmassert.asm < prev    next >
Encoding:
Assembly Source File  |  1993-12-15  |  1.1 KB  |  59 lines

  1.     page    ,132
  2.     title    vmassert - VM assert call
  3. ;***
  4. ;vmassert.asm - VM assert call
  5. ;
  6. ;       Copyright (c) 1989-1992, Microsoft Corporation.  All rights reserved.
  7. ;
  8. ;*******************************************************************************
  9.  
  10.     include version.inc
  11.     .model  large,pascal
  12.  
  13.     ifdef   VMDEBUG                 ;Used in debug version only
  14.  
  15.     extrn   C _assert:far
  16.  
  17.     .data?
  18.  
  19.     extrn   C _asizeC:byte
  20.     extrn   C _asizeD:byte
  21.  
  22.     .code   _TEXT
  23.  
  24. __VmAssert      proc                            \
  25.             pExp:near ptr byte,     \
  26.             pFile:near ptr byte,    \
  27.             iLine:word
  28.  
  29.     push    [iLine]
  30.  
  31.     cmp     [_asizeD],0             ;Near data model?
  32.     je      @F                      ;Brif so
  33.     push    ds
  34. @@:
  35.     push    [pFile]
  36.  
  37.     cmp     [_asizeD],0             ;Near data model?
  38.     je      @F                      ;Brif so
  39.     push    ds
  40. @@:
  41.     push    [pExp]
  42.  
  43.     cmp     [_asizeC],0             ;Near code model?
  44.     je      @F                      ;Brif so
  45.     call    far ptr _assert
  46.     jmp     short Exit
  47. @@:
  48.     call    near ptr _assert
  49.  
  50. Exit:
  51.     mov     sp,bp
  52.     ret
  53.  
  54. __VmAssert      endp
  55.  
  56.     endif                           ;VMDEBUG
  57.  
  58.     end
  59.