NEW AUTO 3,1 .LIST OFF .OP 65C02 .OR $2000 .TF bin/lsof *-------------------------------------- .INB inc/macros.i .INB inc/mli.i .INB inc/a2osx.i .INB inc/kernel.i *-------------------------------------- .DUMMY .OR ZPBIN ZS.START ZPFDPtr .BS 2 ZPFNPtr .BS 2 FILE.ID .BS 2 ZS.END .ED *-------------------------------------- * File Header (16 Bytes) *-------------------------------------- CS.START cld jmp (.1,x) .DA #$61 6502,Level 1 (65c02) .DA #1 BIN Layout Version 1 .DA 0 .DA CS.END-CS.START CS .DA DS.END-DS.START DS .DA #16 SS .DA #ZS.END-ZS.START Zero Page Size .DA 0 *-------------------------------------- * Relocation Table *-------------------------------------- .1 .DA CS.INIT .DA CS.RUN .DA CS.EVENT .DA CS.QUIT L.MSG.HEADER .DA MSG.HEADER L.MSG.BODY .DA MSG.BODY L.FD.T .DA FD.T.REG .DA FD.T.DIR .DA FD.T.CDEV .DA FD.T.BDEV .DA FD.T.LNK .DA FD.T.DSOCK .DA FD.T.SSOCK .DA FD.T.PIPE .DA 0 *-------------------------------------- CS.INIT clc rts *-------------------------------------- CS.RUN >LDYA L.MSG.HEADER >SYSCALL PutS ldx #1 .1 stx FILE.ID ldy FILEs.hFD-1,x beq .7 lda FDs.pLO-1,y sta ZPFDPtr lda FDs.pHI-1,y sta ZPFDPtr+1 >PUSHW L.MSG.BODY txa >PUSHA lda (ZPFDPtr) tay >PUSHW L.FD.T,y lda FILEs.hFD-1,x >PUSHA >PUSHW ZPFDPtr lda FILEs.oCnt-1,x >PUSHA lda FILEs.hName-1,x beq .2 >SYSCALL GetMemPtr bra .6 .2 lda ZPFDPtr clc adc #S.FD.DEV tay lda ZPFDPtr+1 adc /S.FD.DEV .6 >PUSHYA >PUSHBI 9 >SYSCALL PrintF * bcs .9 .7 ldx FILE.ID inx cpx #K.FILE.MAX+1 bcc .1 lda #0 * sec .9 rts *-------------------------------------- CS.EVENT sec rts *-------------------------------------- CS.QUIT clc rts *-------------------------------------- CS.END MSG.HEADER .CZ "hFILE Type hFD pFD Cnt Filepath" MSG.BODY .CZ " %3d %4s %3d %H %3d %s\r\n" FD.T.REG .CZ "REG" FD.T.DIR .CZ "DIR" FD.T.CDEV .CZ "CDEV" FD.T.BDEV .CZ "BDEV" FD.T.LNK .CZ "LNK" FD.T.DSOCK .CZ "DSCK" FD.T.SSOCK .CZ "SSCK" FD.T.PIPE .CZ "PIPE" *-------------------------------------- .DUMMY .OR 0 DS.START DS.END .ED *-------------------------------------- MAN SAVE usr/src/bin/lsof.s ASM