lea retarea,a1 !a1 POINTS AT RETURN AREA
move.l nd,-(sp) !nd contains endbss
- bsr _break
+ bsr _Xbreak
add.l wrd,sp
#if last
move.l #126,d0 !initialise lasttable
cl -(sp)
move.l (a2),-(sp)
lea eb,a6
- bsr _open
+ bsr _Xopen
testen (sp)+
bne nofile
mov (sp)+,savefd
!information about file for error mess.
move.l #16,-(sp) ; pea header
mov savefd,-(sp) !skip first header
- bsr _read ; testen (sp)+
+ bsr _Xread ; testen (sp)+
bne badarg1
move.l #32,(sp)
pea header
mov savefd,-(sp)
- bsr _read
+ bsr _Xread
testen (sp)+
bne badarg1
cmp.l #32,(sp)+
add.l szdata,a0 ; move.l a0,tblmax
move.l a0,globmax ; move.l a0,hp
add.l #2000,a0 ; move.l a0,-(sp)
- bsr _break !ask for core
+ bsr _Xbreak !ask for core
testen (sp)+ ; bne toolarge
move.l eb,a6 ; move.l filb,4(a6)
move.l ntext,-(sp)
move.l pb,-(sp)
mov savefd,-(sp)
- bsr _read
+ bsr _Xread
testen (sp)+ ; bne badarg
add.l #4,sp
#if float
move.l sp,a4 !transport ptr a4
move.l sp,a5
move.l #2048,-(sp) ; move.l a4,-(sp)
- mov savefd,-(sp) ; bsr _read
+ mov savefd,-(sp) ; bsr _Xread
testen (sp)+ ; bne badarg
move.l (sp)+,d0
cmp.l #2048,d0 ; bcs 0f
0: move.l (a5)+,(a0)+ ; sub.w #1,d0
bgt 0b ; move.l a0,a5
move.l a5,-(sp) ; mov savefd,-(sp)
- bsr _read
+ bsr _Xread
testen (sp)+ ; bne badarg
move.l (sp)+,d0
cmp.l #1024,d0 ; beq 1f
ble 3f ; bsr blshift !more or ready
bra 4b
3: cmp.l eb,a3 ; bne badarg
- move.l savefd,-(sp) ; bsr _close
+ move.l savefd,-(sp) ; bsr _Xclose
move.l ml,sp !refresh stack
#if count+prof+flow
cmp.l nd,d1
bcs 2f
move.l d1,-(sp)
- bsr _break
+ bsr _Xbreak
testen (sp)+
bne toolarge
2: sub.l a3,d1
cmp.l tblmax,d1 ; bcs 4f
5: move.l d1,hp ; jmp (a4)
3: move.l d1,-(sp) ; add.l #1280,(sp)
- bsr _break ; testen (sp)+
+ bsr _Xbreak ; testen (sp)+
4: bne e_heap ; bra 5b
!----------------------------------------------------------------------------
bsr itoa
move.l #45,-(sp)
pea nopln ; mov #1,-(sp)
- bsr _write
+ bsr _Xwrite
add.l wrd+4,sp
jmp (a4)
.sect .data
syscal:
-.data4 e_badmon ; .data4 hlt_z ; .data4 _fork ; .data4 _read
-.data4 _write ; .data4 _open ; .data4 _close ; .data4 _wait
-.data4 _creat ; .data4 _link ; .data4 _unlink ; .data4 e_badmon
-.data4 _chdir ; .data4 e_badmon ; .data4 _mknod ; .data4 _chmod
-.data4 _chown ; .data4 _break ; .data4 _stat ; .data4 _lseek
-.data4 _getpid ; .data4 _mount ; .data4 _umount ; .data4 _setuid
-.data4 _getuid ; .data4 _stime ; .data4 _ptrace ; .data4 _alarm
-.data4 _fstat ; .data4 _pause ; .data4 _utime ; .data4 e_badmon
-.data4 e_badmon ; .data4 _access ; .data4 _nice ; .data4 _ftime
-.data4 _sync ; .data4 _kill ; .data4 e_badmon ; .data4 e_badmon
-.data4 e_badmon ; .data4 _dup ; .data4 _pipe ; .data4 _times
-.data4 _profil ; .data4 e_badmon ; .data4 _setgid ; .data4 _getgid
-.data4 _sigtrp ; .data4 e_badmon ; .data4 e_badmon ; .data4 _acct
-.data4 e_badmon ; .data4 _lock ; .data4 _ioctl ; .data4 e_badmon
-.data4 _mpxcall ; .data4 e_badmon ; .data4 e_badmon ; .data4 _exece
-.data4 _umask ; .data4 _chroot ; .data4 e_badmon ; .data4 e_badmon
+.data4 e_badmon, hlt_z, _Xfork, _Xread
+.data4 _Xwrite, _Xopen, _Xclose, _Xwait
+.data4 _Xcreat, _Xlink, _Xunlink, e_badmon
+.data4 _Xchdir, e_badmon, _Xmknod, _Xchmod
+.data4 _Xchown, _Xbreak, _Xstat, _Xlseek
+.data4 _Xgetpid, _Xmount, _Xumount, _Xsetuid
+.data4 _Xgetuid, _Xstime, _Xptrace, _Xalarm
+.data4 _Xfstat, _Xpause, _Xutime, e_badmon
+.data4 e_badmon, _Xaccess, _Xnice, _Xftime
+.data4 _Xsync, _Xkill, e_badmon, e_badmon
+.data4 e_badmon, _Xdup, _Xpipe, _Xtimes
+.data4 _Xprofil, e_badmon, _Xsetgid, _Xgetgid
+.data4 _sigtrp, e_badmon, e_badmon, _Xacct
+.data4 e_badmon, _Xlock, _Xioctl, e_badmon
+.data4 e_badmon, e_badmon, e_badmon, _Xexece
+.data4 _Xumask, _Xchroot, e_badmon, e_badmon
.sect .text
move.l #20,-(sp)
pea 0(a0,d0)
mov #2,-(sp) !STANDARD ERROR
- bsr _write
+ bsr _Xwrite
add.l wrd+4,sp
!NEXT INFORMATION ABOUT THE LINE NUMBER
move.l (a6),d1
move.l #30,-(sp)
pea emess
mov #2,-(sp)
- bsr _write
+ bsr _Xwrite
add.l wrd+4,sp
!NOW INFORMATION ABOUT THE FILES
2: move.l 4(a6),a0
bne 1b
move.l d0,4(sp)
mov #2,-(sp)
- bsr _write
+ bsr _Xwrite
add.l wrd+4,sp
5: move.w #0x0A,-(sp)
move.l #2,-(sp)
pea 4(sp)
mov #2,-(sp)
- bsr _write
+ bsr _Xwrite
add.l wrd+6,sp
comp #0xB,(sp)
beq 1f
beq lhalt
mov #0x1B6,-(sp)
pea emprof
- bsr _creat
+ bsr _Xcreat
testen (sp)+
mov (sp)+,d0
move.l ltime,a4 !a4 points at bottem of prof table
beq lhalt
mov #0x1B6,-(sp)
pea emflow
- bsr _creat
+ bsr _Xcreat
testen (sp)+
mov (sp)+,d0
move.l flowsiz,-(sp)
move.l lflow,-(sp)
mov d0,-(sp)
- bsr _write
+ bsr _Xwrite
add.l wrd+4,sp
.sect .data
emflow: .asciz "em_flow\0"
beq lhalt
mov #0x1B6,-(sp)
pea emcount
- bsr _creat
+ bsr _Xcreat
testen (sp)+
mov (sp)+,d0
move.l lcount,a4
.sect .text
mov #0x1B6,-(sp)
pea emopf
- bsr _creat
+ bsr _Xcreat
testen (sp)+
mov (sp)+,d0
move.l #1884,-(sp)
pea counttab
mov d0,-(sp)
- bsr _write
+ bsr _Xwrite
add.l wrd+4,sp
#endif
#if count+flow+prof
.sect .text
mov #0x1B6,-(sp)
pea emlast
- bsr _creat
+ bsr _Xcreat
testen (sp)+
mov (sp)+,d6 !d6 contains file descriptor
cmp.l #-1,linused-4 !test if buffer is fully used
move.l #22,-(sp) !here case no lines processed
pea mess1
mov d6,-(sp)
- bsr _write
+ bsr _Xwrite
add.l wrd+4,sp
bra 9f
2: move.l #7,-(sp) !announce new file name
pea mess2
mov d6,-(sp)
- bsr _write
+ bsr _Xwrite
add.l wrd+4,sp
move.l (a5),d7
move.l d7,a0 !keep file pointer in d7
move.l d1,-(sp)
move.l d7,-(sp)
mov d6,-(sp)
- bsr _write
+ bsr _Xwrite
add.l wrd+4,sp
4: move.l (a5),d1 !next print line numbers
lea mess3,a0
move.l #12,-(sp)
pea mess3
mov d6,-(sp)
- bsr _write
+ bsr _Xwrite
add.l wrd+4,sp
bsr nexttab
tst.l (a5) !in case 0 no more lines
linused: .space 4
#endif
.sect .text
-halt: bsr _exit
+halt: bsr _Xexit
.sect .data
emerr:
move.l d1,-(sp)
move.l a2,-(sp)
mov 8(sp),-(sp) !WRITE FILE NAME.
- bsr _write
+ bsr _Xwrite
add.l wrd+4,sp !CLEAN STACK.
6: sub.l d6,d7 !IN d7 NUMBER OF LINES OF CURRENT PROC.
asl.l #2,d6
move.l #23,-(sp)
pea buffer
mov 8(sp),-(sp)
- bsr _write !PRINT LINE NUMBER AND INTEGER .
+ bsr _Xwrite !PRINT LINE NUMBER AND INTEGER .
add.l wrd+4,sp !CLEAN STACK.
add.l #1,d5 !NEXT LINE NUMBER .
add.l #4,d6 !NEXT COUNT.
bcc 1f
move.l sig_adr-4(a0),d3 !Get the pointer to the trap-
bne 2f !procedure to give as argument to
-sig_bad: mov 22,-(sp) !_signal. If pointer 0 trapping is
+sig_bad: mov 22,-(sp) !_Xsignal. If pointer 0 trapping is
mov 22,-(sp) !not legal
jmp (a4)
1: comp #-3,d1 !-2:reset default , -3: ignore
2: move.l d1,(a5) !set new trapno
move.l d3,-(sp) !set arguments to signal:
mov d4,-(sp) !pointer ,signo to be trapped
- bsr _signal
+ bsr _Xsignal
jmp (a4)
.sect .data
sig_adr: .data4 sig1 ; .data4 sig2 ; .data4 sig3 ; .data4 0
sig12: pea sig12
mov #12,-(sp)
- bsr _signal
+ bsr _Xsignal
bsr e_badmon
rtr
sig11: move.l 4(a1),d0
!POINTERS , AND USES THE C-CALLING CONVENTION. THE 2 BYTE WORDS 4 BYTE
!POINTERS VERSION HAS TO DO SOME CONVERSION FIRST .
-_exit: move.l (sp),(a1)
+_Xexit: move.l (sp),(a1)
#ifndef lword
bsr st241
#endif
trap #0
.data2 1
-_fork: move.l (sp),(a1)
+_Xfork: move.l (sp),(a1)
trap #0
.data2 2
lea 4(sp),sp
mov d0,-(sp)
3: move.l (a1),a0
jmp (a0)
-!_fork is special
+!_Xfork is special
-_read: move.l (sp),(a1)
+_Xread: move.l (sp),(a1)
#ifndef lword
bsr st241
#endif
2: move.l (a1),a0
jmp (a0)
-_write: move.l (sp),(a1)
+_Xwrite: move.l (sp),(a1)
#ifndef lword
bsr st241
#endif
.data2 4
bra sys0
-_open: move.l (sp),(a1)
+_Xopen: move.l (sp),(a1)
#ifndef lword
bsr st243
#endif
2: move.l (a1),a0
jmp (a0)
-_close: move.l (sp),(a1)
+_Xclose: move.l (sp),(a1)
#ifndef lword
bsr st241
#endif
2: move.l (a1),a0
jmp (a0)
-_wait: move.l (sp),(a1)
+_Xwait: move.l (sp),(a1)
trap #0
.data2 7
sys6: lea 4(sp),sp
2: move.l (a1),a0
jmp (a0)
-_creat: move.l (sp),(a1)
+_Xcreat: move.l (sp),(a1)
#ifndef lword
bsr st243
#endif
.data2 8
bra sys1
-_link: move.l (sp),(a1)
+_Xlink: move.l (sp),(a1)
trap #0
.data2 9
lea 12(sp),sp
bra sys4
-_unlink: move.l (sp),(a1)
+_Xunlink: move.l (sp),(a1)
trap #0
.data2 10
bra sys3
-_chdir: move.l (sp),(a1)
+_Xchdir: move.l (sp),(a1)
trap #0
.data2 12
bra sys3
-_mknod: move.l (sp),(a1)
+_Xmknod: move.l (sp),(a1)
#ifndef lword
bsr st244
#endif
lea 16(sp),sp
bra sys4
-_chmod: move.l (sp),(a1)
+_Xchmod: move.l (sp),(a1)
#ifndef lword
bsr st243
#endif
lea 12(sp),sp
bra sys4
-_chown: move.l (sp),(a1)
+_Xchown: move.l (sp),(a1)
#ifndef lword
bsr st244
#endif
lea 16(sp),sp
bra sys4
-_break: move.l (sp),(a1)
+_Xbreak: move.l (sp),(a1)
trap #0
.data2 17
lea 8(sp),sp
nd: .data4 endbss
.sect .text
-_stat: move.l (sp),(a1)
+_Xstat: move.l (sp),(a1)
trap #0
.data2 18
lea 12(sp),sp
bra sys4
-_lseek: move.l (sp),(a1)
+_Xlseek: move.l (sp),(a1)
#ifndef lword
bsr st245
#endif
jmp (a0)
-_getpid: move.l (sp),(a1)
+_Xgetpid: move.l (sp),(a1)
trap #0
.data2 20
add.l #4,sp
move.l (a1),a0
jmp (a0)
-_mount: move.l (sp),(a1)
+_Xmount: move.l (sp),(a1)
#ifndef lword
bsr st246
#endif
lea 16(sp),sp
bra sys4
-_umount: move.l (sp),(a1)
+_Xumount: move.l (sp),(a1)
trap #0
.data2 22
bra sys3
-_setuid: move.l (sp),(a1)
+_Xsetuid: move.l (sp),(a1)
#ifndef lword
bsr st241
#endif
.data2 23
bra sys3
-_getuid: move.l (sp),(a1)
+_Xgetuid: move.l (sp),(a1)
trap #0
.data2 24
sys7: add.l #4,sp
move.l (a1),a0
jmp (a0)
-_stime: move.l (sp),(a1)
+_Xstime: move.l (sp),(a1)
trap #0
.data2 25
bra sys3
-_ptrace: move.l (sp),(a1)
+_Xptrace: move.l (sp),(a1)
#ifndef lword
bsr st247
#endif
lea 20(sp),sp
bra sys5
-_alarm: move.l (sp),(a1)
+_Xalarm: move.l (sp),(a1)
#ifndef lword
sub.l #2,sp
clr.w 4(sp)
move.l (a1),a0
jmp (a0)
-_fstat: move.l (sp),(a1)
+_Xfstat: move.l (sp),(a1)
#ifndef lword
bsr st241
#endif
lea 12(sp),sp
bra sys4
-_pause: trap #0
+_Xpause: trap #0
.data2 29
rts
-_utime: move.l (sp),(a1)
+_Xutime: move.l (sp),(a1)
trap #0
.data2 30
lea 12(sp),sp
bra sys4
-_access: move.l (sp),(a1)
+_Xaccess: move.l (sp),(a1)
#ifndef lword
bsr st248
#endif
lea 12(sp),sp
bra sys4
-_nice:
+_Xnice:
#ifndef lword
bsr 241
#endif
move.l (sp)+,(sp)
rts
-_ftime: move.l (sp),(a1)
+_Xftime: move.l (sp),(a1)
trap #0
.data2 35
bra sys3
-_sync: trap #0
+_Xsync: trap #0
.data2 36
rts
-_kill: move.l (sp),(a1)
+_Xkill: move.l (sp),(a1)
#ifndef lword
bsr st248
#endif
lea 12(sp),sp
bra sys4
-_dup: move.l (sp),(a1)
+_Xdup: move.l (sp),(a1)
#ifndef lword
bsr st248
#endif
.data2 38
bra sys1
-_pipe: move.l (sp),(a1)
+_Xpipe: move.l (sp),(a1)
trap #0
.data2 42
bra sys6
-_times: trap #0
+_Xtimes: trap #0
.data2 43
move.l (sp),a0
add.l #8,sp
jmp (a0)
-_profil: trap #0
+_Xprofil: trap #0
.data2 44
move.l (sp),a0
lea 20(sp),sp
jmp (a0)
-_setgid: move.l (sp),(a1)
+_Xsetgid: move.l (sp),(a1)
#ifndef lword
bsr st241
#endif
.data2 46
bra sys3
-_getgid: move.l (sp),(a1)
+_Xgetgid: move.l (sp),(a1)
trap #0
.data2 47
bra sys7
-_signal: move.l (sp)+,retaddr
+_Xsignal: move.l (sp)+,retaddr
mov (sp)+,d4
extend d4
move.l d4,-(sp)
retaddr: .data4 0
.sect .text
-_acct: move.l (sp),(a1)
+_Xacct: move.l (sp),(a1)
trap #0
.data2 51
bra sys3
-_lock: move.l (sp),(a1)
+_Xlock: move.l (sp),(a1)
#ifndef lword
bsr st241
#endif
.data2 53
bra sys3
-_ioctl: move.l (sp),(a1)
+_Xioctl: move.l (sp),(a1)
#ifndef lword
bsr st248
#endif
lea 16(sp),sp
bra sys4
-_mpxcall: move.l (sp),(a1)
-#ifndef lword
- bsr st241
-#endif
- trap #0
- .data2 56
- lea 12(sp),sp
- bra sys4
+!_Xmpxcall: move.l (sp),(a1)
+!#ifndef lword
+! bsr st241
+!#endif
+! trap #0
+! .data2 56
+! lea 12(sp),sp
+! bra sys4
-_exece: move.l (sp),(a1)
+_Xexece: move.l (sp),(a1)
trap #0
.data2 59
lea 16(sp),sp
bra sys4
-_umask: move.l (sp),(a1)
+_Xumask: move.l (sp),(a1)
#ifndef lword
bsr st241
#endif
move.l (a1),a0
jmp (a0)
-_chroot: move.l (sp),(a1)
+_Xchroot: move.l (sp),(a1)
trap #0
.data2 61
bra sys3