home *** CD-ROM | disk | FTP | other *** search
/ 64'er 1986 April / 64er_Magazin_86-04_1986_Markt__Technik_de.d64 / taktzyklen.src (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  2KB  |  79 lines

  1. 100 sys9*4096
  2. 110 .opt oo
  3. 120 ;
  4. 130 ;
  5. 140 ; taktzyklen eines
  6. 150 ; maschinenprogramms messen
  7. 160 ;
  8. 170 ;
  9. 180 ; von  mark richters
  10. 190 ;      allerstr.4
  11. 200 ;      2806 oyten
  12. 210 ;      tel. 04207/1870
  13. 220 ;
  14. 230 ;
  15. 240 *=$c000
  16. 250 ;
  17. 260 fac      =$62   ;fliesskomma-akku
  18. 270 frmnum   =$ad8a ;ausdruck holen
  19. 280 chkcom   =$aefd ;auf komma pruefen
  20. 290 getadr   =$b7f7 ;2-byte integer
  21. 300 vicctrl  =$d011 ;reg. fuer bs aus
  22. 310 raster   =$d012 ;raster-zeile
  23. 320 timer    =$dd04 ;timer a lo-byte
  24. 330 cra      =$dd0e ;timer a control
  25. 340 crb      =$dd0f ;timer b control
  26. 350 ;---------------
  27. 360 jsr chkcom      ;startadresse der
  28. 370 jsr frmnum      ;zu messenden
  29. 380 jsr getadr      ;routine holen
  30. 390 sty jsubr+1     ;und als sprung-
  31. 400 sta jsubr+2     ;adresse speichern
  32. 410 ;
  33. 420 sei             ;irq sperren
  34. 430 lda #%00001011  ;bildschirm aus
  35. 440 sta vicctrl
  36. 450 wait lda raster ;warten bis bild-
  37. 460 bne wait        ;schirm ganz aus
  38. 470 ;
  39. 480 ldx #3          ;beide timer auf
  40. 490 lda #$ff        ;maximalwert
  41. 500 settimer sta timer,x
  42. 510 dex
  43. 520 bpl settimer
  44. 530 ;
  45. 540 lda #%00010001  ;timer koppeln,
  46. 550 ldx #%01010001  ;laden und starten
  47. 560 stx crb
  48. 570 sta cra
  49. 580 ;---------------
  50. 590 jsubr jsr $ffff ;sprung auf routine
  51. 600 ;---------------
  52. 610 ldy #0          ;beide timer stop
  53. 620 sty cra
  54. 630 sty crb
  55. 640 lda #%00011011  ;bildschirm wieder
  56. 650 sta vicctrl     ;an
  57. 660 cli             ;irq wieder frei-
  58. 670 ;
  59. 680 sec             ;4 timer-bytes
  60. 690 lda timer       ;umrechnen
  61. 700 eor #$ff        ;fuer aufruf be-
  62. 710 sbc #11         ;noetigte zyklen
  63. 720 sta fac+3       ;abziehen
  64. 730 ldx #3          ;und die restlichen
  65. 740 ;
  66. 750 l1 lda timer+1,y;3 timer-werte
  67. 760 eor #$ff        ;anpassen
  68. 770 sbc #0
  69. 780 sta fac-1,x
  70. 790 iny
  71. 800 dex
  72. 810 bne l1
  73. 820 ;
  74. 830 sec
  75. 840 txa             ;4 byte werten
  76. 850 ldx #$a0        ;ohne vorzeichen
  77. 860 jsr $bc4f       ;in fliesskommazahl
  78. 870 jmp $bdd7       ;fac ausgeben/rts
  79.