Dies ist eine alte Version des Dokuments!


Erweiterung

MPBASIC kann um neue Prozeduren/Funktionen erweitert werden.

Beispiel1:

simple Prozedur CLS, simple Funktion LET (nicht mit dem Kommando LET verwechseln!)

      17/    8000 : 03 43 4C 53         tab_prc:	db	3,"CLS"
      18/    8004 : 80 0D               		dw	p_cls
      19/    8006 : 03 4C 45 54         		db	3,"LET"
      20/    800A : 80 13               		dw	f_let
      21/    800C : FF                  		db	0FFh		; Listenende
      28/    800D :                     
      29/    800D : 5C 0C               p_cls:		ld	r5, #12	; cls
      30/    800F : D6 08 18            		call	putch
      31/    8012 : AF                  		ret
      32/    8013 :                     
      40/    8013 : 28 E4               f_let:		ld	R2, R4		; Y := X
      41/    8015 : 38 E5               		ld	R3, R5
      42/    8017 : AF                  		ret

Nutzung in BASIC

1 PROC SETRR[8,%8000];REM Erweiterung einbinden
10 PROC CLS
20 LET A=41,B=42
30 PRINT A,B
40 PROC [A]=LET[B];PRINT LET[A]
50 PRINT A,B

ES4.0:
1OSETRR[8,%8000]
10OCLS
20LA=41,B=42
30PA,B
40O[A]=LET[B]
50PLET[A]
60PA,B
9999E

in Zeile 1 wird die Erweiterung aktiviert (Reg8+9 mit Adresse der externen Prozedurtabelle laden). Zeile 10 ruft die Prozedur „CLS“ auf. Zeile 40 demonstriert den Aufruf der Funktion „LET“ via PROC. Es passiert dasselbe wie bei LET A=B. Zeile 50 kopiert den Wert aus A in eine temporäre Variable, und diese wird ausgegeben. Es passiert also dasselbe wie bei PRINT A.

  • elektronik/u883/mpbasicerw.1628429628.txt.gz
  • Zuletzt geändert: 2021/08/08 13:33
  • von volkerp