Mercurial > hg > Members > kono > nitros9-code
view level1/cmds/procs.asm @ 2758:e4a0f58a5f9b
Found that people who do not have the envirornment variable NITROS9DIR set before building the project get a error missing file "/rules.mak". Found this is caused do to the fact that the code to set this envirornment variable is in the rules.mak which can't get loaded.
To fix this the code needed to set the envirornment variable that is in the rules.mak is now in the makefile(s) right before the include for the rules.mak file. This should fix the problem for those who do not have the NITROS9DIR envirornment variable preset.
author | drencor-xeen |
---|---|
date | Mon, 14 Jan 2013 14:37:46 -0600 |
parents | 84ea83668304 |
children |
line wrap: on
line source
******************************************************************** * Procs - Show processes * * $Id$ * * Edt/Rev YYYY/MM/DD Modified by * Comment * ------------------------------------------------------------------ * 9 ????/??/?? * From Tandy OS-9 Level One VR 02.00.00. * * 10 2003/01/14 Boisy G. Pitre * Now uses -e instead of e. nam Procs ttl program module * Disassembled 02/04/05 13:22:14 by Disasm v1.6 (C) 1988 by RML ifp1 use defsfile endc tylg set Prgrm+Objct atrv set ReEnt+rev rev set $00 edition set 10 mod eom,name,tylg,atrv,start,size org 0 narrow rmb 1 eflag rmb 1 aproc rmb 2 wproc rmb 2 sproc rmb 2 myuid rmb 2 u000A rmb 1 bufptr rmb 2 buffer rmb 87 u0064 rmb 132 u00E8 rmb 2156 PsBuf rmb 450 size equ . name fcs /Procs/ fcb edition L0013 fcb C$LF fcc "Usr # id pty sta mem pri mod" fcb C$CR DshSh fcs "----- --- --- --- --- -------" ActSh fcs " act " WaiSh fcs " wai " SleSh fcs " sle " L005E fcb C$LF fcc "Usr # id pty state mem primary module" fcb C$CR DshLo fcs "----- --- --- -------- --- --------------" ActLo fcs " active " WaiLo fcs " waiting " SleLo fcs " sleeping " start clr <eflag clr <narrow pshs y,x,b,a lda #$01 ldb #SS.ScSiz os9 I$GetStt bcc L00E8 cmpb #E$UnkSvc beq L00EF puls y,x,b,a lbra L01F1 L00E8 cmpx #50 bge L00EF inc <narrow L00EF puls y,x,b,a * * Check for a '-E' as argument * ldd ,x+ andb #$DF cmpd #$2D45 bne L00FB inc <eflag L00FB leax buffer,u stx <bufptr orcc #IntMasks ldx >D.AProcQ stx <aproc ldx >D.WProcQ stx <wproc ldx >D.SProcQ stx <sproc ldx >D.Proc ldd P$User,x std <myuid pshs u leau >PsBuf,u Assign buffer to reg u lda #$01 ldx <aproc lbsr LoopP lda #$02 ldx <wproc lbsr LoopP lda #$03 ldx <sproc lbsr LoopP andcc #^IntMasks clra clrb pshu b,a pshu b,a puls u tst <narrow beq L0156 leay >L0013,pcr lbsr WritY lbsr WrBuf leay >DshSh,pcr Write short dashes lbsr WritY lbsr WrBuf bra L016A * Write 80 char header L0156 leay >L005E,pcr lbsr WritY lbsr WrBuf leay >DshLo,pcr Write long dashes lbsr WritY lbsr WrBuf L016A leax >PsBuf,u NextW leax -$09,x ldd $05,x beq Finish ldd $07,x lbsr L0250 lbsr WrSpc Write Space ldb ,x lbsr L0214 lbsr WrSpc Write Space ldb $03,x lbsr L0214 lda $04,x tst <narrow beq L0195 leay >ActSh,pcr bra L0199 L0195 leay >ActLo,pcr L0199 cmpa #$01 beq L01BD branch if status is active tst <narrow beq L01A7 leay >WaiSh,pcr bra L01AB L01A7 leay >WaiLo,pcr L01AB cmpa #$02 beq L01BD branch if status is waiting tst <narrow beq L01B9 leay >SleSh,pcr bra L01BD L01B9 leay >SleLo,pcr L01BD bsr WritY ldb $02,x bsr L0214 bsr WrSpc Write Space ldy $05,x ldd $04,y leay d,y bsr WritY bsr WrSpc Write Space tst <narrow bne L01EB lda #'< bsr WriCh lda $01,x lbsr L02B5 bcs L01EB ldy $03,y ldy $04,y ldd $04,y leay d,y bsr WritY L01EB bsr WrBuf lbra NextW Next line Finish clrb L01F1 os9 F$Exit * * Write text pointed to by Reg Y to buffer * WritY lda ,y anda #$7F bsr WriCh lda ,y+ bpl WritY rts * * Write out buffer to stdout (max 80 chars) * WrBuf pshs y,x,a lda #C$CR bsr WriCh leax buffer,u stx <bufptr ldy #80 lda #$01 os9 I$WritLn puls pc,y,x,a L0214 clr <u000A lda #$FF L0218 inca subb #100 bcc L0218 bsr L022E lda #10 L0221 deca addb #10 bcc L0221 bsr L022E tfr b,a adda #'0 bra WriCh L022E tsta beq L0233 sta <u000A L0233 tst <u000A bne L0239 WrSpc lda #$F0 L0239 adda #'0 * * Add char to buffer pointed to by bufptr * WriCh pshs x ldx <bufptr sta ,x+ stx <bufptr puls pc,x L0245 fcb $27,$10,$03,$e8,$00,$64,$00,$0a,$00,$01,$ff L0250 pshs x,y,a,b leax <L0245,pcr ldy #$2F20 L0259 leay >$0100,y subd ,x bcc L0259 addd ,x++ pshs b,a tfr y,d tst ,x bmi L0281 ldy #$2F30 cmpd #$3020 bne L027B ldy #$2F20 lda #C$SPAC L027B bsr WriCh puls b,a bra L0259 L0281 bsr WriCh leas $02,s puls pc,y,x,b,a * * Loop through list of processes * Reg X contains the pointer * LoopP pshs y,b,a leax ,x point to first entry in queue beq EndP NextP ldd P$User,x tst <eflag bne L0298 cmpd <myuid bne ContP L0298 pshu b,a put userid on stack lda P$Prior,x ldb ,s ldy <P$PModul,x pshu y,b,a put module,priority,status on stack lda P$PagCnt,x pshu a put pagecount on stack lda P$ID,x ldb <P$PATH,x pshu b,a ContP ldx P$Queue,x bne NextP EndP puls pc,y,b,a L02B5 pshs x,b,a ldx >D.PthDBT tsta beq L02CC clrb lsra rorb lsra rorb lda a,x tfr d,y beq L02CC tst ,y bne L02CD L02CC coma L02CD puls pc,x,b,a emod eom equ * end