Pristine Ack-5.5
[Ack-5.5.git] / lang / cem / libcc / mon / tail_mon.a
1 eÿexit.c\0\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\v\ 1/* $Id: exit.c,v 2.4 1994/06/24 12:17:41 ceriel Exp $ */
2
3 /*
4  * (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
5  * See the copyright notice in the ACK home directory, in the file "Copyright".
6  */
7
8 exit(code)
9 {
10         _cleanup() ;
11         _exit(code) ;
12 }
13 \0gtty.c\0\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0¯\0/* $Id: gtty.c,v 2.4 1994/06/24 12:17:45 ceriel Exp $ */
14 #include <sgtty.h>
15 int
16 gtty(fildes,argp) int fildes ; struct sgttyb *argp ; {
17         return ioctl(fildes,TIOCGETP,argp) ;
18 }
19 Ksignal.c\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\87      /* $Id: signal.c,v 2.4 1994/06/24 12:17:48 ceriel Exp $ */
20 #include <signal.h>
21
22 typedef void (*callvec)() ;
23
24 static callvec vector[16] = {
25       SIG_DFL, SIG_DFL, SIG_DFL, SIG_DFL, SIG_DFL, SIG_DFL, SIG_DFL, SIG_DFL,
26       SIG_DFL, SIG_DFL, SIG_DFL, SIG_DFL, SIG_DFL, SIG_DFL, SIG_DFL, SIG_DFL
27 } ;
28
29 static char mapvec[] = {
30         0,              /* EARRAY */
31         0,              /* ERANGE */
32         0,              /* ESET */
33         0,              /* EIOVFL */
34         SIGFPE,         /* EFOVFL */
35         SIGFPE,         /* EFUNDFL */
36         0,              /* EIDIVZ */
37         SIGFPE,         /* EFDIVZ */
38         0,              /* EIUND, already ignored */
39         SIGFPE,         /* EFUND */
40         0,              /* ECONV */
41         0,              /* 11 */
42         0,              /* 12 */
43         0,              /* 13 */
44         0,              /* 14 */
45         0,              /* 15 */
46         SIGSEGV,        /* ESTACK */
47         SIGSEGV,        /* EHEAP */
48         0,              /* EILLINS */
49         0,              /* EODDZ */
50         0,              /* ECASE */
51         SIGSEGV,        /* EBADMEM */
52         SIGBUS,         /* EBADPTR */
53         0,              /* EBADPC */
54         0,              /* EBADLAE */
55         SIGSYS,         /* EBADMON */
56         0,              /* EBADLIN */
57         0,              /* EBADGTO */
58 } ;
59
60 #define VECBASE 128
61
62 static          firsttime       = 1 ;
63 static int      catchtrp() ;
64 static int      procesig() ;
65
66 callvec signal(sig,func) int sig ; callvec func ; {
67         register index, i ;
68         callvec  prev ;
69
70         index= sig-1 ;
71         if ( index<0 || index>=(sizeof vector/sizeof vector[0]) ) {
72                 return (callvec) -1 ;
73         }
74         if ( firsttime ) {
75                 firsttime= 0 ;
76                 _setsig(catchtrp) ;
77         }
78         prev= vector[index] ;
79         if ( prev!=func ) {
80                 register int mapval ;
81                 vector[index]= func ;
82                 if ( func==SIG_IGN ) {
83                         mapval= -3;
84                 } else if ( func==SIG_DFL ) {
85                         mapval= -2;
86                 } else {
87                         mapval=VECBASE+sig;
88                 }
89                 if ( sigtrp(mapval,sig)== -1 ) return (callvec) -1;
90
91         }
92         return prev ;
93 }
94
95 static int catchtrp(trapno) int trapno ; {
96         if ( trapno>VECBASE &&
97              trapno<=VECBASE + (sizeof vector/sizeof vector[0]) ) {
98                 return procesig(trapno-VECBASE) ;
99         }
100         if ( trapno>=0 && trapno< (sizeof mapvec/sizeof mapvec[0]) &&
101              mapvec[trapno] ) {
102                 return procesig(mapvec[trapno]) ;
103         }
104         return 0 ; /* Failed to handle the trap */
105 }
106
107 static int procesig(sig) int sig ; {
108         register index ;
109         callvec  trf ;
110
111         index= sig-1 ;
112         trf= vector[index] ;
113         if ( trf==SIG_IGN ) return 1 ;
114         if ( sig!=SIGILL && sig!=SIGTRAP ) vector[index]= SIG_IGN ;
115         if ( trf==SIG_DFL ) return 0 ;
116         (*trf)(sig) ;
117         return 1 ;
118 }
119 \0stty.c\0c\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0¯\0/* $Id: stty.c,v 2.4 1994/06/24 12:17:51 ceriel Exp $ */
120 #include <sgtty.h>
121 int
122 stty(fildes,argp) int fildes ; struct sgttyb *argp ; {
123         return ioctl(fildes,TIOCSETP,argp) ;
124 }
125 _tell.c\0c\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\95\0/* $Id: tell.c,v 2.3 1994/06/24 12:17:54 ceriel Exp $ */
126 /*
127  * return offset in file.
128  */
129
130 long    lseek();
131
132 long tell(f)
133 {
134         return(lseek(f, 0L, 1));
135 }
136 ftime.c\0c\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0æ\0/* $Id: time.c,v 2.4 1994/06/24 12:17:56 ceriel Exp $ */
137 #include <sys/types.h>
138 #include <sys/timeb.h>
139 time_t
140 time(timpt) time_t *timpt ; {
141         struct timeb buf ;
142
143         ftime(&buf) ;
144         if ( timpt ) *timpt= buf.time ;
145         return buf.time ;
146 }
147 cleanup.c\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0I\0/* $Id: cleanup.c,v 2.3 1994/06/24 12:17:39 ceriel Exp $ */
148 _cleanup(){}
149 paccess.e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0§\0#
150  mes 2,EM_WSIZE,EM_PSIZE
151  exp $access
152  pro $access,0
153  lal 0
154  loi EM_WSIZE+EM_PSIZE
155  loc 33
156  mon
157  zne *1
158  loc 0
159  ret EM_WSIZE
160 1
161  ste errno
162  loc -1
163  ret EM_WSIZE
164  end
165 (acct.e\0e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\9a\0#
166  mes 2,EM_WSIZE,EM_PSIZE
167  exp $acct
168  pro $acct,0
169  lal 0
170  loi EM_PSIZE
171  loc 51
172  mon
173  zne *1
174  loc 0
175  ret EM_WSIZE
176 1
177  ste errno
178  loc -1
179  ret EM_WSIZE
180  end
181 alarm.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\\0#
182  mes 2,EM_WSIZE,EM_PSIZE
183  exp $alarm
184  pro $alarm,0
185  lol 0
186  loc 27
187  mon
188  ret EM_WSIZE
189  end
190 brk.e\0e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0        \ 2#
191 #include <em_abs.h>
192
193  mes 2,EM_WSIZE,EM_PSIZE
194
195 .1
196  bss EM_PSIZE,0,0
197 .2
198  bss EM_WSIZE,0,0
199
200  pro $ctch,0
201  lol 0
202  loc EHEAP
203  beq *1
204  lae .1
205  loi EM_PSIZE
206  sig
207  asp EM_PSIZE
208  lol 0
209  trp
210  rtt
211 1
212  loc 1
213  ste .2
214  rtt
215  end
216
217
218  exp $brk
219  pro $brk,0
220  lpi $ctch
221  sig
222  lae .1
223  sti EM_PSIZE
224  loc 0
225  ste .2
226  lal 0
227  loi EM_PSIZE
228  str 2          ; The - possibly - occurring trap is caught
229  lae .1
230  loi EM_PSIZE
231  sig
232  asp EM_PSIZE
233  loe .2
234  zgt *1
235  zer EM_PSIZE
236  ret EM_PSIZE
237 1
238  loc -1
239  loc EM_WSIZE
240  loc EM_PSIZE
241  cii
242  ret EM_PSIZE
243  end
244 *chdir.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\9c\0#
245  mes 2,EM_WSIZE,EM_PSIZE
246  exp $chdir
247  pro $chdir,0
248  lal 0
249  loi EM_PSIZE
250  loc 12
251  mon
252  zne *1
253  loc 0
254  ret EM_WSIZE
255 1
256  ste errno
257  loc -1
258  ret EM_WSIZE
259  end
260 chmod.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0¥\0#
261  mes 2,EM_WSIZE,EM_PSIZE
262  exp $chmod
263  pro $chmod,0
264  lal 0
265  loi EM_WSIZE+EM_PSIZE
266  loc 15
267  mon
268  zne *1
269  loc 0
270  ret EM_WSIZE
271 1
272  ste errno
273  loc -1
274  ret EM_WSIZE
275  end
276 _chown.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0§\0#
277  mes 2,EM_WSIZE,EM_PSIZE
278  exp $chown
279  pro $chown,0
280  lal 0
281  loi EM_PSIZE+2*EM_WSIZE
282  loc 16
283  mon
284  zne *1
285  loc 0
286  ret EM_WSIZE
287 1
288  ste errno
289  loc -1
290  ret EM_WSIZE
291  end
292 Schroot.e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\9e\0#
293  mes 2,EM_WSIZE,EM_PSIZE
294  exp $chroot
295  pro $chroot,0
296  lal 0
297  loi EM_PSIZE
298  loc 61
299  mon
300  zne *1
301  loc 0
302  ret EM_WSIZE
303 1
304  ste errno
305  loc -1
306  ret EM_WSIZE
307  end
308 close.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\8d\0#
309  mes 2,EM_WSIZE,EM_PSIZE
310  exp $close
311  pro $close,0
312  lol 0
313  loc 6
314  mon
315  zne *1
316  loc 0
317  ret EM_WSIZE
318 1
319  ste errno
320  loc -1
321  ret EM_WSIZE
322  end
323 ecreat.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0ª\0#
324  mes 2,EM_WSIZE,EM_PSIZE
325  exp $creat
326  pro $creat,0
327  lal 0
328  loi EM_WSIZE+EM_PSIZE
329  loc 8
330  mon
331  zeq *1
332  ste errno              ; since e==r0
333  loc -1
334 1
335  ret EM_WSIZE
336  end
337 dup.e\0e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\83\0#
338  mes 2,EM_WSIZE,EM_PSIZE
339  exp $dup
340  pro $dup,0
341  lol 0
342  dup EM_WSIZE
343  loc 41
344  mon
345  zeq *1
346  ste errno
347  loc -1
348 1
349  ret EM_WSIZE
350  end
351 ndup2.e\0\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\9d\0#
352  mes 2,EM_WSIZE,EM_PSIZE
353  exp $dup2
354  pro $dup2,0
355  lal 0
356  loi 2*EM_WSIZE
357  loc 64
358  ior EM_WSIZE
359  loc 41
360  mon
361  zeq *1
362  ste errno
363  loc -1
364 1
365  ret EM_WSIZE
366  end
367 Mexecl.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0¥\0#
368  mes 2,EM_WSIZE,EM_PSIZE
369  exp $execl
370  pro $execl,0
371  lae _penvp
372  loi EM_PSIZE
373  lal EM_PSIZE
374  lal 0
375  loi EM_PSIZE
376  loc 59
377  mon
378  ste errno
379  loc -1
380  ret EM_WSIZE
381  end
382  execle.e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\b\ 1#
383  mes 2,EM_WSIZE,EM_PSIZE
384  exp $execle
385  pro $execle,0
386  lal EM_PSIZE
387 1
388  dup EM_PSIZE
389  loi EM_PSIZE
390  zer EM_PSIZE
391  cmp
392  zeq *2
393  adp EM_PSIZE
394  bra *1
395 2
396  adp EM_PSIZE
397  loi EM_PSIZE
398  lal EM_PSIZE
399  lal 0
400  loi EM_PSIZE
401  loc 59
402  mon
403  ste errno
404  loc -1
405  ret EM_WSIZE
406  end
407 execv.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\99\0#
408  mes 2,EM_WSIZE,EM_PSIZE
409  exp $execv
410  pro $execv,0
411  lae _penvp
412  loi EM_PSIZE
413  lal 0
414  loi 2*EM_PSIZE
415  loc 59
416  mon
417  ste errno
418  loc -1
419  ret EM_WSIZE
420  end
421 pexecve.e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\81\0#
422  mes 2,EM_WSIZE,EM_PSIZE
423  exp $execve
424  pro $execve,0
425  lal 0
426  loi 3*EM_PSIZE
427  loc 59
428  mon
429  ste errno
430  loc -1
431  ret EM_WSIZE
432  end
433 cfork.e\0e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0Ã\0#
434  mes 2,EM_WSIZE,EM_PSIZE
435  exa par_uid
436 par_uid
437  bss EM_WSIZE,0,0
438
439  exp $fork
440  pro $fork,0
441  loc 2
442  mon
443  zeq *1
444  ste errno
445  loc -1
446  ret EM_WSIZE
447 1
448  zeq *2
449  ste par_uid
450  loc 0
451 2
452  ret EM_WSIZE
453  end
454 lfstat.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0¥\0#
455  mes 2,EM_WSIZE,EM_PSIZE
456  exp $fstat
457  pro $fstat,0
458  lal 0
459  loi EM_WSIZE+EM_PSIZE
460  loc 28
461  mon
462  zne *1
463  loc 0
464  ret EM_WSIZE
465 1
466  ste errno
467  loc -1
468  ret EM_WSIZE
469  end
470 dftime.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\98\0#
471  mes 2,EM_WSIZE,EM_PSIZE
472  exp $ftime
473  pro $ftime,0
474  lal 0
475  loi EM_PSIZE
476  loc 35
477  mon
478  zne *1
479  loc 0
480  bra *2
481 1
482  ste errno
483  loc -1
484 2
485  ret EM_WSIZE
486  end
487 getegid.e\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0Y\0#
488  mes 2,EM_WSIZE,EM_PSIZE
489  exp $getegid
490  pro $getegid,0
491  loc 47
492  mon
493  ret EM_WSIZE
494  end
495 ngeteuid.e\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0Y\0#
496  mes 2,EM_WSIZE,EM_PSIZE
497  exp $geteuid
498  pro $geteuid,0
499  loc 24
500  mon
501  ret EM_WSIZE
502  end
503 ngetgid.e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0e\0#
504  mes 2,EM_WSIZE,EM_PSIZE
505  exp $getgid
506  pro $getgid,0
507  loc 47
508  mon
509  asp EM_WSIZE
510  ret EM_WSIZE
511  end
512
513 getpid.e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0W\0#
514  mes 2,EM_WSIZE,EM_PSIZE
515  exp $getpid
516  pro $getpid,0
517  loc 20
518  mon
519  ret EM_WSIZE
520  end
521 Egetuid.e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0e\0#
522  mes 2,EM_WSIZE,EM_PSIZE
523  exp $getuid
524  pro $getuid,0
525  loc 24
526  mon
527  asp EM_WSIZE
528  ret EM_WSIZE
529  end
530
531 ioctl.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0§\0#
532  mes 2,EM_WSIZE,EM_PSIZE
533  exp $ioctl
534  pro $ioctl,0
535  lal 0
536  loi EM_PSIZE+2*EM_WSIZE
537  loc 54
538  mon
539  zne *1
540  loc 0
541  ret EM_WSIZE
542 1
543  ste errno
544  loc -1
545  ret EM_WSIZE
546  end
547  kill.e\0\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\8c\0#
548  mes 2,EM_WSIZE,EM_PSIZE
549  exp $kill
550  pro $kill,0
551  ldl 0
552  loc 37
553  mon
554  zne *1
555  loc 0
556  ret EM_WSIZE
557 1
558  ste errno
559  loc -1
560  ret EM_WSIZE
561  end
562 link.e\0\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\9b\0#
563  mes 2,EM_WSIZE,EM_PSIZE
564  exp $link
565  pro $link,0
566  lal 0
567  loi 2*EM_PSIZE
568  loc 9
569  mon
570  zne *1
571  loc 0
572  ret EM_WSIZE
573 1
574  ste errno
575  loc -1
576  ret EM_WSIZE
577  end
578 _lock.e\0\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\8c\0#
579  mes 2,EM_WSIZE,EM_PSIZE
580  exp $lock
581  pro $lock,0
582  lol 0
583  loc 53
584  mon
585  zne *1
586  loc 0
587  ret EM_WSIZE
588 1
589  ste errno
590  loc -1
591  ret EM_WSIZE
592  end
593 lseek.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0V\ 1#
594  mes 2,EM_WSIZE,EM_PSIZE
595  exp $lseek
596  pro $lseek,0
597  lal 0
598  loi 4*EM_WSIZE
599  loc 19
600  mon
601  zeq *1
602  ste errno
603 #if EM_WSIZE==1
604  ldc -1
605  loc 2
606  loc 4
607  cii
608 #endif
609 #if EM_WSIZE==2
610  ldc -1
611 #endif
612 #if EM_WSIZE==4
613  loc -1
614 #endif
615 1
616 #if EM_WSIZE==1
617  ret 4*EM_WSIZE
618 #endif
619 #if EM_WSIZE==2
620  ret 2*EM_WSIZE
621 #endif
622 #if EM_WSIZE==4
623  ret EM_WSIZE
624 #endif
625  end
626 mknod.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0§\0#
627  mes 2,EM_WSIZE,EM_PSIZE
628  exp $mknod
629  pro $mknod,0
630  lal 0
631  loi EM_PSIZE+2*EM_WSIZE
632  loc 14
633  mon
634  zne *1
635  loc 0
636  ret EM_WSIZE
637 1
638  ste errno
639  loc -1
640  ret EM_WSIZE
641  end
642 Imount.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0§\0#
643  mes 2,EM_WSIZE,EM_PSIZE
644  exp $mount
645  pro $mount,0
646  lal 0
647  loi EM_WSIZE+2*EM_PSIZE
648  loc 21
649  mon
650  zne *1
651  loc 0
652  ret EM_WSIZE
653 1
654  ste errno
655  loc -1
656  ret EM_WSIZE
657  end
658 Impxcall.e\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0©\0#
659  mes 2,EM_WSIZE,EM_PSIZE
660  exp $mpxcall
661  pro $mpxcall,0
662  lal 0
663  loi EM_PSIZE+EM_WSIZE
664  loc 56
665  mon
666  zne *1
667  loc 0
668  ret EM_WSIZE
669 1
670  ste errno
671  loc -1
672  ret EM_WSIZE
673  end
674 Enice.e\0.e\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0S\0#
675  mes 2,EM_WSIZE,EM_PSIZE
676  exp $nice
677  pro $nice,0
678  lol 0
679  loc 34
680  mon
681  ret 0
682  end
683 Iopen.e\0.e\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\8d\0#
684  mes 2,EM_WSIZE,EM_PSIZE
685  exp $open
686  pro $open,0
687  lal 0
688  loi EM_WSIZE+EM_PSIZE
689  loc 5
690  mon
691  zeq *1
692  ste errno
693  loc -1
694 1
695  ret EM_WSIZE
696  end
697
698 pause.e\0e\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0N\0#
699  mes 2,EM_WSIZE,EM_PSIZE
700  exp $pause
701  pro $pause,0
702  loc 29
703  mon
704  ret 0
705  end
706 pipe.e\0\0e\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0¯\0#
707  mes 2,EM_WSIZE,EM_PSIZE
708  exp $pipe
709  pro $pipe,0
710  loc 42
711  mon
712  zeq *1
713  ste errno
714  loc -1
715  ret EM_WSIZE
716 1
717  lal 0
718  loi EM_PSIZE
719  stf EM_WSIZE
720  sil 0
721  loc 0
722  ret EM_WSIZE
723  end
724 lprof.e\0\0e\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0g\0#
725  mes 2,EM_WSIZE,EM_PSIZE
726  exp $profil
727  pro $profil,0
728  lal 0
729  loi 4*EM_PSIZE
730  loc 44
731  mon
732  ret 0
733  end
734 Eptrace.e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\9f\0#
735  mes 2,EM_WSIZE,EM_PSIZE
736  exp $ptrace
737  pro $ptrace,0
738  zre errno
739  lal 0
740  loi EM_PSIZE+3*EM_WSIZE
741  loc 26
742  mon
743  zeq *1
744  ste errno
745  loc -1
746 1
747  ret EM_WSIZE
748  end
749 tread.e\0e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0ð\0#
750  mes 2,EM_WSIZE,EM_PSIZE
751  exp $read
752  pro $read,0
753  lol EM_WSIZE+EM_PSIZE
754  loc EM_WSIZE
755  loc EM_PSIZE
756  ciu
757  lal 0
758  loi EM_WSIZE+EM_PSIZE
759  loc 3
760  mon
761  zne *1
762  loc EM_PSIZE
763  loc EM_WSIZE
764  cui
765  bra *2
766 1
767  ste errno
768  loc -1
769 2
770  ret EM_WSIZE
771  end
772 sbrk.e\0e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\98\ 2#
773 #include <em_abs.h>
774
775  mes 2,EM_WSIZE,EM_PSIZE
776
777 .1
778  bss EM_PSIZE,0,0
779 .2
780  bss EM_WSIZE,0,0
781
782  pro $ctch,0
783  lol 0
784  loc EHEAP
785  beq *1
786  lae .1
787  loi EM_PSIZE
788  sig
789  asp EM_PSIZE
790  lol 0
791  trp
792  rtt
793 1
794  loc 1
795  ste .2
796  rtt
797  end
798
799
800  exp $sbrk
801  pro $sbrk,0
802  lor 2
803  lor 2
804  lpi $ctch
805  sig
806  lae .1
807  sti EM_PSIZE
808  loc 0
809  ste .2
810  lol 0
811  ads EM_WSIZE   ; this is the new heap pointer, but watch out for overflow!
812  dup EM_PSIZE
813  lor 2
814  cmp            ; compare with old heap pointer
815  zlt *1
816  str 2          ; The - possibly - occurring trap is caught
817  lae .1
818  loi EM_PSIZE
819  sig
820  asp EM_PSIZE
821  loe .2
822  zgt *1
823  ret EM_PSIZE
824 1
825  asp EM_PSIZE
826  loc -1
827  loc EM_WSIZE
828  loc EM_PSIZE
829  cii
830  ret EM_PSIZE
831  end
832 setgid.e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\90\0#
833  mes 2,EM_WSIZE,EM_PSIZE
834  exp $setgid
835  pro $setgid,0
836  lol 0
837  loc 46
838  mon
839  zne *1
840  loc 0
841  ret EM_WSIZE
842 1
843  ste errno
844  loc -1
845  ret EM_WSIZE
846  end
847 setuid.e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\90\0#
848  mes 2,EM_WSIZE,EM_PSIZE
849  exp $setuid
850  pro $setuid,0
851  lol 0
852  loc 23
853  mon
854  zne *1
855  loc 0
856  ret EM_WSIZE
857 1
858  ste errno
859  loc -1
860  ret EM_WSIZE
861  end
862 setsig.e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0û\ 2#
863  mes 2,EM_WSIZE,EM_PSIZE
864 save
865         bss EM_PSIZE,0,0
866 trf
867         bss EM_PSIZE,0,0
868
869  exp $_setsig
870  pro $_setsig,0
871  lal 0
872  loi EM_PSIZE
873  lae trf
874  sti EM_PSIZE
875  inp $catchit
876  lpi $catchit           ; trap to catchit
877  sig
878  lae save               ; remember higher level trap
879  sti EM_PSIZE
880  ret 0
881  end
882
883  pro $catchit,0
884  lpi $catchit
885  sig
886  asp EM_PSIZE
887  lol 0                  ; fetch trapno
888  lae trf
889  loi EM_PSIZE           ; fetch procedure identifier
890  cai
891  lfr EM_WSIZE
892  zne *1
893  ; trap not handled by trf function, trap through; trapno still on stack
894  lae save
895  loi EM_PSIZE
896  sig
897  asp EM_PSIZE
898  trp
899  lpi $catchit           ; trap ignored, further traps to catchit
900  sig
901  asp EM_PSIZE
902  lae save               ; remember higher level trap
903  sti EM_PSIZE
904 1
905  rtt
906  end
907 *sigtrp.e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0{\0#
908  mes 2,EM_WSIZE,EM_PSIZE
909  exp $sigtrp
910  pro $sigtrp,0
911  ldl 0
912  loc 48
913  mon
914  zeq *1
915  ste errno
916  loc -1
917 1
918  ret EM_WSIZE
919  end
920
921 stat.e\0e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\9c\0#
922  mes 2,EM_WSIZE,EM_PSIZE
923  exp $stat
924  pro $stat,0
925  lal 0
926  loi 2*EM_PSIZE
927  loc 18
928  mon
929  zne *1
930  loc 0
931  ret EM_WSIZE
932 1
933  ste errno
934  loc -1
935  ret EM_WSIZE
936  end
937 stime.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0¸\0#
938  mes 2,EM_WSIZE,EM_PSIZE
939  exp $stime
940  pro $stime,0
941 #if EM_WSIZE<4
942  lol 0
943  loi 4
944 #else
945  lil 0
946 #endif
947  loc 25
948  mon
949  zne *1
950  loc 0
951  ret EM_WSIZE
952 1
953  ste errno
954  loc -1
955  ret EM_WSIZE
956  end
957 sync.e\0\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0L\0#
958  mes 2,EM_WSIZE,EM_PSIZE
959  exp $sync
960  pro $sync,0
961  loc 36
962  mon
963  ret 0
964  end
965 times.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0c\0#
966  mes 2,EM_WSIZE,EM_PSIZE
967  exp $times
968  pro $times,0
969  lal 0
970  loi EM_PSIZE
971  loc 43
972  mon
973  ret 0
974  end
975 iumask.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\\0#
976  mes 2,EM_WSIZE,EM_PSIZE
977  exp $umask
978  pro $umask,0
979  lol 0
980  loc 60
981  mon
982  ret EM_WSIZE
983  end
984 umount.e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\9e\0#
985  mes 2,EM_WSIZE,EM_PSIZE
986  exp $umount
987  pro $umount,0
988  lal 0
989  loi EM_PSIZE
990  loc 22
991  mon
992  zne *1
993  loc 0
994  ret EM_WSIZE
995 1
996  ste errno
997  loc -1
998  ret EM_WSIZE
999  end
1000 unlink.e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\9e\0#
1001  mes 2,EM_WSIZE,EM_PSIZE
1002  exp $unlink
1003  pro $unlink,0
1004  lal 0
1005  loi EM_PSIZE
1006  loc 10
1007  mon
1008  zne *1
1009  loc 0
1010  ret EM_WSIZE
1011 1
1012  ste errno
1013  loc -1
1014  ret EM_WSIZE
1015  end
1016 utime.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\9e\0#
1017  mes 2,EM_WSIZE,EM_PSIZE
1018  exp $utime
1019  pro $utime,0
1020  lal 0
1021  loi 2*EM_PSIZE
1022  loc 30
1023  mon
1024  zne *1
1025  loc 0
1026  ret EM_WSIZE
1027 1
1028  ste errno
1029  loc -1
1030  ret EM_WSIZE
1031  end
1032 wait.e\0\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\8f\ 1#
1033  mes 2,EM_WSIZE,EM_PSIZE
1034 #if EM_WSIZE<4
1035 #define STATUS_SIZE 2
1036 #else
1037 #define STATUS_SIZE EM_WSIZE
1038 #endif
1039  exp $wait
1040  pro $wait,0
1041  loc 7
1042  mon
1043  zne *1
1044  lal 0
1045  loi EM_PSIZE
1046  zer EM_PSIZE
1047  cms EM_PSIZE
1048  zeq *2
1049 #if EM_WSIZE==1
1050  lal 0
1051  loi EM_PSIZE
1052  sti 2                  ; 2 bytes, not one int!
1053 #else
1054  sil 0
1055 #endif
1056  ret EM_WSIZE
1057 2
1058  asp STATUS_SIZE
1059  ret EM_WSIZE
1060 1
1061  ste errno
1062  loc -1
1063  ret EM_WSIZE
1064  end
1065  write.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0ò\0#
1066  mes 2,EM_WSIZE,EM_PSIZE
1067  exp $write
1068  pro $write,0
1069  lol EM_WSIZE+EM_PSIZE
1070  loc EM_WSIZE
1071  loc EM_PSIZE
1072  ciu
1073  lal 0
1074  loi EM_WSIZE+EM_PSIZE
1075  loc 4
1076  mon
1077  zne *1
1078  loc EM_PSIZE
1079  loc EM_WSIZE
1080  cui
1081  bra *2
1082 1
1083  ste errno
1084  loc -1
1085 2
1086  ret EM_WSIZE
1087  end
1088 errno.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0?\0#
1089  mes 2,EM_WSIZE,EM_PSIZE
1090
1091  exa errno
1092 errno
1093  bss EM_WSIZE,0,0
1094 I_alarm.e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0^\0#
1095  mes 2,EM_WSIZE,EM_PSIZE
1096  exp $_alarm
1097  pro $_alarm,0
1098  lol 0
1099  loc 27
1100  mon
1101  ret EM_WSIZE
1102  end
1103 _brk.e\0e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\v\ 2#
1104 #include <em_abs.h>
1105
1106  mes 2,EM_WSIZE,EM_PSIZE
1107
1108 .1
1109  bss EM_PSIZE,0,0
1110 .2
1111  bss EM_WSIZE,0,0
1112
1113  pro $ctch,0
1114  lol 0
1115  loc EHEAP
1116  beq *1
1117  lae .1
1118  loi EM_PSIZE
1119  sig
1120  asp EM_PSIZE
1121  lol 0
1122  trp
1123  rtt
1124 1
1125  loc 1
1126  ste .2
1127  rtt
1128  end
1129
1130
1131  exp $_brk
1132  pro $_brk,0
1133  lpi $ctch
1134  sig
1135  lae .1
1136  sti EM_PSIZE
1137  loc 0
1138  ste .2
1139  lal 0
1140  loi EM_PSIZE
1141  str 2          ; The - possibly - occurring trap is caught
1142  lae .1
1143  loi EM_PSIZE
1144  sig
1145  asp EM_PSIZE
1146  loe .2
1147  zgt *1
1148  zer EM_PSIZE
1149  ret EM_PSIZE
1150 1
1151  loc -1
1152  loc EM_WSIZE
1153  loc EM_PSIZE
1154  cii
1155  ret EM_PSIZE
1156  end
1157 r_close.e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\8f\0#
1158  mes 2,EM_WSIZE,EM_PSIZE
1159  exp $_close
1160  pro $_close,0
1161  lol 0
1162  loc 6
1163  mon
1164  zne *1
1165  loc 0
1166  ret EM_WSIZE
1167 1
1168  ste errno
1169  loc -1
1170  ret EM_WSIZE
1171  end
1172  _creat.e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0¬\0#
1173  mes 2,EM_WSIZE,EM_PSIZE
1174  exp $_creat
1175  pro $_creat,0
1176  lal 0
1177  loi EM_WSIZE+EM_PSIZE
1178  loc 8
1179  mon
1180  zeq *1
1181  ste errno              ; since e==r0
1182  loc -1
1183 1
1184  ret EM_WSIZE
1185  end
1186 _dup.e\0e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\85\0#
1187  mes 2,EM_WSIZE,EM_PSIZE
1188  exp $_dup
1189  pro $_dup,0
1190  lol 0
1191  dup EM_WSIZE
1192  loc 41
1193  mon
1194  zeq *1
1195  ste errno
1196  loc -1
1197 1
1198  ret EM_WSIZE
1199  end
1200 n_dup2.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\9f\0#
1201  mes 2,EM_WSIZE,EM_PSIZE
1202  exp $_dup2
1203  pro $_dup2,0
1204  lal 0
1205  loi 2*EM_WSIZE
1206  loc 64
1207  ior EM_WSIZE
1208  loc 41
1209  mon
1210  zeq *1
1211  ste errno
1212  loc -1
1213 1
1214  ret EM_WSIZE
1215  end
1216 M_execl.e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0§\0#
1217  mes 2,EM_WSIZE,EM_PSIZE
1218  exp $_execl
1219  pro $_execl,0
1220  lae _penvp
1221  loi EM_PSIZE
1222  lal EM_PSIZE
1223  lal 0
1224  loi EM_PSIZE
1225  loc 59
1226  mon
1227  ste errno
1228  loc -1
1229  ret EM_WSIZE
1230  end
1231  _execve.e\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\83\0#
1232  mes 2,EM_WSIZE,EM_PSIZE
1233  exp $_execve
1234  pro $_execve,0
1235  lal 0
1236  loi 3*EM_PSIZE
1237  loc 59
1238  mon
1239  ste errno
1240  loc -1
1241  ret EM_WSIZE
1242  end
1243 t_exit.e\0e\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0M\0#
1244  mes 2,EM_WSIZE,EM_PSIZE
1245  exp $_exit
1246  pro $_exit,0
1247  lol 0
1248  loc 1
1249  mon
1250  end
1251 Z_fork.e\0e\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\9f\0#
1252  mes 2,EM_WSIZE,EM_PSIZE
1253
1254  exp $_fork
1255  pro $_fork,0
1256  loc 2
1257  mon
1258  zeq *1
1259  ste errno
1260  loc -1
1261  ret EM_WSIZE
1262 1
1263  zeq *2
1264  asp EM_WSIZE
1265  loc 0
1266 2
1267  ret EM_WSIZE
1268  end
1269 Z_fstat.e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0§\0#
1270  mes 2,EM_WSIZE,EM_PSIZE
1271  exp $_fstat
1272  pro $_fstat,0
1273  lal 0
1274  loi EM_WSIZE+EM_PSIZE
1275  loc 28
1276  mon
1277  zne *1
1278  loc 0
1279  ret EM_WSIZE
1280 1
1281  ste errno
1282  loc -1
1283  ret EM_WSIZE
1284  end
1285  _ftime.e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\9a\0#
1286  mes 2,EM_WSIZE,EM_PSIZE
1287  exp $_ftime
1288  pro $_ftime,0
1289  lal 0
1290  loi EM_PSIZE
1291  loc 35
1292  mon
1293  zne *1
1294  loc 0
1295  bra *2
1296 1
1297  ste errno
1298  loc -1
1299 2
1300  ret EM_WSIZE
1301  end
1302 _getpid.e\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0Y\0#
1303  mes 2,EM_WSIZE,EM_PSIZE
1304  exp $_getpid
1305  pro $_getpid,0
1306  loc 20
1307  mon
1308  ret EM_WSIZE
1309  end
1310  _gtty.c\0e\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0²\0/* $Id: _gtty.c,v 1.2 1994/06/24 12:17:33 ceriel Exp $ */
1311 #include <sgtty.h>
1312 int
1313 _gtty(fildes,argp) int fildes ; struct sgttyb *argp ; {
1314         return _ioctl(fildes,TIOCGETP,argp) ;
1315 }
1316 _stty.c\0e\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0²\0/* $Id: _stty.c,v 1.2 1994/06/24 12:17:36 ceriel Exp $ */
1317 #include <sgtty.h>
1318 int
1319 _stty(fildes,argp) int fildes ; struct sgttyb *argp ; {
1320         return _ioctl(fildes,TIOCSETP,argp) ;
1321 }
1322 _ioctl.e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0©\0#
1323  mes 2,EM_WSIZE,EM_PSIZE
1324  exp $_ioctl
1325  pro $_ioctl,0
1326  lal 0
1327  loi EM_PSIZE+2*EM_WSIZE
1328  loc 54
1329  mon
1330  zne *1
1331  loc 0
1332  ret EM_WSIZE
1333 1
1334  ste errno
1335  loc -1
1336  ret EM_WSIZE
1337  end
1338 r_kill.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\8e\0#
1339  mes 2,EM_WSIZE,EM_PSIZE
1340  exp $_kill
1341  pro $_kill,0
1342  ldl 0
1343  loc 37
1344  mon
1345  zne *1
1346  loc 0
1347  ret EM_WSIZE
1348 1
1349  ste errno
1350  loc -1
1351  ret EM_WSIZE
1352  end
1353 _link.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\9d\0#
1354  mes 2,EM_WSIZE,EM_PSIZE
1355  exp $_link
1356  pro $_link,0
1357  lal 0
1358  loi 2*EM_PSIZE
1359  loc 9
1360  mon
1361  zne *1
1362  loc 0
1363  ret EM_WSIZE
1364 1
1365  ste errno
1366  loc -1
1367  ret EM_WSIZE
1368  end
1369 __lseek.e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0X\ 1#
1370  mes 2,EM_WSIZE,EM_PSIZE
1371  exp $_lseek
1372  pro $_lseek,0
1373  lal 0
1374  loi 4*EM_WSIZE
1375  loc 19
1376  mon
1377  zeq *1
1378  ste errno
1379 #if EM_WSIZE==1
1380  ldc -1
1381  loc 2
1382  loc 4
1383  cii
1384 #endif
1385 #if EM_WSIZE==2
1386  ldc -1
1387 #endif
1388 #if EM_WSIZE==4
1389  loc -1
1390 #endif
1391 1
1392 #if EM_WSIZE==1
1393  ret 4*EM_WSIZE
1394 #endif
1395 #if EM_WSIZE==2
1396  ret 2*EM_WSIZE
1397 #endif
1398 #if EM_WSIZE==4
1399  ret EM_WSIZE
1400 #endif
1401  end
1402 _open.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\8f\0#
1403  mes 2,EM_WSIZE,EM_PSIZE
1404  exp $_open
1405  pro $_open,0
1406  lal 0
1407  loi EM_WSIZE+EM_PSIZE
1408  loc 5
1409  mon
1410  zeq *1
1411  ste errno
1412  loc -1
1413 1
1414  ret EM_WSIZE
1415  end
1416 o_pause.e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0P\0#
1417  mes 2,EM_WSIZE,EM_PSIZE
1418  exp $_pause
1419  pro $_pause,0
1420  loc 29
1421  mon
1422  ret 0
1423  end
1424 _pipe.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0±\0#
1425  mes 2,EM_WSIZE,EM_PSIZE
1426  exp $_pipe
1427  pro $_pipe,0
1428  loc 42
1429  mon
1430  zeq *1
1431  ste errno
1432  loc -1
1433  ret EM_WSIZE
1434 1
1435  lal 0
1436  loi EM_PSIZE
1437  stf EM_WSIZE
1438  sil 0
1439  loc 0
1440  ret EM_WSIZE
1441  end
1442 l_read.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0ò\0#
1443  mes 2,EM_WSIZE,EM_PSIZE
1444  exp $_read
1445  pro $_read,0
1446  lol EM_WSIZE+EM_PSIZE
1447  loc EM_WSIZE
1448  loc EM_PSIZE
1449  ciu
1450  lal 0
1451  loi EM_WSIZE+EM_PSIZE
1452  loc 3
1453  mon
1454  zne *1
1455  loc EM_PSIZE
1456  loc EM_WSIZE
1457  cui
1458  bra *2
1459 1
1460  ste errno
1461  loc -1
1462 2
1463  ret EM_WSIZE
1464  end
1465 _sbrk.e\0\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\9a\ 2#
1466 #include <em_abs.h>
1467
1468  mes 2,EM_WSIZE,EM_PSIZE
1469
1470 .1
1471  bss EM_PSIZE,0,0
1472 .2
1473  bss EM_WSIZE,0,0
1474
1475  pro $ctch,0
1476  lol 0
1477  loc EHEAP
1478  beq *1
1479  lae .1
1480  loi EM_PSIZE
1481  sig
1482  asp EM_PSIZE
1483  lol 0
1484  trp
1485  rtt
1486 1
1487  loc 1
1488  ste .2
1489  rtt
1490  end
1491
1492
1493  exp $_sbrk
1494  pro $_sbrk,0
1495  lor 2
1496  lor 2
1497  lpi $ctch
1498  sig
1499  lae .1
1500  sti EM_PSIZE
1501  loc 0
1502  ste .2
1503  lol 0
1504  ads EM_WSIZE   ; this is the new heap pointer, but watch out for overflow!
1505  dup EM_PSIZE
1506  lor 2
1507  cmp            ; compare with old heap pointer
1508  zlt *1
1509  str 2          ; The - possibly - occurring trap is caught
1510  lae .1
1511  loi EM_PSIZE
1512  sig
1513  asp EM_PSIZE
1514  loe .2
1515  zgt *1
1516  ret EM_PSIZE
1517 1
1518  asp EM_PSIZE
1519  loc -1
1520  loc EM_WSIZE
1521  loc EM_PSIZE
1522  cii
1523  ret EM_PSIZE
1524  end
1525 _times.e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0e\0#
1526  mes 2,EM_WSIZE,EM_PSIZE
1527  exp $_times
1528  pro $_times,0
1529  lal 0
1530  loi EM_PSIZE
1531  loc 43
1532  mon
1533  ret 0
1534  end
1535 h_unlink.e\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0 \0#
1536  mes 2,EM_WSIZE,EM_PSIZE
1537  exp $_unlink
1538  pro $_unlink,0
1539  lal 0
1540  loi EM_PSIZE
1541  loc 10
1542  mon
1543  zne *1
1544  loc 0
1545  ret EM_WSIZE
1546 1
1547  ste errno
1548  loc -1
1549  ret EM_WSIZE
1550  end
1551 _wait.e\0e\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0\91\ 1#
1552  mes 2,EM_WSIZE,EM_PSIZE
1553 #if EM_WSIZE<4
1554 #define STATUS_SIZE 2
1555 #else
1556 #define STATUS_SIZE EM_WSIZE
1557 #endif
1558  exp $_wait
1559  pro $_wait,0
1560  loc 7
1561  mon
1562  zne *1
1563  lal 0
1564  loi EM_PSIZE
1565  zer EM_PSIZE
1566  cms EM_PSIZE
1567  zeq *2
1568 #if EM_WSIZE==1
1569  lal 0
1570  loi EM_PSIZE
1571  sti 2                  ; 2 bytes, not one int!
1572 #else
1573  sil 0
1574 #endif
1575  ret EM_WSIZE
1576 2
1577  asp STATUS_SIZE
1578  ret EM_WSIZE
1579 1
1580  ste errno
1581  loc -1
1582  ret EM_WSIZE
1583  end
1584 S_write.e\0\0\0\0\0\0\0\0\0\0\ 2\ 2¤\ 1\0\0ô\0#
1585  mes 2,EM_WSIZE,EM_PSIZE
1586  exp $_write
1587  pro $_write,0
1588  lol EM_WSIZE+EM_PSIZE
1589  loc EM_WSIZE
1590  loc EM_PSIZE
1591  ciu
1592  lal 0
1593  loi EM_WSIZE+EM_PSIZE
1594  loc 4
1595  mon
1596  zne *1
1597  loc EM_PSIZE
1598  loc EM_WSIZE
1599  cui
1600  bra *2
1601 1
1602  ste errno
1603  loc -1
1604 2
1605  ret EM_WSIZE
1606  end