home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Pascal / HISOFTPASCAL2,0-2.DMS / in.adf / Units / CIA.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1992-05-20  |  1.1 KB  |  83 lines

  1. unit CIA;
  2.  
  3. INTERFACE
  4. uses Exec;
  5.  
  6.  
  7. var
  8.     CiaBase: pLibrary;
  9.  
  10.  
  11. const
  12.     CIAANAME = 'ciaa.resource';
  13.     CIABNAME = 'ciab.resource';
  14.  
  15.  
  16. function AddICRVector
  17.         (resource: pLibrary;
  18.         iCRBit: integer;
  19.         interrupt: pInterrupt): pInterrupt;
  20.  
  21. procedure RemICRVector
  22.         (resource: pLibrary;
  23.         iCRBit: integer;
  24.         interrupt: pInterrupt);
  25.  
  26. function AbleICR
  27.         (resource: pLibrary;
  28.         mask: integer): integer;
  29.  
  30. function SetICR
  31.         (resource: pLibrary;
  32.         mask: integer): integer;
  33.  
  34.  
  35.  
  36. IMPLEMENTATION
  37. function AddICRVector; xassembler;
  38. asm
  39.     movem.l    a6,-(sp)
  40.     lea        8(sp),a6
  41.     move.l    (a6)+,a1
  42.     move.w    (a6)+,d0
  43.     move.l    (a6)+,a6
  44.     jsr        -6(a6)
  45.     move.l    d0,$12(sp)
  46.     movem.l    (sp)+,a6
  47. end;
  48.  
  49. procedure RemICRVector; xassembler;
  50. asm
  51.     movem.l    a6,-(sp)
  52.     lea        8(sp),a6
  53.     move.l    (a6)+,a1
  54.     move.w    (a6)+,d0
  55.     move.l    (a6)+,a6
  56.     jsr        -$C(a6)
  57.     movem.l    (sp)+,a6
  58. end;
  59.  
  60. function AbleICR; xassembler;
  61. asm
  62.     movem.l    a6,-(sp)
  63.     lea        8(sp),a6
  64.     move.w    (a6)+,d0
  65.     move.l    (a6)+,a6
  66.     jsr        -$12(a6)
  67.     move.w    d0,$E(sp)
  68.     movem.l    (sp)+,a6
  69. end;
  70.  
  71. function SetICR; xassembler;
  72. asm
  73.     movem.l    a6,-(sp)
  74.     lea        8(sp),a6
  75.     move.w    (a6)+,d0
  76.     move.l    (a6)+,a6
  77.     jsr        -$18(a6)
  78.     move.w    d0,$E(sp)
  79.     movem.l    (sp)+,a6
  80. end;
  81.  
  82. end.
  83.