home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-387-Vol-3of3.iso / g / gtak212.zip / OS2-DD / macros.inc < prev    next >
Text File  |  1993-01-16  |  2KB  |  94 lines

  1. ;##############################################################################
  2. ; $Id: macros.inc,v 1.3 1992/07/24 11:36:45 ak Exp $
  3. ;##############################################################################
  4. ; $Log: macros.inc,v $
  5. ; Revision 1.3  1992/07/24  11:36:45  ak
  6. ; OS/2 2.0
  7. ; BASEDEV drivers
  8. ; VGA debugging
  9. ;
  10. ; Revision 1.2  1992/01/07  07:51:00  ak
  11. ; DevHlp function which return error state only
  12. ; now return byte instead of word. Corresponds
  13. ; to SETxx.
  14. ;
  15. ; Revision 1.1.1.1  1992/01/06  19:55:01  ak
  16. ; Alpha version.
  17. ;
  18. ; Revision 1.1  1992/01/06  19:55:00  ak
  19. ; Initial revision
  20. ;
  21. ;##############################################################################
  22.  
  23. regsave    macro    list, reg
  24.     local    r
  25.     irp    r, <list>
  26.         ifidn    <r>, <reg>
  27.             push    r
  28.         endif
  29.     endm
  30.     endm
  31.  
  32. regrest    macro    list, reg
  33.     local    r
  34.     irp    r, <list>
  35.         ifidn    <r>, <reg>
  36.             pop    r
  37.         endif
  38.     endm
  39.     endm
  40.  
  41. .enter    macro    regs
  42.     push    bp
  43.     mov    bp, sp
  44.     regsave    <regs>, es
  45.     regsave    <regs>, ds
  46.     regsave    <regs>, bp
  47.     regsave    <regs>, di
  48.     regsave    <regs>, si
  49.     endm
  50.  
  51. .return    macro    regs
  52.     regrest    <regs>, si
  53.     regrest    <regs>, di
  54.     regrest    <regs>, bp
  55.     regrest    <regs>, ds
  56.     regrest    <regs>, es
  57.     leave
  58.     ret
  59.     endm
  60.  
  61. .rnull    macro    rh, rl
  62.     local    lbl
  63.     mov    dx, rh
  64.     mov    ax, rl
  65.     jnc    short lbl
  66.     sub    dx, dx
  67.     sub    ax, ax
  68. lbl:
  69.     endm
  70.  
  71. .rzero    macro
  72.     local    lbl
  73.     jc    short lbl
  74.     sub    ax, ax
  75. lbl:
  76.     endm
  77.  
  78. .rflag    macro
  79.     setc    al
  80.     endm
  81.  
  82. .rminus    macro
  83.     local    lbl
  84.     jnc    short lbl
  85.     mov    ax, -1
  86. lbl:
  87.     endm
  88.  
  89. .devhlp    macro    name
  90.     mov    dl, DevHlp_&name
  91.     call    _devhlp
  92.     endm
  93.  
  94.