Mercurial > hg > Members > kono > nitros9-code
diff 3rdparty/packages/os9l2bbs/cmds/suser.asm @ 2400:75ba2a80a4e3
OS-9 L2 BBS Commands disassembled
author | boisy |
---|---|
date | Sun, 24 Jan 2010 17:20:05 +0000 |
parents | |
children | 04755ee002ba |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/3rdparty/packages/os9l2bbs/cmds/suser.asm Sun Jan 24 17:20:05 2010 +0000 @@ -0,0 +1,1964 @@ + nam Suser + ttl program module + +* Disassembled 2010/01/24 10:51:32 by Disasm v1.5 (C) 1988 by RML + + ifp1 + use /dd/defs/defsfile + endc +tylg set Prgrm+Objct +atrv set ReEnt+rev +rev set $01 + mod eom,name,tylg,atrv,start,size +u0000 rmb 1 +u0001 rmb 1 +u0002 rmb 2 +u0004 rmb 2 +u0006 rmb 2 +u0008 rmb 1 +u0009 rmb 1 +u000A rmb 1 +u000B rmb 2 +u000D rmb 4 +u0011 rmb 15 +u0020 rmb 20 +u0034 rmb 31 +u0053 rmb 17 +u0064 rmb 132 +u00E8 rmb 119 +u015F rmb 2 +u0161 rmb 58 +u019B rmb 1 +u019C rmb 3 +u019F rmb 940 +size equ . +name equ * + fcs /Suser/ + fcb $01 +L0013 fcb $A6 & + fcb $A0 + fcb $A7 ' + fcb $C0 @ + fcb $30 0 + fcb $1F + fcb $26 & + fcb $F8 x + fcb $39 9 +start equ * + pshs y + pshs u + clra + clrb +L0022 sta ,u+ + decb + bne L0022 + ldx ,s + leau ,x + leax >$01CB,x + pshs x + leay >L0F36,pcr + ldx ,y++ + beq L003D + bsr L0013 + ldu $02,s +L003D leau >u0001,u + ldx ,y++ + beq L0048 + bsr L0013 + clra +L0048 cmpu ,s + beq L0051 + sta ,u+ + bra L0048 +L0051 ldu $02,s + ldd ,y++ + beq L005E + leax >L0000,pcr + lbsr L0161 +L005E ldd ,y++ + beq L0067 + leax ,u + lbsr L0161 +L0067 leas $04,s + puls x + stx >u019F,u + sty >u015F,u + ldd #$0001 + std >u019B,u + leay >u0161,u + leax ,s + lda ,x+ +L0083 ldb >u019C,u + cmpb #$1D + beq L00DF +L008B cmpa #$0D + beq L00DF + cmpa #$20 + beq L0097 + cmpa #$2C + bne L009B +L0097 lda ,x+ + bra L008B +L009B cmpa #$22 + beq L00A3 + cmpa #$27 + bne L00C1 +L00A3 stx ,y++ + inc >u019C,u + pshs a +L00AB lda ,x+ + cmpa #$0D + beq L00B5 + cmpa ,s + bne L00AB +L00B5 puls b + clr -$01,x + cmpa #$0D + beq L00DF + lda ,x+ + bra L0083 +L00C1 leax -$01,x + stx ,y++ + leax $01,x + inc >u019C,u +L00CB cmpa #$0D + beq L00DB + cmpa #$20 + beq L00DB + cmpa #$2C + beq L00DB + lda ,x+ + bra L00CB +L00DB clr -$01,x + bra L0083 +L00DF leax >u015F,u + pshs x + ldd >u019B,u + pshs b,a + leay ,u + bsr L00F9 + lbsr L017B + clr ,-s + clr ,-s + lbsr L0F2A +L00F9 leax >$01CB,y + stx >$01A9,y + sts >$019D,y + sts >$01AB,y + ldd #$FF82 +L010E leax d,s + cmpx >$01AB,y + bcc L0120 + cmpx >$01A9,y + bcs L013A + stx >$01AB,y +L0120 rts +L0121 bpl L014D + bpl L014F + bra L017A + lsrb + fcb $41 A + coma + fcb $4B K + bra L017C + rorb + fcb $45 E + fcb $52 R + rora + inca + clra + asrb + bra L0160 + bpl L0162 + bpl L0147 +L013A leax <L0121,pcr + ldb #$CF + pshs b + lda #$02 + ldy #$0064 +L0147 os9 I$WritLn + clr ,-s + lbsr L0F30 +L014F ldd >$019D,y + subd >$01AB,y + rts + ldd >$01AB,y + subd >$01A9,y +L0160 rts +L0161 pshs x + leax d,y + leax d,x + pshs x +L0169 ldd ,y++ + leax d,u + ldd ,x + addd $02,s + std ,x + cmpy ,s + bne L0169 + leas $04,s +L017A rts +L017B pshs u + ldd #$FEE4 + lbsr L010E + leas >-$00CC,s + clra + clrb + stb ,s + ldd >$00D0,s + cmpd #$0001 + bne L01A4 + clra + clrb + pshs b,a + leax >L0274,pcr + pshs x + lbsr L0252 + leas $04,s +L01A4 ldx >$00D2,s + ldd $02,x + pshs b,a + lbsr L0B4F + leas $02,s + std >$00CA,s + pshs b,a + lbsr L0EF8 + leas $02,s + cmpd #$FFFF + bne L01D3 + ldd >$01AD,y + pshs b,a + leax >L0298,pcr + pshs x + lbsr L0252 + leas $04,s +L01D3 ldd #$0002 + bra L0207 +L01D8 ldd >$00C8,s + lslb + rola + ldx >$00D2,s + leax d,x + ldd ,x + pshs b,a + leax $02,s + pshs x + lbsr L0AF1 + leas $04,s + leax >L02C1,pcr + pshs x + leax $02,s + pshs x + lbsr L0AF1 + leas $04,s + ldd >$00C8,s + addd #$0001 +L0207 std >$00C8,s + ldd >$00C8,s + cmpd >$00D0,s + blt L01D8 + leax >L02C3,pcr + pshs x + leax $02,s + pshs x + lbsr L0AF1 + leas $04,s + ldd #$0003 + pshs b,a + ldd #$0001 + pshs b,a + ldd #$0010 + pshs b,a + leax $06,s + pshs x + leax $08,s + pshs x + lbsr L0AC8 + std ,s + leax >L02C5,pcr + pshs x + lbsr L0E9D + leas $0C,s + leas >$00CC,s + puls pc,u +L0252 pshs u + ldd #$FFB8 + lbsr L010E + ldd $04,s + pshs b,a + leax >L02CC,pcr + pshs x + lbsr L02D0 + leas $04,s + ldd $06,s + pshs b,a + lbsr L0F2A + leas $02,s + puls pc,u +L0274 fcb $55 U + com >$6167 + eim #$20,$09,s + com >$3A20 + comb + eim #$73,>$6572 + bra L02C1 + jmp -$0B,s + tst $02,s + eim #$72,-$02,y + bra L02E9 + neg >$726F + asr $0E,s + oim #$6D,$05,s + tstb + neg <u0053 + clr -$0E,s + aim #$79,>$2C20 + rol >$6F75 + bra L0307 + oim #$6E,$0E,s + clr -$0C,s + bra L030E + lsl $01,s + jmp $07,s + eim #$20,-$0C,s + lsl $05,s + bra L032B + com >$6572 + bra L0329 + eim #$6D,>$6265 + aim #$00,>$2000 +L02C3 tst <u0000 +L02C5 comb + lsl $05,s + inc $0C,s + tst <u0000 +L02CC bcs L0341 + tst <u0000 +L02D0 pshs u + leax >$001B,y + stx >$01AF,y + leax $06,s + pshs x + ldd $06,s + bra L02F0 + pshs u + ldd $04,s + std >$01AF,y + leax $08,s + pshs x + ldd $08,s +L02F0 pshs b,a + leax >L07A8,pcr + pshs x + bsr L0322 + leas $06,s + puls pc,u + pshs u + ldd $04,s + std >$01AF,y + leax $08,s + pshs x + ldd $08,s + pshs b,a +L030E leax >L07BB,pcr + pshs x + bsr L0322 + leas $06,s + clra + clrb + stb [>$01AF,y] + ldd $04,s + puls pc,u +L0322 pshs u + ldu $06,s + leas -$0B,s + bra L033A +L032A ldb $08,s + lbeq L056B + ldb $08,s + sex + pshs b,a + jsr [<$11,s] + leas $02,s +L033A ldb ,u+ + stb $08,s + cmpb #$25 + bne L032A + ldb ,u+ + stb $08,s + clra + clrb + std $02,s + std $06,s + ldb $08,s + cmpb #$2D + bne L035F + ldd #$0001 + std >$01C5,y + ldb ,u+ + stb $08,s + bra L0365 +L035F clra + clrb + std >$01C5,y +L0365 ldb $08,s + cmpb #$30 + bne L0370 + ldd #$0030 + bra L0373 +L0370 ldd #$0020 +L0373 std >$01C7,y + bra L0393 +L0379 ldd $06,s + pshs b,a + ldd #$000A + lbsr L0BC2 + pshs b,a + ldb $0A,s + sex + addd #$FFD0 + addd ,s++ + std $06,s + ldb ,u+ + stb $08,s +L0393 ldb $08,s + sex + leax >$00DF,y + leax d,x + ldb ,x + clra + andb #$08 + bne L0379 + ldb $08,s + cmpb #$2E + bne L03DC + ldd #$0001 + std $04,s + bra L03C6 +L03B0 ldd $02,s + pshs b,a + ldd #$000A + lbsr L0BC2 + pshs b,a + ldb $0A,s + sex + addd #$FFD0 + addd ,s++ + std $02,s +L03C6 ldb ,u+ + stb $08,s + ldb $08,s + sex + leax >$00DF,y + leax d,x + ldb ,x + clra + andb #$08 + bne L03B0 + bra L03E0 +L03DC clra + clrb + std $04,s +L03E0 ldb $08,s + sex + tfr d,x + lbra L050E +L03E8 ldd $06,s + pshs b,a + ldx <$15,s + leax $02,x + stx <$15,s + ldd -$02,x + pshs b,a + lbsr L056F + bra L0410 +L03FD ldd $06,s + pshs b,a + ldx <$15,s + leax $02,x + stx <$15,s + ldd -$02,x + pshs b,a + lbsr L062C +L0410 std ,s + lbra L04F4 +L0415 ldd $06,s + pshs b,a + ldb $0A,s + sex + leax >$00DF,y + leax d,x + ldb ,x + clra + andb #$02 + pshs b,a + ldx <$17,s + leax $02,x + stx <$17,s + ldd -$02,x + pshs b,a + lbsr L0674 + lbra L04F0 +L043B ldd $06,s + pshs b,a + ldx <$15,s + leax $02,x + stx <$15,s + ldd -$02,x + pshs b,a + leax >$01B1,y + pshs x + lbsr L05B3 + lbra L04F0 +L0457 ldd $04,s + bne L0460 + ldd #$0006 + std $02,s +L0460 ldd $06,s + pshs b,a + leax <$15,s + pshs x + ldd $06,s + pshs b,a + ldb $0E,s + sex + pshs b,a + lbsr L0ABD + leas $06,s + lbra L04F2 +L047A ldx <$13,s + leax $02,x + stx <$13,s + ldd -$02,x + lbra L0504 +L0487 ldx <$13,s + leax $02,x + stx <$13,s + ldd -$02,x + std $09,s + ldd $04,s + beq L04CF + ldd $09,s + std $04,s + bra L04A9 +L049D ldb [<$09,s] + beq L04B5 + ldd $09,s + addd #$0001 + std $09,s +L04A9 ldd $02,s + addd #$FFFF + std $02,s + subd #$FFFF + bne L049D +L04B5 ldd $06,s + pshs b,a + ldd $0B,s + subd $06,s + pshs b,a + ldd $08,s + pshs b,a + ldd <$15,s + pshs b,a + lbsr L06DF + leas $08,s + bra L04FE +L04CF ldd $06,s + pshs b,a + ldd $0B,s + bra L04F2 +L04D7 ldb ,u+ + stb $08,s + bra L04DF + leas -$0B,x +L04DF ldd $06,s + pshs b,a + leax <$15,s + pshs x + ldb $0C,s + sex + pshs b,a + lbsr L0A7F +L04F0 leas $04,s +L04F2 pshs b,a +L04F4 ldd <$13,s + pshs b,a + lbsr L0741 + leas $06,s +L04FE lbra L033A +L0501 ldb $08,s + sex +L0504 pshs b,a + jsr [<$11,s] + leas $02,s + lbra L033A +L050E cmpx #$0064 + lbeq L03E8 + cmpx #$006F + lbeq L03FD + cmpx #$0078 + lbeq L0415 + cmpx #$0058 + lbeq L0415 + cmpx #$0075 + lbeq L043B + cmpx #$0066 + lbeq L0457 + cmpx #$0065 + lbeq L0457 + cmpx #$0067 + lbeq L0457 + cmpx #$0045 + lbeq L0457 + cmpx #$0047 + lbeq L0457 + cmpx #$0063 + lbeq L047A + cmpx #$0073 + lbeq L0487 + cmpx #$006C + lbeq L04D7 + bra L0501 +L056B leas $0B,s + puls pc,u +L056F pshs u,b,a + leax >$01B1,y + stx ,s + ldd $06,s + bge L05A4 + ldd $06,s + nega + negb + sbca #$00 + std $06,s + bge L0599 + leax >L07CD,pcr + pshs x + leax >$01B1,y + pshs x + lbsr L0AD9 + leas $04,s + lbra L0670 +L0599 ldd #$002D + ldx ,s + leax $01,x + stx ,s + stb -$01,x +L05A4 ldd $06,s + pshs b,a + ldd $02,s + pshs b,a + bsr L05B3 + leas $04,s + lbra L066A +L05B3 pshs u,y,x,b,a + ldu $0A,s + clra + clrb + std $02,s + clra + clrb + std ,s + bra L05D0 +L05C1 ldd ,s + addd #$0001 + std ,s + ldd $0C,s + subd >$0001,y + std $0C,s +L05D0 ldd $0C,s + blt L05C1 + leax >$0001,y + stx $04,s + bra L0612 +L05DC ldd ,s + addd #$0001 + std ,s +L05E3 ldd $0C,s + subd [<$04,s] + std $0C,s + bge L05DC + ldd $0C,s + addd [<$04,s] + std $0C,s + ldd ,s + beq L05FC + ldd #$0001 + std $02,s +L05FC ldd $02,s + beq L0607 + ldd ,s + addd #$0030 + stb ,u+ +L0607 clra + clrb + std ,s + ldd $04,s + addd #$0002 + std $04,s +L0612 ldd $04,s + cmpd >$0009,y + bne L05E3 + ldd $0C,s + addd #$0030 + stb ,u+ + clra + clrb + stb ,u + ldd $0A,s + leas $06,s + puls pc,u +L062C pshs u,b,a + leax >$01B1,y + stx ,s + leau >$01BB,y +L0638 ldd $06,s + clra + andb #$07 + addd #$0030 + stb ,u+ + ldd $06,s + lsra + rorb + lsra + rorb + lsra + rorb + std $06,s + bne L0638 + bra L065A +L0650 ldb ,u + ldx ,s + leax $01,x + stx ,s + stb -$01,x +L065A leau -u0001,u + pshs u + leax >$01BB,y + cmpx ,s++ + bls L0650 + clra + clrb + stb [,s] +L066A leax >$01B1,y + tfr x,d +L0670 leas $02,s + puls pc,u +L0674 pshs u,x,b,a + leax >$01B1,y + stx $02,s + leau >$01BB,y +L0680 ldd $08,s + clra + andb #$0F + std ,s + pshs b,a + ldd $02,s + cmpd #$0009 + ble L06A2 + ldd $0C,s + beq L069A + ldd #$0041 + bra L069D +L069A ldd #$0061 +L069D addd #$FFF6 + bra L06A5 +L06A2 ldd #$0030 +L06A5 addd ,s++ + stb ,u+ + ldd $08,s + lsra + rorb + lsra + rorb + lsra + rorb + lsra + rorb + anda #$0F + std $08,s + bne L0680 + bra L06C5 +L06BB ldb ,u + ldx $02,s + leax $01,x + stx $02,s + stb -$01,x +L06C5 leau -u0001,u + pshs u + leax >$01BB,y + cmpx ,s++ + bls L06BB + clra + clrb + stb [<$02,s] + leax >$01B1,y + tfr x,d + lbra L07B7 +L06DF pshs u + ldu $06,s + ldd $0A,s + subd $08,s + std $0A,s + ldd >$01C5,y + bne L0714 + bra L06FC +L06F1 ldd >$01C7,y + pshs b,a + jsr [<$06,s] + leas $02,s +L06FC ldd $0A,s + addd #$FFFF + std $0A,s + subd #$FFFF + bgt L06F1 + bra L0714 +L070A ldb ,u+ + sex + pshs b,a + jsr [<$06,s] + leas $02,s +L0714 ldd $08,s + addd #$FFFF + std $08,s + subd #$FFFF + bne L070A + ldd >$01C5,y + beq L073F + bra L0733 +L0728 ldd >$01C7,y + pshs b,a + jsr [<$06,s] + leas $02,s +L0733 ldd $0A,s + addd #$FFFF + std $0A,s + subd #$FFFF + bgt L0728 +L073F puls pc,u +L0741 pshs u + ldu $06,s + ldd $08,s + pshs b,a + pshs u + lbsr L0AC8 + leas $02,s + nega + negb + sbca #$00 + addd ,s++ + std $08,s + ldd >$01C5,y + bne L0783 + bra L076B +L0760 ldd >$01C7,y + pshs b,a + jsr [<$06,s] + leas $02,s +L076B ldd $08,s + addd #$FFFF + std $08,s + subd #$FFFF + bgt L0760 + bra L0783 +L0779 ldb ,u+ + sex + pshs b,a + jsr [<$06,s] + leas $02,s +L0783 ldb ,u + bne L0779 + ldd >$01C5,y + beq L07A6 + bra L079A +L078F ldd >$01C7,y + pshs b,a + jsr [<$06,s] + leas $02,s +L079A ldd $08,s + addd #$FFFF + std $08,s + subd #$FFFF + bgt L078F +L07A6 puls pc,u +L07A8 pshs u + ldd >$01AF,y + pshs b,a + ldd $06,s + pshs b,a + lbsr L07D4 +L07B7 leas $04,s + puls pc,u +L07BB pshs u + ldd $04,s + ldx >$01AF,y + leax $01,x + stx >$01AF,y + stb -$01,x + puls pc,u +L07CD blt L0802 + leas -$09,y + pshu y,x,dp + neg <u0034 + nega + ldu $06,s + ldd u0006,u + anda #$80 + andb #$22 + cmpd #$8002 + beq L07F8 + ldd u0006,u + clra + andb #$22 + cmpd #$0002 + lbne L0910 + pshs u + lbsr L09EF + leas $02,s +L07F8 ldd u0006,u + clra + andb #$04 + beq L0834 + ldd #$0001 +L0802 pshs b,a + leax $07,s + pshs x + ldd u0008,u + pshs b,a + ldd u0006,u + clra + andb #$40 + beq L0819 + leax >L0D79,pcr + bra L081D +L0819 leax >L0D60,pcr +L081D tfr x,d + tfr d,x + jsr ,x + leas $06,s + cmpd #$FFFF + bne L0875 + ldd u0006,u + orb #$20 + std u0006,u + lbra L0910 +L0834 ldd u0006,u + anda #$01 + clrb + std -$02,s + bne L0844 + pshs u + lbsr L092D + leas $02,s +L0844 ldd ,u + addd #$0001 + std ,u + subd #$0001 + tfr d,x + ldd $04,s + stb ,x + ldd ,u + cmpd u0004,u + bcc L086A + ldd u0006,u + clra + andb #$40 + beq L0875 + ldd $04,s + cmpd #$000D + bne L0875 +L086A pshs u + lbsr L092D + std ,s++ + lbne L0910 +L0875 ldd $04,s + puls pc,u + pshs u + ldu $04,s + ldd $06,s + pshs b,a + pshs u + ldd #$0008 + lbsr L0C21 + pshs b,a + lbsr L07D4 + leas $04,s + ldd $06,s + pshs b,a + pshs u + lbsr L07D4 + lbra L09E7 +L089C pshs u,b,a + leau >$000E,y + clra + clrb + std ,s + bra L08B2 +L08A8 tfr u,d + leau u000D,u + pshs b,a + bsr L08C5 + leas $02,s +L08B2 ldd ,s + addd #$0001 + std ,s + subd #$0001 + cmpd #$0010 + blt L08A8 + lbra L0929 +L08C5 pshs u + ldu $04,s + leas -$02,s + cmpu #$0000 + beq L08D5 + ldd u0006,u + bne L08DB +L08D5 ldd #$FFFF + lbra L0929 +L08DB ldd u0006,u + clra + andb #$02 + beq L08EA + pshs u + bsr L08FF + leas $02,s + bra L08EC +L08EA clra + clrb +L08EC std ,s + ldd u0008,u + pshs b,a + lbsr L0CC2 + leas $02,s + clra + clrb + std u0006,u + ldd ,s + bra L0929 +L08FF pshs u + ldu $04,s + beq L0910 + ldd u0006,u + clra + andb #$22 + cmpd #$0002 + beq L0915 +L0910 ldd #$FFFF + puls pc,u +L0915 ldd u0006,u + anda #$80 + clrb + std -$02,s + bne L0925 + pshs u + lbsr L09EF + leas $02,s +L0925 pshs u + bsr L092D +L0929 leas $02,s + puls pc,u +L092D pshs u + ldu $04,s + leas -$04,s + ldd u0006,u + anda #$01 + clrb + std -$02,s + bne L095F + ldd ,u + cmpd u0004,u + beq L095F + clra + clrb + pshs b,a + pshs u + lbsr L09EB + leas $02,s + ldd $02,x + pshs b,a + ldd ,x + pshs b,a + ldd u0008,u + pshs b,a + lbsr L0D89 + leas $08,s +L095F ldd ,u + subd u0002,u + std $02,s + lbeq L09D7 + ldd u0006,u + anda #$01 + clrb + std -$02,s + lbeq L09D7 + ldd u0006,u + clra + andb #$40 + beq L09AE + ldd u0002,u + bra L09A6 +L097F ldd $02,s + pshs b,a + ldd ,u + pshs b,a + ldd u0008,u + pshs b,a + lbsr L0D79 + leas $06,s + std ,s + cmpd #$FFFF + bne L099C + leax $04,s + bra L09C6 +L099C ldd $02,s + subd ,s + std $02,s + ldd ,u + addd ,s +L09A6 std ,u + ldd $02,s + bne L097F + bra L09D7 +L09AE ldd $02,s + pshs b,a + ldd u0002,u + pshs b,a + ldd u0008,u + pshs b,a + lbsr L0D60 + leas $06,s + cmpd $02,s + beq L09D7 + bra L09C8 +L09C6 leas -$04,x +L09C8 ldd u0006,u + orb #$20 + std u0006,u + ldd u0004,u + std ,u + ldd #$FFFF + bra L09E7 +L09D7 ldd u0006,u + ora #$01 + std u0006,u + ldd u0002,u + std ,u + addd u000B,u + std u0004,u + clra + clrb +L09E7 leas $04,s + puls pc,u +L09EB pshs u + puls pc,u +L09EF pshs u + ldu $04,s + ldd u0006,u + clra + andb #$C0 + bne L0A27 + leas <-$20,s + leax ,s + pshs x + ldd u0008,u + pshs b,a + clra + clrb + pshs b,a + lbsr L0C44 + leas $06,s + ldd u0006,u + pshs b,a + ldb $02,s + bne L0A1B + ldd #$0040 + bra L0A1E +L0A1B ldd #$0080 +L0A1E ora ,s+ + orb ,s+ + std u0006,u + leas <$20,s +L0A27 ldd u0006,u + ora #$80 + std u0006,u + clra + andb #$0C + beq L0A34 + puls pc,u +L0A34 ldd u000B,u + bne L0A49 + ldd u0006,u + clra + andb #$40 + beq L0A44 + ldd #$0080 + bra L0A47 +L0A44 ldd #$0100 +L0A47 std u000B,u +L0A49 ldd u0002,u + bne L0A5E + ldd u000B,u + pshs b,a + lbsr L0E47 + leas $02,s + std u0002,u + cmpd #$FFFF + beq L0A66 +L0A5E ldd u0006,u + orb #$08 + std u0006,u + bra L0A75 +L0A66 ldd u0006,u + orb #$04 + std u0006,u + leax u000A,u + stx u0002,u + ldd #$0001 + std u000B,u +L0A75 ldd u0002,u + addd u000B,u + std u0004,u + std ,u + puls pc,u +L0A7F pshs u + ldb $05,s + sex + tfr d,x + bra L0AA5 +L0A88 ldd [<$06,s] + addd #$0004 + std [<$06,s] + leax >L0ABC,pcr + bra L0AA1 +L0A97 ldb $05,s + stb >$000C,y + leax >$000B,y +L0AA1 tfr x,d + puls pc,u +L0AA5 cmpx #$0064 + beq L0A88 + cmpx #$006F + lbeq L0A88 + cmpx #$0078 + lbeq L0A88 + bra L0A97 + puls pc,u +L0ABC neg <u0034 + nega + leax >L0AC7,pcr + tfr x,d + puls pc,u +L0AC7 neg <u0034 + nega + ldu $04,s +L0ACC ldb ,u+ + bne L0ACC + tfr u,d + subd $04,s + addd #$FFFF + puls pc,u +L0AD9 pshs u + ldu $06,s + leas -$02,s + ldd $06,s + std ,s +L0AE3 ldb ,u+ + ldx ,s + leax $01,x + stx ,s + stb -$01,x + bne L0AE3 + bra L0B18 +L0AF1 pshs u + ldu $06,s + leas -$02,s + ldd $06,s + std ,s +L0AFB ldx ,s + leax $01,x + stx ,s + ldb -$01,x + bne L0AFB + ldd ,s + addd #$FFFF + std ,s +L0B0C ldb ,u+ + ldx ,s + leax $01,x + stx ,s + stb -$01,x + bne L0B0C +L0B18 ldd $06,s + leas $02,s + puls pc,u + pshs u + ldu $04,s + bra L0B34 +L0B24 ldx $06,s + leax $01,x + stx $06,s + ldb -$01,x + bne L0B32 + clra + clrb + puls pc,u +L0B32 leau u0001,u +L0B34 ldb ,u + sex + pshs b,a + ldb [<$08,s] + sex + cmpd ,s++ + beq L0B24 + ldb [<$06,s] + sex + pshs b,a + ldb ,u + sex + subd ,s++ + puls pc,u +L0B4F pshs u + ldu $04,s + leas -$05,s + clra + clrb + std $01,s +L0B59 ldb ,u+ + stb ,s + cmpb #$20 + beq L0B59 + ldb ,s + cmpb #$09 + lbeq L0B59 + ldb ,s + cmpb #$2D + bne L0B74 + ldd #$0001 + bra L0B76 +L0B74 clra + clrb +L0B76 std $03,s + ldb ,s + cmpb #$2D + beq L0B9C + ldb ,s + cmpb #$2B + bne L0BA0 + bra L0B9C +L0B86 ldd $01,s + pshs b,a + ldd #$000A + lbsr L0BC2 + pshs b,a + ldb $02,s + sex + addd ,s++ + addd #$FFD0 + std $01,s +L0B9C ldb ,u+ + stb ,s +L0BA0 ldb ,s + sex + leax >$00DF,y + leax d,x + ldb ,x + clra + andb #$08 + bne L0B86 + ldd $03,s + beq L0BBC + ldd $01,s + nega + negb + sbca #$00 + bra L0BBE +L0BBC ldd $01,s +L0BBE leas $05,s + puls pc,u +L0BC2 tsta + bne L0BD7 + tst $02,s + bne L0BD7 + lda $03,s + mul + ldx ,s + stx $02,s + ldx #$0000 + std ,s + puls pc,b,a +L0BD7 pshs b,a + ldd #$0000 + pshs b,a + pshs b,a + lda $05,s + ldb $09,s + mul + std $02,s + lda $05,s + ldb $08,s + mul + addd $01,s + std $01,s + bcc L0BF4 + inc ,s +L0BF4 lda $04,s + ldb $09,s + mul + addd $01,s + std $01,s + bcc L0C01 + inc ,s +L0C01 lda $04,s + ldb $08,s + mul + addd ,s + std ,s + ldx $06,s + stx $08,s + ldx ,s + ldd $02,s + leas $08,s + rts + tstb + beq L0C2B +L0C18 asr $02,s + ror $03,s + decb + bne L0C18 + bra L0C2B +L0C21 tstb + beq L0C2B +L0C24 lsr $02,s + ror $03,s + decb + bne L0C24 +L0C2B ldd $02,s + pshs b,a + ldd $02,s + std $04,s + ldd ,s + leas $04,s + rts + tstb + beq L0C2B +L0C3B lsl $03,s + rol $02,s + decb + bne L0C3B + bra L0C2B +L0C44 lda $05,s + ldb $03,s + beq L0C77 + cmpb #$01 + beq L0C79 + cmpb #$06 + beq L0C79 + cmpb #$02 + beq L0C5F + cmpb #$05 + beq L0C5F + ldb #$D0 + lbra L0F1C +L0C5F pshs u + os9 I$GetStt + bcc L0C6B + puls u + lbra L0F1C +L0C6B stx [<$08,s] + ldx $08,s + stu $02,x + puls u + clra + clrb + rts +L0C77 ldx $06,s +L0C79 os9 I$GetStt + lbra L0F25 + lda $05,s + ldb $03,s + beq L0C8E + cmpb #$02 + beq L0C96 + ldb #$D0 + lbra L0F1C +L0C8E ldx $06,s + os9 I$SetStt + lbra L0F25 +L0C96 pshs u + ldx $08,s + ldu $0A,s + os9 I$SetStt + puls u + lbra L0F25 + ldx $02,s + lda $05,s + os9 I$Open + bcs L0CB0 + os9 I$Close +L0CB0 lbra L0F25 + ldx $02,s + lda $05,s + os9 I$Open + lbcs L0F1C + tfr a,b + clra + rts +L0CC2 lda $03,s + os9 I$Close + lbra L0F25 + ldx $02,s + ldb $05,s + os9 I$MakDir + lbra L0F25 + ldx $02,s + lda $05,s + tfr a,b + andb #$24 + orb #$0B + os9 I$Create + bcs L0CE7 +L0CE3 tfr a,b + clra + rts +L0CE7 cmpb #$DA + lbne L0F1C + lda $05,s + bita #$80 + lbne L0F1C + anda #$07 + ldx $02,s + os9 I$Open + lbcs L0F1C + pshs u,a + ldx #$0000 + leau ,x + ldb #$02 + os9 I$SetStt + puls u,a + bcc L0CE3 + pshs b + os9 I$Close + puls b + lbra L0F1C + ldx $02,s + os9 I$Delete + lbra L0F25 + lda $03,s + os9 I$Dup + lbcs L0F1C + tfr a,b + clra + rts + pshs y + ldx $06,s + lda $05,s + ldy $08,s + pshs y + os9 I$Read +L0D3D bcc L0D4C + cmpb #$D3 + bne L0D47 + clra + clrb + puls pc,y,x +L0D47 puls y,x + lbra L0F1C +L0D4C tfr y,d + puls pc,y,x + pshs y + lda $05,s + ldx $06,s + ldy $08,s + pshs y + os9 I$ReadLn + bra L0D3D +L0D60 pshs y + ldy $08,s + beq L0D75 + lda $05,s + ldx $06,s + os9 I$Write +L0D6E bcc L0D75 + puls y + lbra L0F1C +L0D75 tfr y,d + puls pc,y +L0D79 pshs y + ldy $08,s + beq L0D75 + lda $05,s + ldx $06,s + os9 I$WritLn + bra L0D6E +L0D89 pshs u + ldd $0A,s + bne L0D97 + ldu #$0000 + ldx #$0000 + bra L0DCB +L0D97 cmpd #$0001 + beq L0DC2 + cmpd #$0002 + beq L0DB7 + ldb #$F7 +L0DA5 clra + std >$01AD,y + ldd #$FFFF + leax >$01A1,y + std ,x + std $02,x + puls pc,u +L0DB7 lda $05,s + ldb #$02 + os9 I$GetStt + bcs L0DA5 + bra L0DCB +L0DC2 lda $05,s + ldb #$05 + os9 I$GetStt + bcs L0DA5 +L0DCB tfr u,d + addd $08,s + std >$01A3,y + tfr d,u + tfr x,d + adcb $07,s + adca $06,s + bmi L0DA5 + tfr d,x + std >$01A1,y + lda $05,s + os9 I$Seek + bcs L0DA5 + leax >$01A1,y + puls pc,u + ldd >$019F,y + pshs b,a + ldd $04,s + cmpd >$01C9,y + bcs L0E24 + addd >$019F,y + pshs y + subd ,s + os9 F$Mem + tfr y,d + puls y + bcc L0E16 + ldd #$FFFF + leas $02,s + rts +L0E16 std >$019F,y + addd >$01C9,y + subd ,s + std >$01C9,y +L0E24 leas $02,s + ldd >$01C9,y + pshs b,a + subd $04,s + std >$01C9,y + ldd >$019F,y + subd ,s++ + pshs b,a + clra + ldx ,s +L0E3D sta ,x+ + cmpx >$019F,y + bcs L0E3D + puls pc,b,a +L0E47 ldd $02,s + addd >$01A9,y + bcs L0E70 + cmpd >$01AB,y + bcc L0E70 + pshs b,a + ldx >$01A9,y + clra +L0E5D cmpx ,s + bcc L0E65 + sta ,x+ + bra L0E5D +L0E65 ldd >$01A9,y + puls x + stx >$01A9,y + rts +L0E70 ldd #$FFFF + rts + lda $03,s + ldb $05,s + os9 F$Send + lbra L0F25 + clra + clrb + os9 F$Wait + lbcs L0F1C + ldx $02,s + beq L0E8F + stb $01,x + clr ,x +L0E8F tfr a,b + clra + rts + lda $03,s + ldb $05,s + os9 F$SPrior + lbra L0F25 +L0E9D leau ,s + leas >$00FF,y + ldx u0002,u + ldy u0004,u + lda u0009,u + lsla + lsla + lsla + lsla + ora u000B,u + ldb u000D,u + ldu u0006,u + os9 F$Chain + os9 F$Exit + pshs u,y + ldx $06,s + ldy $08,s + ldu $0A,s + lda $0D,s + ora $0F,s + ldb <$11,s + os9 F$Fork + puls u,y + lbcs L0F1C + tfr a,b + clra + rts + pshs y + os9 F$ID + puls y + bcc L0EE4 + lbcs L0F1C +L0EE4 tfr a,b + clra + rts +L0EE8 pshs y + os9 F$ID + bcc L0EF4 +L0EEF puls y + lbra L0F1C +L0EF4 tfr y,d + puls pc,y +L0EF8 pshs y + bsr L0EE8 + std -$02,s + beq L0F04 + ldb #$D6 + bra L0EEF +L0F04 ldy $04,s + os9 F$SUser + bcc L0F18 + cmpb #$D0 + bne L0EEF + tfr y,d + ldy >$004B + std $09,y +L0F18 clra + clrb + puls pc,y +L0F1C clra + std >$01AD,y + ldd #$FFFF + rts +L0F25 bcs L0F1C + clra + clrb + rts +L0F2A lbsr L0F35 + lbsr L089C +L0F30 ldd $02,s + os9 F$Exit +L0F35 rts +L0F36 neg <u0001 + neg <u0001 + fcb $5E ^ + beq L0F4D + com <u00E8 + neg <u0064 + neg <u000A + neg <u0009 + inc -$08,s + neg <u0000 + neg <u0000 + neg <u0000 +L0F4D neg <u0000 + oim #$00,<u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + aim #$00,<u0001 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + fcb $42 B + neg <u0002 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0000 + neg <u0001 + oim #$01,<u0001 + oim #$01,<u0001 + oim #$01,<u0011 + fcb $11 + oim #$11,<u0011 + oim #$01,<u0001 + oim #$01,<u0001 + oim #$01,<u0001 + oim #$01,<u0001 + oim #$01,<u0001 + oim #$01,<u0001 + leax $00,y + bra L105D + bra L105F + bra L1061 + bra L1063 + bra L1065 + bra L1067 + bra L1069 + lsla + lsla + lsla + lsla + lsla + lsla + lsla + lsla + lsla + lsla + bra L1075 + bra L1077 + bra L1079 + bra L109D + fcb $42 B + fcb $42 B +L105D fcb $42 B + fcb $42 B +L105F fcb $42 B + aim #$02,<u0002 +L1063 aim #$02,<u0002 + aim #$02,<u0002 +L1069 aim #$02,<u0002 + aim #$02,<u0002 + aim #$02,<u0002 + aim #$02,<u0020 +L1075 bra L1097 +L1077 bra L1099 +L1079 bra L10BF + lsra + lsra + lsra + lsra + lsra + lsr <u0004 + lsr <u0004 + lsr <u0004 + lsr <u0004 + lsr <u0004 + lsr <u0004 + lsr <u0004 + lsr <u0004 + lsr <u0004 + lsr <u0004 + bra L10B6 + bra L10B8 + oim #$00,<u0000 + neg <u0001 +L109D neg <u0009 + comb + eim #$73,>$6572 + fcb $00 + emod +eom equ * + end