home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / UNIXTOOL / UNIXLIB37B / !UnixLib37_netlib_clib_unixlib_s_asm_dec < prev    next >
Encoding:
Text File  |  1996-11-06  |  7.3 KB  |  268 lines

  1. ;----------------------------------------------------------------------------
  2. ;
  3. ; $Source: /unixb/home/unixlib/source/unixlib37/clib/unixlib/s/RCS/asm_dec,v $
  4. ; $Date: 1996/11/06 22:01:41 $
  5. ; $Revision: 1.1 $
  6. ; $State: Exp $
  7. ; $Author: unixlib $
  8. ;
  9. ; Declare registers and SWIs we will be calling.
  10. ;
  11. ; $Log: asm_dec,v $
  12. ; Revision 1.1  1996/11/06 22:01:41  unixlib
  13. ; Initial revision
  14. ;
  15. ; Revision 1.5  1996/10/30 21:58:59  unixlib
  16. ; Massive changes made by Nick Burret and Peter Burwood.
  17. ;
  18. ; Revision 1.4  1996/09/16 21:23:51  unixlib
  19. ; CL_0002 Nick Burret
  20. ; Minor changes to file handling
  21. ; Change most error numbers, and use in assembler sources (SJC)
  22. ; Various minor bug fixes and compatability changes.
  23. ;
  24. ; Revision 1.3  1996/07/21 22:15:12  unixlib
  25. ; CL_0001 Nick Burret
  26. ; Improve memory handling. Remove C++ library incompatibilities.
  27. ; Improve file stat routines.
  28. ;
  29. ; Revision 1.2  1996/05/06 09:01:33  unixlib
  30. ; Updates to sources made by Nick Burrett, Peter Burwood and Simon Callan.
  31. ; Saved for 3.7a release.
  32. ;
  33. ; Revision 1.1  1996/04/19 22:02:19  simon
  34. ; Initial revision
  35. ;
  36. ;----------------------------------------------------------------------------
  37.  
  38. ; Bits that control which bits are compiled into UnixLib. Note, this must be
  39. ; kept in sync with <sys/syslib.h>, <signal.h> and <errno.h>.
  40.  
  41. ; Is an alloca() failure fatal? Nick says yes, Linux says no.
  42. ALLOCA_FATAL    EQU    1
  43. ; Do paranoid checks ?
  44. PARANOID    EQU    1
  45. ; Use dynamic areas for heap on RISC OS 3.5+
  46. DYNAMIC_AREA    EQU    1
  47. ; Align things to 4K boundaries for exec
  48. |__4K_BOUNDARY|    EQU    0
  49.  
  50. ; registers
  51.  
  52. r0    RN    0
  53. r1    RN    1
  54. r2    RN    2
  55. r3    RN    3
  56. r4    RN    4
  57. r5    RN    5
  58. r6    RN    6
  59. r7    RN    7
  60. r8    RN    8
  61. r9    RN    9
  62. r10    RN    10
  63. r11    RN    11
  64. r12    RN    12
  65. r13    RN    13
  66. r14    RN    14
  67. r15    RN    15
  68.  
  69. a1    RN    0    ; Argument 1
  70. a2    RN    1    ; Argument 2
  71. a3    RN    2    ; Argument 3
  72. a4    RN    3    ; Argument 4
  73. v1    RN    4    ; Variable 1
  74. v2    RN    5    ; Variable 2
  75. v3    RN    6    ; Variable 3
  76. v4    RN    7    ; Variable 4
  77. v5    RN    8    ; Variable 5
  78. v6    RN    9    ; Variable 6
  79.  
  80. sl    RN    10    ; Stack limit / stack chunk handle
  81. fp    RN    11    ; frame pointer
  82. ip    RN    12    ; Tempory workspace, used in procedure entry
  83. sp    RN    13    ; Stack pointer
  84. lr    RN    14    ; Link register
  85. pc    RN    15    ; Program counter
  86.  
  87. f0    FN    0
  88. f1    FN    1
  89. f2    FN    2
  90. f3    FN    3
  91. f4    FN    4
  92. f5    FN    5
  93. f6    FN    6
  94. f7    FN    7
  95.  
  96. NFlag    EQU    &80000000    ; Negative flag
  97. ZFlag    EQU    &40000000    ; Zero flag
  98. CFlag    EQU    &20000000    ; Carry flag
  99. VFlag    EQU    &10000000    ; Overflow flag
  100. IFlag    EQU    &08000000    ; IRQ disable
  101. FFlag    EQU    &04000000    ; FIRQ disable
  102.  
  103.  
  104.     MACRO
  105.     NAME    $name
  106.     DCB    "$name",0
  107.     ALIGN
  108.     DCD    &FF000000 + (:LEN: "$name"+3) :AND &FFFFFFFC
  109.     MEND
  110.  
  111. EXIT_SUCCESS    EQU    0
  112. EXIT_FAILURE    EQU    1
  113.  
  114. SIGHUP    EQU    1    ;   hangup
  115. SIGINT    EQU    2    ;   terminal interrupt
  116. SIGQUIT EQU    3    ; * ^\ from terminal
  117. SIGILL    EQU    4    ; * illegal instruction
  118. SIGTRAP EQU    5    ; * trace trap - unused
  119. SIGIOT    EQU    6    ;   abort
  120. SIGABRT EQU    6    ;   abort
  121. SIGEMT    EQU    7    ; * EMT (h/ware error)
  122. SIGFPE    EQU    8    ; * FPE trap
  123. SIGKILL EQU    9    ;   kill signal
  124. SIGBUS    EQU    10    ; * bus error
  125. SIGSEGV EQU    11    ; * segmentation violation
  126. SIGSYS    EQU    12    ; * bad system call
  127. SIGPIPE EQU    13    ;   broken pipe
  128. SIGALRM EQU    14    ;   alarm call
  129. SIGTERM EQU    15    ;   termination signal
  130. SIGURG    EQU    16    ;   urgent or out-of-band data
  131. SIGSTOP    EQU    17    ;   stop, unblockable
  132. SIGTSTP    EQU    18    ;   keyboard stop
  133. SIGCONT    EQU    19    ;   continue
  134. SIGCHLD    EQU    20    ;   child process has terminated/stopped
  135. SIGCLD    EQU    SIGCHLD
  136. SIGTTIN    EQU    21    ;   background read from tty
  137. SIGTTOU    EQU    22    ;   background write to tty
  138. SIGIO    EQU    23    ;   file descriptor is ready to perform I/O
  139. SIGPOLL    EQU    SIGIO
  140. SIGXCPU    EQU    24    ;   CPU time limit exceeded
  141. SIGXFSZ    EQU    25    ;   file size limit exceeded
  142. SIGVTALRM EQU    26    ;   alarm call
  143. SIGPROF EQU    27    ;   profiler alarm call
  144. SIGWINCH EQU    28    ;   window size change
  145. SIGINFO EQU    29    ;   information request
  146. SIGUSR1 EQU    30    ;   user signal 1
  147. SIGUSR2 EQU    31    ;   user signal 2
  148. SIGLOST EQU    32    ;   resource lost
  149. SIGERR    EQU    33    ;   RiscOS error
  150.  
  151. EOPSYS    EQU    106    ; RISC OS error
  152.  
  153. OS_WriteS    EQU    &000001
  154. OS_NewLine    EQU    &000003
  155. OS_Exit        EQU    &000011
  156. OS_EnterOS    EQU    &000016
  157. OS_GenerateError    EQU    &00002B
  158.  
  159. X_Bit    EQU    &20000
  160.  
  161. XOS_WriteC            EQU    &000000 + X_Bit
  162. XOS_WriteS            EQU    &000001 + X_Bit
  163. XOS_Write0            EQU    &000002 + X_Bit
  164. XOS_NewLine            EQU    &000003 + X_Bit
  165. XOS_ReadC            EQU    &000004 + X_Bit
  166. XOS_CLI                EQU    &000005 + X_Bit
  167. XOS_Byte            EQU    &000006 + X_Bit
  168. XOS_Word            EQU    &000007 + X_Bit
  169. XOS_File            EQU    &000008 + X_Bit
  170. XOS_Args            EQU    &000009 + X_Bit
  171. XOS_GBPB            EQU    &00000C + X_Bit
  172. XOS_Find            EQU    &00000D + X_Bit
  173. XOS_GetEnv            EQU    &000010 + X_Bit
  174. XOS_IntOn            EQU    &000013 + X_Bit
  175. XOS_EnterOS            EQU    &000016 + X_Bit
  176.  
  177. XOS_SetCallBack            EQU    &00001B + X_Bit
  178. XOS_Module            EQU    &00001E + X_Bit
  179. XOS_ReadVarVal            EQU    &000023 + X_Bit
  180. XOS_FSControl            EQU    &000029 + X_Bit
  181. XOS_ChangeDynamicArea        EQU    &00002A + X_Bit
  182. XOS_CallAfter            EQU    &00003B + X_Bit
  183. XOS_CallEvery            EQU    &00003C + X_Bit
  184. XOS_RemoveTickerEvent        EQU    &00003D + X_Bit
  185. XOS_ChangeEnvironment        EQU    &000040 + X_Bit
  186. XOS_ReadMonotonicTime        EQU    &000042 + X_Bit
  187. XOS_WriteN            EQU    &000046 + X_Bit
  188. XOS_ReadMemMapInfo        EQU    &000051 + X_Bit
  189. XOS_AddCallBack            EQU    &000054 + X_Bit
  190. XOS_SerialOp            EQU    &000057 + X_Bit
  191. XOS_DynamicArea            EQU    &000066 + X_Bit
  192. XOS_PlatformFeatures        EQU    &00006D + X_Bit
  193. XOS_SynchroniseCodeAreas    EQU    &00006E + X_Bit
  194. XOS_CallASWI            EQU    &00006F + X_Bit
  195. XOS_CallASWIR12            EQU    &000071 + X_Bit
  196. XOS_ConvertHex8            EQU    &0000D4 + X_Bit
  197.  
  198. XFPEmulator_Version        EQU    &040480 + X_Bit
  199.  
  200. Socket_Creat            EQU    &41200
  201. Socket_Bind            EQU    &41201
  202. Socket_Listen            EQU    &41202
  203. Socket_Accept            EQU    &41203
  204. Socket_Connect            EQU    &41204
  205. Socket_Recv            EQU    &41205
  206. Socket_Recvfrom            EQU    &41206
  207. Socket_Recvmsg            EQU    &41207
  208. Socket_Send            EQU    &41208
  209. Socket_Sendto            EQU    &41209
  210. Socket_Sendmsg            EQU    &4120A
  211. Socket_Shutdown            EQU    &4120B
  212. Socket_Setsockopt        EQU    &4120C
  213. Socket_Getsockopt        EQU    &4120D
  214. Socket_Getpeername        EQU    &4120E
  215. Socket_Getsockname        EQU    &4120F
  216. Socket_Close            EQU    &41210
  217. Socket_Select            EQU    &41211
  218. Socket_Ioctl            EQU    &41212
  219. Socket_Read            EQU    &41213
  220. Socket_Write            EQU    &41214
  221. Socket_Stat            EQU    &41215
  222. Socket_Readv            EQU    &41216
  223. Socket_Writev            EQU    &41217
  224. Socket_Gettsize            EQU    &41218
  225. Socket_Sendtosm            EQU    &41219
  226.  
  227. Internet_GetHostByName        EQU    &46000
  228. Internet_GetHostByAddr        EQU    &46001
  229.  
  230. XSocket_Creat            EQU    Socket_Creat + X_Bit
  231. XSocket_Bind            EQU    Socket_Bind + X_Bit
  232. XSocket_Listen            EQU    Socket_Listen + X_Bit
  233. XSocket_Accept            EQU    Socket_Accept + X_Bit
  234. XSocket_Connect            EQU    Socket_Connect + X_Bit
  235. XSocket_Recv            EQU    Socket_Recv + X_Bit
  236. XSocket_Recvfrom        EQU    Socket_Recvfrom + X_Bit
  237. XSocket_Recvmsg            EQU    Socket_Recvmsg + X_Bit
  238. XSocket_Send            EQU    Socket_Send + X_Bit
  239. XSocket_Sendto            EQU    Socket_Sendto + X_Bit
  240. XSocket_Sendmsg            EQU    Socket_Sendmsg + X_Bit
  241. XSocket_Shutdown        EQU    Socket_Shutdown + X_Bit
  242. XSocket_Setsockopt        EQU    Socket_Setsockopt + X_Bit
  243. XSocket_Getsockopt        EQU    Socket_Getsockopt + X_Bit
  244. XSocket_Getpeername        EQU    Socket_Getpeername + X_Bit
  245. XSocket_Getsockname        EQU    Socket_Getsockname + X_Bit
  246. XSocket_Close            EQU    Socket_Close + X_Bit
  247. XSocket_Select            EQU    Socket_Select + X_Bit
  248. XSocket_Ioctl            EQU    Socket_Ioctl + X_Bit
  249. XSocket_Read            EQU    Socket_Read + X_Bit
  250. XSocket_Write            EQU    Socket_Write + X_Bit
  251. XSocket_Stat            EQU    Socket_Stat + X_Bit
  252. XSocket_Readv            EQU    Socket_Readv + X_Bit
  253. XSocket_Writev            EQU    Socket_Writev + X_Bit
  254. XSocket_Gettsize        EQU    Socket_Gettsize + X_Bit
  255. XSocket_Sendtosm        EQU    Socket_Sendtosm + X_Bit
  256.  
  257. XInternet_GetHostByName        EQU    Internet_GetHostByName + X_Bit
  258. XInternet_GetHostByAddr        EQU    Internet_GetHostByAddr + X_Bit
  259.  
  260. XSharedCLibrary_LibInitAPCS_R    EQU    &080681 + X_Bit
  261. XSharedCLibrary_LibInitModule    EQU    &080682 + X_Bit
  262.  
  263. XMessageTrans_ErrorLookup    EQU    &041506 + X_Bit
  264.  
  265. XTaskWindow_TaskInfo        EQU    &043380 + X_Bit
  266.  
  267.     END
  268.