home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / xbase / library / clipper / timer / ontick / onticka.asm < prev    next >
Encoding:
Assembly Source File  |  1992-05-12  |  1.1 KB  |  90 lines

  1. ;
  2. ; Program...: ontickA.asm
  3. ; Author....: Suzanne Adams, Brenton Farmer
  4. ; Date......: 10/10/91
  5. ; Purpose...: Assembly routines to replace microsoft runtime routines
  6. ;             _dos_getvect, _dos_setvect
  7. ;
  8. .model large,c
  9.  
  10. .code
  11. _getvector proc far interrupt:word
  12.     public    _getvector
  13.  
  14.     push    sp
  15.     push    bp
  16.     push    si
  17.     push    di
  18.     push    ds
  19.     push    es
  20.  
  21.     mov    ax, interrupt
  22.     mov    ah, 35h
  23.     int    21h
  24.  
  25.     mov    dx, es
  26.     mov    ax, bx
  27.  
  28.     pop    es
  29.     pop    ds
  30.     pop    di
  31.     pop    si
  32.     pop    bp
  33.     pop    sp
  34.     ret
  35. _getvector endp
  36.  
  37.  
  38. _setvector proc far interrupt:word, ISRroutine:far ptr
  39.     public    _setvector
  40.  
  41.     push    sp
  42.     push    bp
  43.     push    si
  44.     push    di
  45.     push    ds
  46.     push    es
  47.  
  48.     mov    ax, interrupt
  49.     mov    ah, 25h
  50.     lds    dx, ISRroutine    ; setup ds and dx
  51.     int    21h
  52.  
  53.     pop    es
  54.     pop    ds
  55.     pop    di
  56.     pop    si
  57.     pop    bp
  58.     pop    sp
  59.     ret
  60. _setvector endp
  61.  
  62.  
  63.  
  64. _getindosAddress proc far
  65.     public  _getindosAddress
  66.  
  67.     push    sp
  68.     push    bp
  69.     push    si
  70.     push    di
  71.     push    ds
  72.     push    es
  73.  
  74.     mov    ah, 34h
  75.     int    21h
  76.  
  77.     mov    dx, es
  78.     mov    ax, bx
  79.  
  80.     pop    es
  81.     pop    ds
  82.     pop    di
  83.     pop    si
  84.     pop    bp
  85.     pop    sp
  86.     ret
  87. _getindosAddress endp
  88.  
  89. end
  90.