home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / archives / ckc072.zip / ckmasm.h < prev    next >
C/C++ Source or Header  |  1988-08-16  |  4KB  |  132 lines

  1. /*
  2.  * file ckmasm.h
  3.  *
  4.  * Module of Mac Kermit containing code for assembler instructions needed
  5.  *
  6.  */
  7.  
  8. /*
  9.  Copyright (C) 1985, Trustees of Columbia University in the City of New York.
  10.  Permission is granted to any individual or institution to use, copy, or
  11.  redistribute this software so long as it is not sold for profit, provided this
  12.  copyright notice is retained.
  13. */
  14.  
  15.  
  16.  
  17. /****************************************************************************/
  18. pascal void
  19. loadA0 (params)
  20. char *params;
  21. /****************************************************************************/
  22. extern 0x205F;            /* MOVEA.L (A7)+,A0 */
  23.  
  24.  
  25.  
  26. /****************************************************************************/
  27. pascal void
  28. loadD1 (value)
  29. long value;
  30. /****************************************************************************/
  31. extern 0x221F;            /* MOVE.L (A7)+,D1 */
  32.  
  33.  
  34.  
  35. /****************************************************************************/
  36. pascal void
  37. loadD2 (value)
  38. long value;
  39. /****************************************************************************/
  40. extern 0x241F;            /* MOVE.L (A7)+,D2 */
  41.  
  42.  
  43.  
  44. /****************************************************************************/
  45. pascal void
  46. pushD0 ()
  47. /****************************************************************************/
  48. extern 0x2F00;            /* MOVE.L D0,-(A7) */
  49.  
  50.  
  51.  
  52. /****************************************************************************/
  53. pascal void
  54. poptoA0 ()
  55. /****************************************************************************/
  56. extern 0x209F;            /* MOVE.L (A7)+,(A0) */
  57.  
  58.  
  59.  
  60. /****************************************************************************/
  61. pascal void
  62. saveA0 ()
  63. /****************************************************************************/
  64. extern 0x2F08;            /* MOVEA.L A0,-(A7) */
  65.  
  66.  
  67.  
  68. /****************************************************************************/
  69. pascal void
  70. restoreA0 ()
  71. /****************************************************************************/
  72. extern 0x205F;            /* MOVEA.L (A7)+,A0 */
  73.  
  74.  
  75.  
  76. /****************************************************************************/
  77. pascal void
  78. AllRegs ()
  79. /****************************************************************************/
  80. extern 0xFFFF;            /* D0-D7/A0-A7 (all registers) */
  81.  
  82.  
  83.  
  84. /****************************************************************************/
  85. pascal void
  86. SaveRegs ()
  87. /****************************************************************************/
  88. extern 0x48E7;            /* MOVEM.L <registers>,-(A7) */
  89.  
  90.  
  91.  
  92. /****************************************************************************/
  93. pascal void
  94. RestoreRegs ()
  95. /****************************************************************************/
  96. extern 0x4CDF;            /* MOVEM.L (A7)+,<registers> */
  97.  
  98.  
  99.  
  100. /****************************************************************************/
  101. pascal void
  102. execute ()
  103. /****************************************************************************/
  104. extern 0x4E90;            /* JSR (A0) */
  105.  
  106.  
  107.  
  108. /****************************************************************************/
  109. pascal void
  110. Launch ()
  111. /****************************************************************************/
  112. extern 0xA9F2;            /* Launch Trap */
  113.  
  114. /**********************************/
  115. pascal Boolean
  116. WaitNextEvent (eventMask, theEvent, sleep, mouseRgn)
  117. short eventMask;
  118. EventRecord *theEvent;
  119. long sleep;
  120. RgnHandle mouseRgn;
  121. /***********************************/
  122. extern 0xA860;            /* it's a toolbox trap... */
  123.  
  124. #define num_WaitNextEvent    0x60
  125. #define num_UnknownTrap        0x9F
  126.  
  127. /***********************************/
  128. pascal void
  129. UnknownTrap ()
  130. /***********************************/
  131. extern 0xA89F;
  132.