\ Print file date from OSFILE control block \ ========================================= \ Prints date from 01/01/1981 to 31/12/2099 \ On entry (zp)=>OSFILE control block \ On exit A,X,Y corrupted \ .PrFileDate LDY #15:LDA (zp),Y:AND #31:JSR PrDec :\ Day JSR PrSlash INY :LDA (zp),Y:AND #15:JSR PrDec :\ Month JSR PrSlash LDA (zp),Y:LSR A:LSR A:LSR A:DEY :\ Year b0-b3 EOR (zp),Y:AND #&1E:EOR (zp),Y:LSR A :\ Merge with year b4-b6 PHA:CMP #19:LDA #20:SBC #0:JSR PrDec :\ Calculate century PLA:SEC:SBC #19:BCS PrDec:ADC #100 :\ Calculate year : \ Print decimal number by converting it to BCD \ -------------------------------------------- .PrDec TAX:LDA #&99:SED:.PrDecLp CLC:ADC #1:DEX:BNE PrDecLp:CLD : \ Print hex number \ ---------------- .PrHex PHA:LSR A:LSR A:LSR A:LSR A JSR PrNyb:PLA:AND #15:.PrNyb SED:CLC:ADC #&90:ADC #&40 CLD:JMP OSWRCH : .PrSlash LDA #ASC"/":JMP OSWRCH