/ Decus C patch level 5, Compilation date: "Fri Nov 19 14:22:12 1982" .psect .data. lsw: .word 0 .even fsw: .word 0 .even usw: .word 0 .even found: .word 0 .even count: .word 0,0 .even total: .word 0,0 .even usersw: .word 0 .even alllist: .blkb 2 .even userlist: .blkb 2 .even user: .blkb 2 .even fufd: .blkb 12 .even fuser: .blkb 107 .even ufdfile: .psect .strn. .1: .byte 133,61,54,61,135,104,111,123,113,125,123,105,56 .byte 122,120,124,73,40,40,40,40,40,40,40,40,40,40,40 .byte 40,40,40,0 .psect .data. .word .1 .even s: .blkb 2 .even c: .blkb 2 .even .psect .prog. main: jsr r5,csv~ sub $126,sp jsr pc,tiatt cmp 4(r5),$3 ble .3 .psect .strn. .4: .byte 164,157,164,142,154,153,40,165,163,141,147,145 .byte 72,40,164,157,164,40,133,165,163,145,162,135,40 .byte 133,55,146,146,151,154,145,163,160,145,143,135 .byte 0 .psect .prog. mov $.4,-(sp) jsr pc,error tst (sp)+ .3: .6: dec 4(r5) ble .5 add $2,6(r5) mov 6(r5),r0 mov (r0),r0 movb (r0),*s movb *s,r0 br .10 .11: mov *6(r5),r0 movb 1(r0),r0 mov r0,-(sp) jsr pc,tolower tst (sp)+ br .13 .14: .15: mov *6(r5),-(sp) add $2,(sp) mov ufdfile,-(sp) jsr pc,cpystr cmp (sp)+,(sp)+ mov $1,fsw br .12 .16: .17: mov *6(r5),-(sp) add $2,(sp) mov r5,-(sp) add $177650,(sp) jsr pc,cpystr cmp (sp)+,(sp)+ mov ufdfile,-(sp) mov r5,-(sp) add $177650,(sp) jsr pc,strcat cmp (sp)+,(sp)+ mov r5,-(sp) add $177650,(sp) mov ufdfile,-(sp) jsr pc,cpystr cmp (sp)+,(sp)+ mov $1,usw br .12 .20: .psect .strn. .21: .byte 164,157,164,142,154,153,72,40,151,154,154,145 .byte 147,141,154,40,163,167,151,164,143,150,40,45,143 .byte 12,0 .psect .prog. mov *6(r5),r0 movb 1(r0),r0 mov r0,-(sp) mov $.21,-(sp) jsr pc,error cmp (sp)+,(sp)+ br .12 .13: mov $.77776,r1 .77775: cmp r0,(r1)+ bhi .77775 bne .20 jmp *.77777-.77776-2(r1) .psect .mwcn. .77776: .word 106,125,146,165 .word -1 .77777: .word .14,.16,.15,.17,.20 .psect .prog. .12: br .7 .22: inc usersw mov *6(r5),user br .7 .10: sub $55,r0 cmp r0,$0 bhi .22 asl r0 jmp *.77774(r0) .psect .mwcn. .77774: .word .11 .psect .prog. .7: br .6 .5: mov $1,lsw mov usw,r0 add fsw,r0 cmp r0,$1 ble .23 .psect .strn. .24: .byte 164,157,164,142,154,153,72,40,165,156,151,164 .byte 40,143,141,156,40,142,145,40,151,156,143,154,165 .byte 144,145,144,40,151,156,40,55,146,146,151,154,145 .byte 163,160,145,143,0 .psect .prog. mov $.24,-(sp) jsr pc,error tst (sp)+ .23: tst lsw beq .77773 tst usersw bne .77773 mov $1,r0 br .77772 .77773: clr r0 .77772: mov r0,alllist tst lsw beq .77771 tst usersw beq .77771 mov $1,r0 br .77770 .77771: clr r0 .77770: mov r0,userlist .psect .strn. .26: .byte 162,0 .psect .prog. mov $.26,-(sp) mov ufdfile,-(sp) jsr pc,fopen cmp (sp)+,(sp)+ mov r0,r4 bne .25 .psect .strn. .27: .byte 157,167,156,72,40,143,141,156,156,157,164,40,157 .byte 160,145,156,40,45,163,0 .psect .prog. mov ufdfile,-(sp) mov $.27,-(sp) jsr pc,error cmp (sp)+,(sp)+ .25: tst lsw beq .30 clr r3 .32: .psect .strn. .33: .byte 45,71,163,40,45,67,60,163,0 .psect .prog. mov $fuser,-(sp) mov $fufd,-(sp) mov $.33,-(sp) mov r4,-(sp) jsr pc,fscanf add $10,sp cmp r0,$177777 beq .31 mov r4,-(sp) mov $122,-(sp) mov r5,-(sp) add $177650,(sp) jsr pc,fgetss add $6,sp tst alllist bne .77767 tst userlist beq .34 mov user,-(sp) mov $fuser,-(sp) jsr pc,index cmp (sp)+,(sp)+ cmp r0,$177777 beq .34 .77767: .psect .strn. .35: .byte 45,71,163,40,45,163,12,0 .psect .prog. mov $fuser,-(sp) mov $fufd,-(sp) mov $.35,-(sp) jsr pc,printf add $6,sp .psect .strn. .36: .byte 45,144,40,45,62,163,40,45,154,144,0 .psect .prog. mov $count,-(sp) mov r5,-(sp) add $177644,(sp) mov r5,-(sp) add $177642,(sp) mov $.36,-(sp) mov r5,-(sp) add $177650,(sp) jsr pc,sscanf add $12,sp .psect .strn. .37: .byte 40,40,156,165,155,75,45,144,54,40,163,164,162 .byte 75,45,163,54,40,45,154,144,40,142,154,157,143 .byte 153,163,40,165,163,145,144,12,0 .psect .prog. mov count+2,-(sp) mov count,-(sp) mov r5,-(sp) add $177644,(sp) mov -136(r5),-(sp) mov $.37,-(sp) jsr pc,printf add $12,sp mov total+2,r1 mov total,r0 add count+2,r1 adc r0 add count,r0 mov r0,total mov r1,total+2 inc r3 mov $1,found .34: br .32 .31: tst found bne .40 .psect .strn. .41: .byte 45,163,40,156,157,164,40,146,157,165,156,144,12 .byte 0 .psect .prog. mov user,-(sp) mov $.41,-(sp) jsr pc,printf cmp (sp)+,(sp)+ br .42 .40: .psect .strn. .43: .byte 12,45,144,40,145,156,164,162,151,145,163,40,146 .byte 157,165,156,144,12,0 .psect .prog. mov r3,-(sp) mov $.43,-(sp) jsr pc,printf cmp (sp)+,(sp)+ .psect .strn. .44: .byte 124,157,164,141,154,40,157,146,40,45,154,144,40 .byte 142,154,157,143,153,163,40,146,157,162,40,45,163 .byte 12,0 .psect .prog. mov user,-(sp) mov total+2,-(sp) mov total,-(sp) mov $.44,-(sp) jsr pc,printf add $10,sp .42: .30: .2: jmp cret~ .psect .data. .even .globl fgetss .globl tolower .globl strcat .globl printf .globl stderr .globl index .globl fopen .globl found .globl stdout .globl stdin .globl cpystr .globl main .globl fuser .globl fufd .globl total .globl tiatt .globl usersw .globl count .globl error .globl ~~ferr .globl user .globl fsw .globl lsw .globl ufdfile .globl usw .globl c .globl fscanf .globl s .globl alllist .globl userlist .globl sscanf .globl csv~ .globl cret~ .psect .prog. .even .psect .data. .even .psect .mwcn. .even .psect .prof. .even