Table of Contents

LOGIN

Header for : Login
Module size: $3E8  #1000
Module CRC : $6A153A (Good)
Hdr parity : $C3
Exec. off  : $0121  #289
Data size  : $01F9  #505
Edition    : $09  #9
Ty/La At/Rv: $11 $81
Prog mod, 6809 Obj, re-ent, R/O

CODE

* Disassembly by Os9disasm of login

 mod L03e8,L000d,$11,$81,L0121,D01f9

* OS-9 system function equates

F$Chain equ $05
F$Exit equ $06
F$ID equ $0c
F$SPrior equ $0d
F$PErr equ $0f
F$Time equ $15
I$Open equ $84
I$ChgDir equ $86
I$Seek equ $88
I$ReadLn equ $8b
I$WritLn equ $8c
I$GetStt equ $8d
I$SetStt equ $8e
I$Close equ $8f

* class D external label equates

Dfffa equ $fffa
Dffff equ $ffff

* OS9 data area definitions

D0000 rmb 1
D0001 rmb 1
D0002 rmb 1
D0003 rmb 1
D0004 rmb 2
D0006 rmb 2
D0008 rmb 1
D0009 rmb 1
D000a rmb 4
D000e rmb 30
D002c rmb 2
D002e rmb 27
D0049 rmb 7
D0050 rmb 3
D0053 rmb 2
D0055 rmb 420
D01f9 equ .

L000d inca  
 clr   7,s
 fcb $69
 ldu   9,x
L0013 comb  
 rolb  
 comb  
 ble   L0068
 fcb $41
 comb  
 comb  
 asrb  
 clra  
 fcb $52
 lsra  
 tst   D002c
 bge   L004f
 bge   L0051
 bge   L0053
 bge   L0055
 bge   L0057
 bge   L0059
 bge   L005b
L002f dec   D000a
 clra  
 comb  
 blt   L006e
 bra   L0083
 fcb $65
 ror   $656c
 bra   L0086
 bra   L005f
 bra   L0097
 leay  D000e,y
 leas  10,x
L0045 dec   D0055
 com   $6572
 bra   L00ba
 fcb $61
 tst   5,s
L004f swi   
 abx   
L0051 bra   L00aa
L0052 equ *-1
L0053 asl   15,s
L0055 swi   
 tst   D0050
L0057 equ *-1
 fcb $61
L0059 com   29559
L005b equ *-1
 clr   -14,s
 lsr   Dfffa,y
L005f equ *-1
 bra   L00ab
L0061 equ *-1
 jmp   -10,s
 fcb $61
 inc   9,s
 fcb $64
L0068 bra   L00da
 fcb $61
 com   29559
L006e clr   -14,s
 lsr   D000e,y
 tst   D000a
L0073 equ *-1
 negb  
 fcb $72
 clr   3,s
 fcb $65
 com   29472
 bls   L009e
L007d equ *-1
 inc   15,s
 asr   7,s
 fcb $65
L0083 fcb $64
 bra   L00f5
L0086 fcb $6e
 bra   L0093
L0089 asrb  
 fcb $65
 inc   3,s
 clr   13,s
 fcb $65
 brn   L009f
L0092 bra   L00b4
L0093 equ *-1
 bra   L00b6
 bra   L00dc
L0097 equ *-1
 rol   -14,s
 fcb $65
 com   -12,s
 clr   -14,s
L009e equ *-1
L009f rol   $206e
 clr   -12,s
 bra   L010c
 clr   -11,s
 jmp   4,s
L00aa bgt   L00b9
L00ab equ *-1
L00ac dec   D0053
 rol   $6e74
 fcb $61
 asl   $2045
L00b4 equ *-1
 fcb $72
L00b6 fcb $72
 clr   -14,s
L00b9 bra   L0124
L00ba equ *-1
 fcb $6e
 bra   L012e
 fcb $61
 com   29559
 clr   -14,s
 fcb $64
 bra   L012d
 rol   12,s
 fcb $65
L00ca dec   D0049
 lsr   $2773
 bra   L0133
 fcb $65
 fcb $65
 fcb $6e
 bra   L0144
 rol   3,s
 fcb $65
 bra   L013e
L00da equ *-1
 clr   13,s
L00dc equ *-1
 tst   -11,s
 jmp   9,s
 com   1,s
 lsr   $696e
 fcb $67
 bra   L0160
 rol   -12,s
 fcb $68
 bra   L0167
 clr   -11,s
 bgt   L00fc
 fcb $42
 fcb $65
 lsr   29797
L00f5 equ *-2
 fcb $72
 bra   L0166
 fcb $75
 com   11,s
L00fc equ *-1
 bra   L016d
 fcb $65
 asl   29728
 lsr   $696d
 fcb $65
 bgt   L0116
L0109 comb  
 rolb  
 comb  
L010c ble   L015b
 clra  
 lsrb  
 lsra  
 tst   D002e
L0112 equ *-1
 bgt   L0144
 bgt   L0145
L0116 equ *-1
 ble   L0147
 bgt   L014a
 bgt   L014b
 ble   L014d
 bgt   L0141
L0121 leas  265,u
L0124 equ *-1
 leay  393,u
 sty   D0006
 std   ,--s
L012d equ *-1
L012e beq   L0138
L0130 lda   ,x+
 sta   ,y+
L0133 equ *-1
 cmpa  #$0d
 bne   L0130
L0138 lda   #1
 leax  >L0112,pcr
L013e os9 I$ChgDir
L0141 lda   #1
 leax  L0013,pcr
L0144 equ *-3
L0145 equ *-2
L0147 os9 I$Open
L014a lblo  L025b
L014b equ *-3
L014d equ *-1
 sta   D0000
 lda   #3
 sta   D0002
 ldd   ,s++
 beq   L0160
 ldx   D0006
 lda   ,x
L015b equ *-1
 cmpa  #$0d
 bne   L0188
L0160 leax  L002f,pcr
 ldy   #$0016
L0166 equ *-2
L0167 equ *-1
 lbsr  L0296
L016b dec   D0002
L016d leax  L00ca,pcr
 lbmi  L0286
 leax  393,u
 stx   D0006
 leax  L0045,pcr
 ldy   #$000d
 lbsr  L02a5
 bcs   L018d
L0188 lbsr  L02ee
 bcc   L0196
L018d leax  L0052,pcr
L0191 lbsr  L028c
 bra   L016b
L0196 lbsr  L0314
 bcc   L01d2
 ldx   D0006
 lda   ,x
 cmpa  #$0d
 bne   L01c1
 lda   #$2c
 sta   ,x+
 stx   D0006
 leax  L0057,pcr
 ldy   #$000a
 lbsr  L02b2
 lbsr  L02a5
 lbsr  L02da
 bcs   L0191
 lbsr  L0314
 bcc   L01d2
L01c1 leax  393,u
 stx   D0006
 lbsr  L02fc
 bcc   L0196
 leax  L0061,pcr
 bra   L0191
L01d2 lda   D0000
 os9 I$Close
 lbsr  L0363
 ldy   >$004b
 std   D0009,y
 lbsr  L0363
 tsta  
 lbne  L0282
 tstb  
 lbeq  L0282
 os9 F$ID
 os9 F$SPrior
 sta   D0003
 lda   #1
 leax  L0109,pcr
 os9 I$Open
 bcc   L0201
 clra  
L0201 sta   D0001
 lda   #4
 bsr   L025e
 lda   #3
 bsr   L025e
 leax  L0073,pcr
 ldy   #$000a
 bsr   L0290
 leax  3,u
 lbsr  L03be
 leax  L007d,pcr
 bsr   L0296
 leax  L0089,pcr
 bsr   L028c
 lbsr  L034b
 clrb  
 ldx   D0004
 leau  ,x
L022e lda   ,u+
 cmpa  #$30
 bcc   L022e
 cmpa  #$2c
 beq   L023a
 leau  -1,u
L023a lda   ,u+
 cmpa  #$20
 beq   L023a
 leau  -1,u
 pshs  u
 ldy   #0
L0248 lda   ,u+
 leay  D0001,y
 cmpa  #$0d
 bne   L0248
 puls  u
 ldd   #$0100
 os9 F$Chain
 os9 F$PErr
L025b os9 F$Exit
L025e ldx   D0004
 os9 I$ChgDir
 bcs   L027c
 ldx   D0004
L0267 lda   ,x+
 cmpa  #$0d
 beq   L0282
 cmpa  #$2c
 bne   L0267
 lda   #$20
L0273 cmpa  ,x+
 beq   L0273
 leax  ,-x
 stx   D0004
 rts   
L027c leax  L0097,pcr
 bra   L0286
L0282 leax  L00ac,pcr
L0286 bsr   L028c
 clrb  
 os9 F$Exit
L028c ldy   #$0100
L0290 lda   #1
 os9 I$WritLn
 rts   
L0296 bsr   L0290
 leax  L0092,pcr
 ldy   #3
 bsr   L0290
 lbra  L0390
L02a5 bsr   L0290
 ldx   D0006
 ldy   #$0050
 clra  
 os9 I$ReadLn
 rts   
L02b2 pshs  d,x
 leax  473,u
 ldb   #0
 clra  
 os9 I$GetStt
 bcs   L02d4
 lda   ,x
 cmpa  #0
 bne   L02d4
 lda   4,x
 pshs  a
 clr   4,x
 bsr   L02da
 puls  a
 sta   4,x
 puls  d,x,pc
L02d4 lda   #255
 sta   ,x
 puls  d,x,pc
L02da pshs  cc,d,x
 leax  473,u
 lda   ,x
 cmpa  #0
 bne   L02ec
 ldb   #0
 clra  
 os9 I$SetStt
L02ec puls  cc,d,x,pc
L02ee pshs  u
 lda   D0000
 ldx   #0
 leau  ,x
 os9 I$Seek
 puls  u
L02fc lda   D0000
 leax  265,u
 ldy   #$0080
 os9 I$ReadLn
 bcs   L0313
 stx   D0004
 bsr   L0314
 bcs   L02fc
 stx   D0004
L0313 rts   
L0314 ldx   D0004
 ldy   D0006
L0319 lda   ,x+
 cmpa  #$2c
 beq   L032d
 cmpa  #$0d
 beq   L032b
 eora  ,y+
 anda  #$df
 beq   L0319
L0329 comb  
 rts   
L032b leax  -1,x
L032d lda   ,y+
 cmpa  #$2c
 beq   L0339
 cmpa  #$30
 bcc   L0329
 leay  Dffff,y
L0339 lda   ,y+
 cmpa  #$20
 beq   L0339
 leay  Dffff,y
 sty   D0006
 stx   D0004
 clrb  
 rts   
L0348 lbsr  L028c
L034b lda   D0001
 beq   L0361
 leax  393,u
 ldy   #$0050
 os9 I$ReadLn
 bcc   L0348
 lda   D0001
 os9 I$Close
L0361 clrb  
 rts   
L0363 ldx   D0004
 clra  
 clrb  
 pshs  d,x,y
L0369 ldb   ,x+
 subb  #$30
 cmpb  #9
 bhi   L0384
 clra  
 ldy   #$000a
L0376 addd  ,s
 lblo  L0282
 leay  Dffff,y
 bne   L0376
 std   ,s
 bra   L0369
L0384 lda   -1,x
 cmpa  #$2c
 lbne  L0282
 stx   D0004
 puls  d,x,y,pc
L0390 leax  9,u
 os9 F$Time
 bsr   L03b6
 lda   #$20
 bsr   L039f
 bsr   L03ae
 lda   #$0d
L039f pshs  d,x,y
 lda   #1
 ldy   #1
 leax  ,s
 os9 I$WritLn
 puls  d,x,y,pc
L03ae bsr   L03be
 bsr   L03b2
L03b2 lda   #$3a
 bra   L03bc
L03b6 bsr   L03be
 bsr   L03ba
L03ba lda   #$2f
L03bc bsr   L039f
L03be ldb   ,x+
 lda   #$2f
 clr   D0008
L03c4 inca  
 subb  #$64
 bcc   L03c4
 bsr   L03da
 lda   #$3a
L03cd deca  
 addb  #$0a
 bcc   L03cd
 bsr   L039f
 tfr   b,a
 adda  #$30
 bra   L039f
L03da inc   D0008
 cmpa  #$30
 bne   L039f
 dec   D0008
 bne   L039f
 rts   

 emod 

L03e8 equ *

 end

RTS

Return to OS-9 or Top