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

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies