Herunterladen Inhalt Inhalt Diese Seite drucken

Hitachi HIDICMICRO-EH Handbuch Seite 150

Inhaltsverzeichnis

Werbung

Syntax von JMP, CJMP
1) LBL n und JMP n müssen beide die selbe
Sprung-Nummer n verwenden.
• Wird JMP 1 ausgeführt, wenn kein LBL 1
JMP 1
existiert, so tritt ein "LBL nicht definiert"-Fehler
Programm A
auf.
LBL 2
JMP 1 wird dann nicht ausgeführt, sondern der
Programm B
nächste Befehl im Programm A abgearbeitet.
2) Durch Ausführung des Sprungs darf der Programm-
bereich nicht verlassen werden:
Programm-Start
JMP 1
LBL 7
Normales Programm
JMP 2
LBL 3
END
SB
JMP 3
Unterprogramm
LBL 2
JMP 4
RTS
SB
LBL 4
JMP 5
Unterprogramm
LBL 6
RTS
INTO
JMP 6
Interrupt-
Programm
LBL 5
JMP 7
LBL 1
RTI
3) Die Sprung-Nummer n darf für ein und dieselbe JMP- oder
LBL-Anweisung nicht mehrfach verwendet werden:
• Die mit A und B bezeichneten
JMP 5
Sprungmarken haben beide die
Sprungnummer 5, es tritt somit ein
A
LBL 5
Fehler vom Typ „Doppelte Defini-
tion" auf.
B LBL 5
4) Verschachtelung von JMP Befehlen ist erlaubt:
JMP 0
JMP 1
JMP 2
LBL 1
LBL 0
JMP 3
LBL 2
JMP 4
LBL 3
LBL 4
5) Der JMP-Befehl darf auch
an eine Stelle vor dem
Befehl selbst springen:
LBL 0
CJMP 1 (X00000)
JMP 0
LBL 1
• Bei Ausführen der Anweisung
JMP 1 wird ein Fehler („Ber-
eich wurde verlassen") erzeugt,
da sich die Sprungmarke LBL 1
nicht innerhalb des normalen
Programmbereichs befindet.
JMP 1 wird dann nicht aus-
geführt, sondern der nächste
Befehl des Programms abge-
arbeitet.
• Ähnlich verhält es sich bei
JMP 2 bis JMP 7.
• Wenn Eingang X00000 eingeschaltet
wird, kann die Schleife JMP 0 / LBL 0
zur Sprungmarke LBL1 hin verlassen
werden.
• JMP 0 springt zu LBL 0, welches sich
vor der JMP-Anweisung befindet.
• Falls kein Befehl wie CJMP 1 (X00000)
zum Verlassen der Schleife existiert,
dann wird die Schleife zwischen LBL 0
und JMP 0 endlos fortgesetzt.
6) Es dürfen mehrere JMP-Anweisungen mit ein und
derselben Sprung-Nummer verwendet werden:
JMP 5
JMP 5
CJMP 5
LBL 5
7) Es darf eine Startbedingung für JMP-Anweisungen
programmiert werden:
Startbedingung
X00000 X00001
X00002
JMP 0
Programm A
Programm B
X00003
Programm C
LBL 0
8) Die CJMP-Anweisung folgt der selben Syntax wie unter
1) bis 7) für JMP beschrieben:
Anm. 1: Wenn mit einem JMP zu einem LBL gesprungen
wird, bleibt der Status aller E/A zwischen JMP und LBL
erhalten. Der Istwert der Zeitgeber wird jedoch aktualisiert.
X00000
JMP 1
X00001
TD0
0,1s
100
LBL 1
Anm. 2: Wenn die JMP-Anweisung zusammen mit MCS
bzw. MCR verwendet wird, so werden die folgenden
Aktionen ausgeführt:
X00000
JMP 2
Programm
X00001
MCS0
Programm
LBL 2
X00002
Y00100
MCR0
Anm. 3: Programmieren Sie niemals eine Schaltung,
in der ein MCS/MCR-Bereich durch einen Sprung
verlassen wird.
5-104
Kapitel 5 - Anweisungen
• Wenn ein Sprung von
JMP 0 nach LBL 0
durchgeführt wird,
werden die Programme
A, B und C nicht
ausgeführt.
• Wenn X00001 und anschließend
X00000 eingeschaltet wird, wird
der Istwert von TD0 aktualisiert,
selbst wenn ein Sprung von JMP1
nach LBL1 stattfindet. Wenn
X00000 eingeschaltet bleibt, so
wird TD0 nicht eingeschaltet,
selbst wenn sein Istwert den Wert
100 überschreitet.
• Wenn JMP 2 nicht ausgeführt
wird, so wird Y00100
eingeschaltet, falls sowohl
X00001 als auch X00002
eingeschaltet sind.
• Wenn JMP 2 ausgeführt wird
und X00001 eingeschaltet ist,
so folgt Y00100 den logischen
Zuständen von X00002, un-
abhängig vom Zustand von
X00001.

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis