Bei Verwendung von Megalock Einzelbefehlen ist es erforderlich, dass die Zeichenfolge ML.. vor jedem Befehl gesetzt wird. Die Einzelbefehle können an beliebigen Stellen in Ihrem Programmcode angegeben werden. Kontrollstrukturen (if, then, for next, do while usw.) können nicht als Einzelbefehle eingegeben werden. Einzelbefehle können nicht im Debugger überprüft werden. |
|
Die Variablen für Einzelbefehle müssen für den Megalock Compiler, wie folgt, gekennzeichnet werden |
% |
numerische Variable 16-Bit, z.B. Zahl% |
$ |
String Variable,
z.B. Text$ |
# |
numerische Variable 32-Bit, z.B. Zahl# |
@ |
Pointervariable, z.B. @Zahl% oder @Text$ |
|
|
|
|
|
Ein Unterprogramm mit Megalock-Einzelbefehlen in der Programmiersprache C |
void EXAMPLE() { ushort CounterReg, RDataReg;
char StrTab[33];
ML..PROGNO=0
ML..ACount(0,CounterReg%)
printf ("\n\nInhalt CounterTab(0) = %u\n", CounterReg);
strcpy (StrTab,"Kryptieren können alle, wir auch");
ML..CLock(0,32,StrTab$)
printf ("\nString crypt = %s", StrTab);
ML..RData(0,RDataReg%)
printf ("\n\nInhalt DataTab(0) = %u", RDataReg);
|
|
|
|
|
|
Der Megalock-Compiler übersetzt die Megalock-Befehle und erzeugt die entspechenden Aufrufe. |
void EXAMPLE() {
ushort CounterReg, RDataReg;
char StrTab[33];
/* ML..PROGNO=0 */
MEGALOCK4(0x1000865aL,&CounterReg); /* ML..ACount(0,CounterReg%) */
printf ("\n\nInhalt CounterTab(0) = %u\n", CounterReg);
strcpy (StrTab,"Kryptieren können alle, wir auch");
MEGALOCK9(0x00000950L,(char *)StrTab,0x0020); /* ML..CLock(0,32,StrTab$) */
printf ("\nString crypt = %s", StrTab);
MEGALOCK4(0x1000e2f5L,&RDataReg); /* ML..RData(0,RDataReg%) */
printf ("\n\nInhalt DataTab(0) = %u", RDataReg);} |
|
|
|