## MODIFIED Requirements ### Requirement: Ereigniszustellung an Anweisungsgrenzen Die VM SHALL an Anweisungsgrenzen prüfen, ob ein Ereignis zuzustellen ist, und in diesem Fall das `GOSUB`-Ziel des zugehörigen Traps ausführen. Der unterbrochene Zustand — Aufrufkette, Schleifen, Locals, `GOSUB`-Stapel und Fehlerzustand — MUST dabei erhalten bleiben; mit `RETURN` SHALL die Ausführung an der unterbrochenen Stelle fortfahren. Die Prüfung MUST NOT pro Opcode erfolgen; solange kein Trap definiert ist, MUST sie auf einen einzelnen Test hinauslaufen und MUST NOT die Uhr lesen. Ohne klassische Traps, aktive Forms-Timer oder zeitabhängige Mausauswertung SHALL auch die Forms-Integration keine Hostzeit abfragen. #### Scenario: Trap aus einer Prozedur heraus - **WHEN** ein Ereignis zugestellt wird, während eine `SUB` läuft, und das Trap-Ziel im Modulrumpf liegt - **THEN** läuft der Handler und nach `RETURN` setzt die `SUB` an der unterbrochenen Anweisung fort #### Scenario: Ohne aktiven Trap wird die Uhr nicht gelesen - **WHEN** ein Programm ohne jede `ON …`-Trap-Definition ausgeführt wird - **THEN** fragt die Ausführung an keiner Anweisungsgrenze die Zeit ab, und der Durchsatz bleibt im Rahmen der Messgenauigkeit unverändert #### Scenario: Einfaches Programm liest keine Ereigniszeit - **WHEN** ein Programm nur Zuweisungen und END ausführt und ein Testhost Zeitabfragen zählt - **THEN** ist der Zähler am Ende 0