
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
||
|
Hallo liebes Forum! Hier mal ein Beitrag zur Rubrik Nützliche Einzeiler. Function IsSlowmode sys &h91 &h125c, &hb8cc, &h10bf, &h9aae, &hcc00, &h045f, &h0a7b 'Funktionsergebnis via Stack, sowie auch in byte[24] RETURN option ccbas ? ? "C-Control 1.1: Im BASIC-Programm auf Slowmode testen ..." ? ' PRINT "Slowmode ="; SLOWMODE (Diese Zeile funktioniert so leider nicht) DEFINE b24 byte[24] 'SLOWMODE ON 'SLOWMODE OFF b24=123 PRINT "Vor Funktionsaufruf: Inhalte Userbytes egal -> z.B. byte[24]:'";b24;"'" PRINT "Nach Funktionsaufruf -> Ergebnis via Rechenstack:'";IsSlowmode;"'" PRINT "Nach Funktionsaufruf -> Ergebnis auch in byte[24]:'";b24;"'" PRINT "Kommentar: "; IF IsSlowmode THEN PRINT "Slowmode ";IsSlowmode;" ist aktiv. (1/";IsSlowmode;"-Geschwindigkeit)" ELSE PRINT "FULL SPEED! :)" END IF END Function IsSlowmode sys &h91 &h125c, &hb8cc, &h10bf, &h9aae, &hcc00, &h045f, &h0a7b 'Funktionsergebnis via Stack, sowie auch in byte[24] RETURN 'AS05 Assembler for M6805 [1.44]. Copyright 1994-2015, Frank A. Kingswood Page 1 '------------------------------------------------ L:LBIT-F~1SRC-856isSLOWMO.a05 ------------------------------------------------ ' '12 lines read, no errors in pass 1. '0091 = org $91 ' '0091 : isSlowmode: ;Wird Prozessor derzeit im Slowmode betrieben? '0091 : 0a7b04 [10] brset 5,$7b,Slowmode_Yes '0094 : 5f [ 4] clrx ;Slowmode_No: ;Rueckgabe '0' falls Slowmode nicht aktiv '0095 : cc009a [ 4] jmp CCOS_125c '0098 : Slowmode_Yes: '0098 : ae10 [ 2] ldx #16 ;Slowmode ist aktiv (1/16 Geschwindigkeit) '009a : CCOS_125c '009a : bfb8 [ 5] stx $b8 ;Rueckgabe via Userbyte 24 (vorteilhaft CCPLUS), '009c : cc125c [ 4] jmp $125c ;sowie via Rechenstack zur direkten Verwendung '009f : 9d [ 2] nop ;in BASIC - Funktionen. ' nop '-------------------------------------------- Memory Usage Map ('x'=used, '-'=unused) --------------------------------------------- ' '0080 : ---------------- -xxxxxxxxxxxxxxx ---------------- ---------------- ' 'No errors in pass 2. Lbit |_ >l< C-CONTROL 1.1 [856-714] **vorab02** 00005 00092 00055, 24882 #00001 -------x *04920 +00276 #00002 -------x *05200 +02180 #00003 -------x *07384 +00036 #00004 -------x *07424 +00038 #00005 -------x *07466 +00408 Lbit |_ >5< C-Control 1.1: Im BASIC-Programm auf Slowmode testen ... Vor Funktionsaufruf: Inhalte Userbytes egal -> z.B. byte[24]:'123' Nach Funktionsaufruf -> Ergebnis via Rechenstack:'0' Nach Funktionsaufruf -> Ergebnis auch in byte[24]:'0' Kommentar: FULL SPEED! :) ¦OK! |_ >3 Slowmode ON Lbit |_ >5< C-Control 1.1: Im BASIC-Programm auf Slowmode testen ... Vor Funktionsaufruf: Inhalte Userbytes egal -> z.B. byte[24]:'123' Nach Funktionsaufruf -> Ergebnis via Rechenstack:'16' Nach Funktionsaufruf -> Ergebnis auch in byte[24]:'16' Kommentar: Slowmode 16 ist aktiv. (1/16-Geschwindigkeit) Lbit |_ > < |
| Antwort schreiben |