home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Antic Magazine 1989 October
/
Antic_Magazine_1989_10_Antic_Side_A.atr
/
profile.m65
< prev
next >
Wrap
Text File
|
2023-02-26
|
2KB
|
1 lines
10 ;BASIC PROFILER SOURCE CODE¢20 ; BY STAN LACKEY¢30 ;¢40 ; 130XE VERSION BY ERIC WOODRUFF¢50 ; (c) 1989, ANTIC PUBLISHING, INC.¢60 ;¢70 ;¢80 ; DEFINITIONS:¢90 STMCUR = $8A ;Pointer into user program.¢0100 MEMPTR = $D0 ;Memory pointer.¢0110 PROFEN = $04FE ;Profiler On/Off flag.¢0120 PORTB = $D301¢0130 ;¢0140 *= $0600 ;Relocatable.¢0150 ;¢0160 ; SAMPLE is the timer interrupt¢0170 ; routine. It takes the current¢0180 ; line number, multiplies it by¢0190 ; 2, and swaps in the correct¢0200 ; bank of extended RAM to bump¢0210 ; up the 16-bit line counter.¢0220 ; With the extra 64K, each line¢0230 ; (0-32767) has its own counter.¢0240 ;¢0250 SAMPLE¢0260 LDA PROFEN ;Is profiler¢0270 BEQ OUT ;active?¢0280 ;If not, exit.¢0290 ;¢0300 SPL1¢0310 TYA ;Must save Y.¢0320 PHA ¢0330 LDA PORTB ;Save PORTB.¢0340 PHA ¢0350 LDY #0 ;Get the¢0360 LDA (STMCUR),Y ;line number.¢0370 STA MEMPTR¢0380 INY ¢0390 LDA (STMCUR),Y ;High byte.¢0400 BMI ERR ;Line # > 32767.¢0410 ;Line ok, so increment counter.¢0420 ;¢0430 ASL A ;Multiply by¢0440 CLC ;two to get¢0450 ASL MEMPTR ;address in¢0460 ADC #0 ;extended RAM.¢0470 CMP #$40 ;Select bank 0?¢0480 BCS SB1¢0490 LDY #0¢0500 BEQ SELC¢0510 SB1 CMP #$80 ;Select bank 1?¢0520 BCS SB2¢0530 LDY #1¢0540 BNE SELC¢0550 SB2 CMP #$C0 ;Select bank 2?¢0560 BCS SB3¢0570 LDY #2¢0580 BNE SELC¢0590 SB3 LDY #3 ;Select bank 3.¢0600 SELC AND #$3F¢0610 ORA #$40 ;Find counter¢0620 STA MEMPTR+1 ;in RAM.¢0630 TYA ¢0640 ASL A ;Bank * 4 + 193.¢0650 ASL A¢0660 CLC ¢0670 ADC #193¢0680 STA PORTB ;Switch to it.¢0690 LDY #0 ;Increment the¢0700 LDA (MEMPTR),Y ;line's¢0710 CLC ;counter.¢0720 ADC #1¢0730 STA (MEMPTR),Y¢0740 BCC EXIT¢0750 INY ;Carry, so¢0760 LDA (MEMPTR),Y ;increment¢0770 ADC #0 ;high half.¢0780 STA (MEMPTR),Y¢0790 BNE EXIT ;Overflow test.¢0800 ERR¢0810 LDA #0 ;Stop: Overflow¢0820 STA PROFEN ;or line>32767.¢0830 EXIT¢0840 PLA ¢0850 STA PORTB ;Restore PORTB.¢0860 PLA ¢0870 TAY ;Restore Y reg.¢0880 OUT PLA ¢0890 RTI ;End of SAMPLE.¢əəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəə