Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006....

112
Introduction The Kiel Esterel Processor The Compiler Wrap-Up Multi-Threaded Reactive Processing Xin Li Marian Boldt Reinhard v. Hanxleden Real-Time Systems and Embedded Systems Group Department of Computer Science Christian-Albrechts-Universit¨ at zu Kiel, Germany www.informatik.uni-kiel.de/rtsys SYNCHRON’06 November 2006 Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 1

Transcript of Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006....

Page 1: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

Multi-Threaded Reactive Processing

Xin Li Marian Boldt Reinhard v. Hanxleden

Real-Time Systems and Embedded Systems GroupDepartment of Computer Science

Christian-Albrechts-Universitat zu Kiel, Germanywww.informatik.uni-kiel.de/rtsys

SYNCHRON’06November 2006

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 1

Page 2: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

Reactive SystemsReactive Processing I: LanguageReactive Processing II: Execution PlatformRelated Work/Contributions

Why “Reactive Processing”?

Control flow on traditional (non-embedded) computing systems:

I Jumps, conditional branches, loops

I Procedure/method calls

Control flow on embedded, reactive systems: all of the above, plus

I Concurrency

I Preemption

The problem: mismatch between traditional processingarchitectures and reactive control flow patterns

I Processing overhead, e. g. due to OS involvement or need tosave thread states at application level

I Timing unpredictability

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 2

Page 3: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

Reactive SystemsReactive Processing I: LanguageReactive Processing II: Execution PlatformRelated Work/Contributions

Why bother?

Reactive processing yields

I Low power requirements

I Deterministic control flow

I Predictable timing

I Short design cycle

Can use reactive processor

I in stand alone, smallreactive applications

I as building block in SoCdesigns

ReactiveProcessorDSP

Global Memory

Communication Backplane

IPs

HW blk

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 3

Page 4: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

Reactive SystemsReactive Processing I: LanguageReactive Processing II: Execution PlatformRelated Work/Contributions

Reactive Processing Part I: The LanguageHave chosen Esterel:

I Created in the early 1980’s

I For programming control-dominated reactive systems

I Used as intermediate language for Statecharts (Safe StateMachines)

I Textual imperative language with reactive control flowconstructs

I ConcurrencyI Weak/strong abortionI ExceptionsI Suspension

I A synchronous language

I Deterministic behavior, clean semantics

I Currently undergoing IEEE standardization (v7)

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 4

Page 5: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

Reactive SystemsReactive Processing I: LanguageReactive Processing II: Execution PlatformRelated Work/Contributions

Reactive Processing Part II: The Execution Platform

Hardware

CustomHardware

Environment

Software

COTS-μC

COTS Assembler

Environment

Co-design

COTS-μC

COTS Assembler

Environment

CustomHardware

Patched Processor

Extended Assembler

Environment

PICCore Extension Esterel-μC

Esterel Assembler

Esterel Processor

Environment

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 5

Page 6: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

Reactive SystemsReactive Processing I: LanguageReactive Processing II: Execution PlatformRelated Work/Contributions

Related Work/Contributions

RePIC [Roop et al.’04]/EMPEROR [Yoong et al.’06]

I Multi-processing patched reactive processor

I Three-valued signal logic + cyclic executive

Kiel Esterel Processor 1–3

I Multi-threading custom reactive processor

I Provides most Esterel primitives, but still incomplete

I No compilation scheme to support concurrency

KEP3a (this work)

I Provides all Esterel primitives

I Refined ISA

I Compiler exploits multi-threading

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 6

Page 7: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Esterel LanguageInstruction Set ArchitectureProcessor Architecture

Overview

Introduction

The Kiel Esterel ProcessorThe Esterel LanguageInstruction Set ArchitectureProcessor Architecture

The Compiler

Wrap-Up

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 7

Page 8: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Esterel LanguageInstruction Set ArchitectureProcessor Architecture

The Esterel Language

Logical Ticks

I Execution is divided into ticks

I Synchrony hypothesis:Outputs generated from given inputsoccur at the same tick

Signals

I Present or absent throughout a tick

I Used to communicate internally andwith the environment

module ABRO:

input A, B, R;

output O;

loop

abort

[ await A

||

await B ];

emit O

halt;

when R

end loop;

end module

Tick-

AB

O

R

ABR

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 8

Page 9: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Esterel LanguageInstruction Set ArchitectureProcessor Architecture

Candidates for the Instruction SetEsterel kernel statements

I ||I suspend ... when SI trap T in ... exit T ... end trapI pauseI signal S in ... endI emit SI present S then ... endI nothingI loop ... end loopI ;

Derived statementsI [weak] abort ... when SI await SI ...

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 9

Page 10: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Esterel LanguageInstruction Set ArchitectureProcessor Architecture

The KEP Instruction Set

I Includes all kernel statements

I In addition, some derived statementsThis redundancy improves space/time efficiency

T0S: % trap T in

A0: % loop

PAUSE % pause;

PRESENT S,A1 % present S then

EXIT T0E , T0S % exit T

A1: % end present

GOTO A0 % end loop

T0E: % end trap;

≡ AWAIT S % await S

I Refined ISA to reduce HW usageExample: abort can translate to

ABORT in the most general caseLABORT if no other [L]ABORTS are included in abort scopeTABORT if neither || nor other [L|T]ABORTS are included

I Furthermore: valued signals, pre, delay expressions, . . .

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 10

Page 11: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Esterel LanguageInstruction Set ArchitectureProcessor Architecture

The Kiel Esterel Processor Architecture

Thread Block

Kiel Esterel Processor 3

Inne

r bus

(Dat

a/A

ddr)

Instruction Memory

InstructionFetch

AddressMultiplexer

Tick, TickWarn&

InstrClk

Reset

OscClk

Decoder&

Controller

ReactiveBlock

Inne

r Ti

ck a

nd

Con

trol

Sig

nals

RegisterFile

Interfaceblock

ALU

MUXMUX

TickManager

Input/output Signals

ThreadController

subPCRegister

File

I Reactive CoreI Decoder & Controller, Reactive Block, Thread Block

I Interface BlockI Interface signals, Local signals, . . .

I Data HandlingI Register file, ALU, . . .

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 11

Page 12: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Esterel LanguageInstruction Set ArchitectureProcessor Architecture

The Architecture of the Reactive Core

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 12

Page 13: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

Overview

Introduction

The Kiel Esterel Processor

The CompilerThe Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

Wrap-Up

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 13

Page 14: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

The KEP Compiler

Thread scheduling:

1. Construct Concurrent KEP Assembler Graph (CKAG)

2. Compute thread priorities/ids that respect dependencies

3. Generate PAR and PRIO statements accordingly

Other tasks:

I Analyze Watcher requirements

I Map Esterel statements to KEP refined ISA

Optimizations:

I Dead code elimination, based on CKAG

I “Undismantling” of kernel statements

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 14

Page 15: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

module EXAMPLE:

output A,R;

end module

module: EXAMPLE % module Example

OUTPUT A,R

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 14

Page 16: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

module EXAMPLE:

output A,R;

[

||

]

end module

module: EXAMPLE % module Example

OUTPUT A,R

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 14

Page 17: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

module EXAMPLE:

output A,R;

[

||

]

end module

module: EXAMPLE

L03 fork

L04 A0

1

L08 A1

1

% module Example

OUTPUT A,R

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 14

Page 18: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

module EXAMPLE:

output A,R;

[

||

]

end module

module: EXAMPLE

L03 fork

L04 A0

1

L08 A1

1

% module Example

OUTPUT A,R

L01: PAR 1,A0,1

L02: PAR 1,A1,2

L03: PARE A2

L04: A0:

L08: A1:

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 14

Page 19: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

module EXAMPLE:

output A,R;

[

weak abort

when A

||

]

end module

module: EXAMPLE

L03 fork

L04 A0

1

L08 A1

1

% module Example

OUTPUT A,R

L01: PAR 1,A0,1

L02: PAR 1,A1,2

L03: PARE A2

L04: A0:

L08: A1:

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 14

Page 20: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

module EXAMPLE:

output A,R;

[

weak abort

when A

||

]

end module

module: EXAMPLE

L03 fork

L04 A0 L08 A1

1

L04 WABORT A,A3

% module Example

OUTPUT A,R

L01: PAR 1,A0,1

L02: PAR 1,A1,2

L03: PARE A2

L04: A0:

L08: A1:

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 14

Page 21: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

module EXAMPLE:

output A,R;

[

weak abort

when A

||

]

end module

module: EXAMPLE

L03 fork

L04 A0 L08 A1

1

L04 WABORT A,A3

% module Example

OUTPUT A,R

L01: PAR 1,A0,1

L02: PAR 1,A1,2

L03: PARE A2

L04: A0: WABORT A,A3

L08: A3:A1:

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 14

Page 22: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

module EXAMPLE:

output A,R;

[

weak abort

sustain R

when A

||

]

end module

module: EXAMPLE

L03 fork

L04 A0 L08 A1

1

L04 WABORT A,A3

% module Example

OUTPUT A,R

L01: PAR 1,A0,1

L02: PAR 1,A1,2

L03: PARE A2

L04: A0: WABORT A,A3

L08: A3:A1:

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 14

Page 23: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

module EXAMPLE:

output A,R;

[

weak abort

sustain R

when A

||

]

end module

module: EXAMPLE

L03 fork

L04 A0

1

L08 A1

1

L04 WABORT A,A3

L05 A4

L05 EMIT R

L06 PAUSE

L07 GOTO A4

% module Example

OUTPUT A,R

L01: PAR 1,A0,1

L02: PAR 1,A1,2

L03: PARE A2

L04: A0: WABORT A,A3

L08: A3:A1:

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 14

Page 24: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

module EXAMPLE:

output A,R;

[

weak abort

sustain R

when A

||

]

end module

module: EXAMPLE

L03 fork

L04 A0

1

L08 A1

1

L04 WABORT A,A3

1

L05 A4

L05 EMIT R

L06 PAUSE

L07 GOTO A4L08 A3

Aw

% module Example

OUTPUT A,R

L01: PAR 1,A0,1

L02: PAR 1,A1,2

L03: PARE A2

L04: A0: WABORT A,A3

L08: A3:A1:

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 14

Page 25: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

module EXAMPLE:

output A,R;

[

weak abort

sustain R

when A

||

]

end module

module: EXAMPLE

L03 fork

L04 A0

1

L08 A1

1

L04 WABORT A,A3

1

L05 A4

L05 EMIT R

L06 PAUSE

L07 GOTO A4L08 A3

Aw

% module Example

OUTPUT A,R

L01: PAR 1,A0,1

L02: PAR 1,A1,2

L03: PARE A2

L04: A0: WABORT A,A3

L05: A4: EMIT R

L06: PAUSE

L07: GOTO A4

L08: A3:A1:

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 14

Page 26: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

module EXAMPLE:

output A,R;

[

weak abort

sustain R

when A

||

pause;

]

end module

module: EXAMPLE

L03 fork

L04 A0

1

L08 A1

1

L04 WABORT A,A3

1

L05 A4

L05 EMIT R

L06 PAUSE

L07 GOTO A4L08 A3

Aw

% module Example

OUTPUT A,R

L01: PAR 1,A0,1

L02: PAR 1,A1,2

L03: PARE A2

L04: A0: WABORT A,A3

L05: A4: EMIT R

L06: PAUSE

L07: GOTO A4

L08: A3:A1:

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 14

Page 27: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

module EXAMPLE:

output A,R;

[

weak abort

sustain R

when A

||

pause;

]

end module

module: EXAMPLE

L03 fork

L04 A0

1

L08 A1

1

L04 WABORT A,A3

L05 A4

L05 EMIT R

L06 PAUSE

L07 GOTO A4L08 A3

Aw

L08 PAUSE

% module Example

OUTPUT A,R

L01: PAR 1,A0,1

L02: PAR 1,A1,2

L03: PARE A2

L04: A0: WABORT A,A3

L05: A4: EMIT R

L06: PAUSE

L07: GOTO A4

L08: A3:A1:

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 14

Page 28: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

module EXAMPLE:

output A,R;

[

weak abort

sustain R

when A

||

pause;

]

end module

module: EXAMPLE

L03 fork

L04 A0

1

L08 A1

1

L04 WABORT A,A3

L05 A4

L05 EMIT R

L06 PAUSE

L07 GOTO A4L08 A3

Aw

L08 PAUSE

% module Example

OUTPUT A,R

L01: PAR 1,A0,1

L02: PAR 1,A1,2

L03: PARE A2

L04: A0: WABORT A,A3

L05: A4: EMIT R

L06: PAUSE

L07: GOTO A4

L08: A3:A1:PAUSE

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 14

Page 29: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

module EXAMPLE:

output A,R;

[

weak abort

sustain R

when A

||

pause;

present R then

emit A

end present

]

end module

module: EXAMPLE

L03 fork

L04 A0

1

L08 A1

1

L04 WABORT A,A3

L05 A4

L05 EMIT R

L06 PAUSE

L07 GOTO A4L08 A3

Aw

L08 PAUSE

% module Example

OUTPUT A,R

L01: PAR 1,A0,1

L02: PAR 1,A1,2

L03: PARE A2

L04: A0: WABORT A,A3

L05: A4: EMIT R

L06: PAUSE

L07: GOTO A4

L08: A3:A1:PAUSE

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 14

Page 30: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

module EXAMPLE:

output A,R;

[

weak abort

sustain R

when A

||

pause;

present R then

emit A

end present

]

end module

module: EXAMPLE

L03 fork

L04 A0

1

L08 A1

1

L04 WABORT A,A3

L05 A4

L05 EMIT R

L06 PAUSE

L07 GOTO A4L08 A3

Aw

L08 PAUSE

L09 PRESENT R,A5

L10 EMIT A

t

L11 A5

f

% module Example

OUTPUT A,R

L01: PAR 1,A0,1

L02: PAR 1,A1,2

L03: PARE A2

L04: A0: WABORT A,A3

L05: A4: EMIT R

L06: PAUSE

L07: GOTO A4

L08: A3:A1:PAUSE

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 14

Page 31: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

module EXAMPLE:

output A,R;

[

weak abort

sustain R

when A

||

pause;

present R then

emit A

end present

]

end module

module: EXAMPLE

L03 fork

L04 A0

1

L08 A1

1

L04 WABORT A,A3

L05 A4

L05 EMIT R

L06 PAUSE

L07 GOTO A4L08 A3

Aw

L08 PAUSE

L09 PRESENT R,A5

L10 EMIT A

t

L11 A5

f

% module Example

OUTPUT A,R

L01: PAR 1,A0,1

L02: PAR 1,A1,2

L03: PARE A2

L04: A0: WABORT A,A3

L05: A4: EMIT R

L06: PAUSE

L07: GOTO A4

L08: A3:A1:PAUSE

L09: PRESENT R,A5

L10: EMIT A

L11: A5:

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 14

Page 32: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

module EXAMPLE:

output A,R;

[

weak abort

sustain R

when A

||

pause;

present R then

emit A

end present

]

end module

module: EXAMPLE

L03 fork

L04 A0

1

L08 A1

1

L04 WABORT A,A3

L05 A4

L05 EMIT R

L06 PAUSE

L07 GOTO A4L08 A3

Aw

L11 join

L08 PAUSE

L09 PRESENT R,A5

L10 EMIT A

t

L11 A5

f

L12 HALT

% module Example

OUTPUT A,R

L01: PAR 1,A0,1

L02: PAR 1,A1,2

L03: PARE A2

L04: A0: WABORT A,A3

L05: A4: EMIT R

L06: PAUSE

L07: GOTO A4

L08: A3:A1:PAUSE

L09: PRESENT R,A5

L10: EMIT A

L11: A5:

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 15

Page 33: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

module EXAMPLE:

output A,R;

[

weak abort

sustain R

when A

||

pause;

present R then

emit A

end present

]

end module

module: EXAMPLE

L03 fork

L04 A0

1

L08 A1

1

L04 WABORT A,A3

L05 A4

L05 EMIT R

L06 PAUSE

L07 GOTO A4L08 A3

Aw

L11 join

L08 PAUSE

L09 PRESENT R,A5

L10 EMIT A

t

L11 A5

f

L12 HALT

% module Example

OUTPUT A,R

L01: PAR 1,A0,1

L02: PAR 1,A1,2

L03: PARE A2

L04: A0: WABORT A,A3

L05: A4: EMIT R

L06: PAUSE

L07: GOTO A4

L08: A3:A1:PAUSE

L09: PRESENT R,A5

L10: EMIT A

L11: A5:A2:JOIN

L12: HALT

The Compilation Challenge: Thread Dependencies

module EXAMPLE:

output A,R;

[

weak abort

sustain R;

when A

||

pause;

present R then

emit A

end present

]

end module

Tick-

R RA

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 15

Page 34: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

Dealing With Dependenciesmodule: EXAMPLE

[T0] PAR*

[T2] A0

2

[T1] A1

1

[T2] WABORT A,A3

[T2] A4

[T2] EMIT R

[T2] PAUSE

[T1] PRESENT R,A5

[T2] GOTO A4 [T2] A3

Aw

[T2] NOTHING

[T0] JOIN 0

[T1] PAUSE

[T1] EMIT A

t

[T1] A5

f

[T1] NOTHING

[T0] HALT

module: EXAMPLE

[T0,P2] PAR*

[T2,P2] A0

2

[T1,P1] A1

1

[T2,P2] WABORT A,A3

[T2,P2] A4

[T2,P2] EMIT R

[T1,P2] PRESENT R,A5

i

[T2,P1] PRIO 1

[T2,P1/2] PAUSE

[T2,P2] GOTO A4 [T2,P1] A3

Aw

[T2,P1] NOTHING

[T0,P1] JOIN 0

[T1,P2] PRIO 2

[T1,P1/2] PAUSE

[T1,P2] EMIT A

t

[T1,P1] A5

fi

[T1,P1] PRIO 1

[T1,P1] NOTHING

[T0,P1/1] HALT

[T2,P2] PRIO 2

1. Add dependenciesto CKAG

2. Compute statementpriorities

3. Assign initial threadprios

4. Insert PRIO stmts

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 16

Page 35: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

Dealing With Dependenciesmodule: EXAMPLE

[T0,P2] PAR*

[T2,P2] A0

2

[T1,P1] A1

1

[T2,P2] WABORT A,A3

[T2,P2] A4

[T2,P2] EMIT R

[T1,P2] PRESENT R,A5

i

[T2,P1] PRIO 1

[T2,P1/2] PAUSE

[T2,P2] GOTO A4 [T2,P1] A3

Aw

[T2,P1] NOTHING

[T0,P1] JOIN 0

[T1,P2] PRIO 2

[T1,P1/2] PAUSE

[T1,P2] EMIT A

t

[T1,P1] A5

fi

[T1,P1] PRIO 1

[T1,P1] NOTHING

[T0,P1/1] HALT

[T2,P2] PRIO 2

% module Example

OUTPUT A,R

EMIT _TICKLEN ,#14

[L01 ,T0,P2] PAR 2,A0 ,2

[L02 ,T0,P2] PAR 1,A1 ,1

[L03 ,T0,P2] PARE A2 ,2

[L04 ,T2,P2] A0: WABORT A,A3

[L05 ,T2,P2] A4: EMIT R

[L06 ,T2,P1] PRIO 1

[L07 ,T2,P2] PRIO 2

[L08 ,T2,P1/2] PAUSE

[L09 ,T2,P2] GOTO A4

[L10 ,T2,P1] A3: NOTHING

[L11 ,T1,P1] A1: PRIO 2

[L12 ,T1,P1/2] PAUSE

[L13 ,T1,P2] PRESENT R,A5

[L14 ,T1,P2] EMIT A

[L15 ,T1,P1] A5: PRIO 1

[L16 ,T1,P1] NOTHING

[L17] A2: JOIN 0

[L18 ,T0,P1/1] HALT

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 17

Page 36: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

Example—Execution Trace

Scheduling criteria: 1. active, 2. highest priority, 3. highest id

module EXAMPLE:

output A,R;

[

weak abort

sustain R;

when A

||

pause;

present R then

emit A

end present

]

end module

% module Example

OUTPUT A,R

EMIT _TICKLEN ,#14

[L01 ,T0,P2] PAR 2,A0 ,2

[L02 ,T0,P2] PAR 1,A1 ,1

[L03 ,T0,P2] PARE A2 ,2

[L04 ,T2,P2] A0: WABORT A,A3

[L05 ,T2,P2] A4: EMIT R

[L06 ,T2,P1] PRIO 1

[L07 ,T2,P2] PRIO 2

[L08 ,T2,P1/2] PAUSE

[L09 ,T2,P2] GOTO A4

[L10 ,T2,P1] A3: NOTHING

[L11 ,T1,P1] A1: PRIO 2

[L12 ,T1,P1/2] PAUSE

[L13 ,T1,P2] PRESENT R,A5

[L14 ,T1,P2] EMIT A

[L15 ,T1,P1] A5: PRIO 1

[L16 ,T1,P1] NOTHING

[L17] A2: JOIN 0

[L18 ,T0,P1/1] HALT

- Tick 1 -

! reset;

% In:

% Out: R

T0: L01,L02,L03

T2: L04,L05,L06

T1: L11,L12

T2: L07,L08

T0: L17

- Tick 2 -

% In:

% Out: A R O

T2: L08,L09,L05,L06

T1: L12,L13,L14,L15,L16

T2: L07,L08,L10

T0: L17,L18

- Tick 3 -

% In:

% Out:

T0: L18

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 18

Page 37: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

CKAG for tcint

module: TCINT

[L7,T0,P1/1] PAR*

[L8,T1,P1] A0

1

[L14,T2,P1] A1

1

[L20,T3,P1] A2

1

[L108,T19,P1] A3

1

[L138,T22,P1] A4

1

[L172,T25,P1] A5

1

[L8,T1,P1] A7

[L8,T1,P1] PRESENT PRREQ,A8

[L9,T1,P1/1] PAUSE

t

[L12,T1,P1] A8

f

[L10,T1,P1] EMIT RREQ

[L11,T1,P1] GOTO A9

[L13,T1,P1] A9

[L12,T1,P1/1] PAUSE

[L13,T1,P1] GOTO A7

[L14,T2,P1] A10

[L14,T2,P1] PRESENT PWREQ,A11

[L15,T2,P1/1] PAUSE

t

[L18,T2,P1] A11

f

[L16,T2,P1] EMIT WREQ

[L17,T2,P1] GOTO A12

[L19,T2,P1] A12

[L18,T2,P1/1] PAUSE

[L19,T2,P1] GOTO A10

[L24,T3,P1/1] PAR*

[L25,T4,P1] A13

1

[L28,T5,P1] A14

1

[L31,T6,P1] A15

1

[L37,T7,P1] A16

1

[L25,T4,P1] A18

[L25,T4,P1] EMIT TCREGINCKE

[L26,T4,P1/1] PAUSE

[L27,T4,P1] GOTO A18

[L28,T5,P1] A19

[L28,T5,P1] EMIT ROMCE

[L29,T5,P1/1] PAUSE

[L30,T5,P1] GOTO A19

[L31,T6,P1] A20

[L31,T6,P1] PRESENT PDRIVETBC,A21

[L32,T6,P1/1] PAUSE

t

[L35,T6,P1] A21

f

[L33,T6,P1] EMIT TCREGOUTOE

[L34,T6,P1] GOTO A22

[L36,T6,P1] A22

[L35,T6,P1/1] PAUSE

[L36,T6,P1] GOTO A20

[L37,T7,P1] A23

[L37,T7,P1] A24

[L39,T7,P1/1] PAR*

[L40,T8,P1] A25

1

[L55,T12,P1] A26

1

[L40,T8,P1/1] PAUSE

[L44,T8,P1/1] PAR*

[L64,T7,P1] JOIN 0

ENDOFHOSTDRIVES

e

[L45,T9,P1] A28

1

[L48,T10,P1] A29

1

[L51,T11,P1] A30

1

[L45,T9,P1] A32

[L45,T9,P1] EMIT TCREGINOE

[L46,T9,P1/1] PAUSE

[L47,T9,P1] GOTO A32[L54,T8,P1] JOIN 0

ENDOFHOSTDRIVESe

[L48,T10,P1] A33

[L48,T10,P1] EMIT EXTBUFDIR

[L49,T10,P1/1] PAUSE

[L50,T10,P1] GOTO A33

ENDOFHOSTDRIVESe

[L51,T11,P1] A34

[L51,T11,P1] EMIT EXTBUFOE

[L52,T11,P1/1] PAUSE

[L53,T11,P1] GOTO A34

ENDOFHOSTDRIVESe

ENDOFHOSTDRIVES

e

[L55,T12,P1] A35

[L55,T12,P1] A36

[L55,T12,P1/1] PAUSE

[L56,T12,P1] PRESENT PPAMDRIVES,A40

[L57,T12,P1] GOTO A38

t

[L58,T12,P1] A40

f

[L61,T12,P1] A38

[L58,T12,P1] PRESENT PROMDRIVES,A39

[L59,T12,P1] GOTO A38

t

[L60,T12,P1] A39

f

[L60,T12,P1] PRESENT PLCADRIVES,A37

t

[L62,T12,P1] A37

f

[L61,T12,P1] EXIT AWAIT_OP,A35

[L63,T12,P1] AWAIT_OP

[L62,T12,P1] GOTO A36

[L63,T12,P1] EXIT ENDOFHOSTDRIVES,A24iiii

[L65,T7,P1] ENDOFHOSTDRIVES

ENDOFHOSTDRIVES

e

[L65,T7,P1] PRESENT PPAMDRIVES,A41

[L66,T7,P1] A43

t

[L79,T7,P1] A41

f

[L68,T7,P1/1] PAR*

[L69,T13,P1] A44

1

[L73,T14,P1] A45

1

[L69,T13,P1/1] PAUSE

[L70,T13,P1] A47

[L77,T7,P1] JOIN 0

ENDOFPAMDRIVES

e

[L70,T13,P1] EMIT EXTBUFOE

[L71,T13,P1/1] PAUSE

[L72,T13,P1] GOTO A47

ENDOFPAMDRIVES

e

[L73,T14,P1] ABORT PHOSTDRIVES,A48

[L74,T14,P1] A49

[L74,T14,P1/1] PAUSE

[L75,T14,P1] GOTO A49[L76,T14,P1] A48

PHOSTDRIVES

s

[L76,T14,P1] EXIT ENDOFPAMDRIVES,A43ii

[L78,T7,P1] ENDOFPAMDRIVES

ENDOFPAMDRIVESe

[L78,T7,P1] GOTO A42

[L106,T7,P1] A42

[L79,T7,P1] PRESENT PROMDRIVES,A50

[L80,T7,P1] A52

t

[L93,T7,P1] A50

f

[L82,T7,P1/1] PAR*

[L83,T15,P1] A53

1

[L87,T16,P1] A54

1

[L83,T15,P1/1] PAUSE

[L84,T15,P1] A56

[L91,T7,P1] JOIN 0

ENDOFROMDRIVES

e

[L84,T15,P1] EMIT ROMOE

[L85,T15,P1/1] PAUSE

[L86,T15,P1] GOTO A56

ENDOFROMDRIVESe

[L87,T16,P1] ABORT PHOSTDRIVES,A57

[L88,T16,P1] A58

[L88,T16,P1/1] PAUSE

[L89,T16,P1] GOTO A58[L90,T16,P1] A57

PHOSTDRIVESs

[L90,T16,P1] EXIT ENDOFROMDRIVES,A52ii

[L92,T7,P1] ENDOFROMDRIVES

ENDOFROMDRIVES

e

[L92,T7,P1] GOTO A51

[L106,T7,P1] A51

[L93,T7,P1] PRESENT PLCADRIVES,A59

[L94,T7,P1] A60

t

[L106,T7,P1] A59

f

[L96,T7,P1/1] PAR*

[L97,T17,P1] A61

1

[L101,T18,P1] A62

1

[L97,T17,P1/1] PAUSE

[L98,T17,P1] A64

[L105,T7,P1] JOIN 0

ENDOFLCADRIVES

e

[L98,T17,P1] EMIT LCAOE

[L99,T17,P1/1] PAUSE

[L100,T17,P1] GOTO A64

ENDOFLCADRIVES

e

[L101,T18,P1] ABORT PHOSTDRIVES,A65

[L102,T18,P1] A66

[L102,T18,P1/1] PAUSE

[L103,T18,P1] GOTO A66 [L104,T18,P1] A65

PHOSTDRIVESs

[L104,T18,P1] EXIT ENDOFLCADRIVES,A60i i

[L106,T7,P1] ENDOFLCADRIVES

ENDOFLCADRIVES

e

[L106,T7,P1] GOTO A23

[L107,T3,P1] JOIN 0

[L110,T19,P1/1] PAR*

[L111,T20,P1] A67

1

[L124,T21,P1] A68

1

[L111,T20,P1] A70

[L111,T20,P1] ABORT SETDMAREADADDRESSREADY,A71

[L112,T20,P1] A72

[L112,T20,P3] PRIO 3

[L113,T20,P1/3] PAUSE

[L116,T20,P3] A71

SETDMAREADADDRESSREADYs

[L114,T20,P1] PRIO 1

[L115,T20,P1] GOTO A72 [L116,T20,P3] ABORT DMAREADOVER,A73

[L117,T20,P3] A74

[L117,T20,P3] EMIT DMAREADADDRESSREADY

[L180,T25,P2] PRESENT DMAREADADDRESSREADY,A102

i

[L193,T25,P2] PRESENT DMAREADADDRESSREADY,A108

i

[L118,T20,P1] PRIO 1

[L120,T20,P1/3] PAUSE

[L121,T20,P3] GOTO A74[L122,T20,P1] A73

DMAREADOVERs

[L122,T20,P1] PRIO 1

[L123,T20,P1] GOTO A70

[L124,T21,P1] A75

[L124,T21,P1] ABORT SETDMAWRITEADDRESSREADY,A76

[L125,T21,P1] A77

[L125,T21,P3] PRIO 3

[L126,T21,P1/3] PAUSE

[L129,T21,P3] A76

SETDMAWRITEADDRESSREADY

s

[L127,T21,P1] PRIO 1

[L128,T21,P1] GOTO A77[L129,T21,P3] ABORT DMAWRITEOVER,A78

[L130,T21,P3] A79

[L130,T21,P3] EMIT DMAWRITEADDRESSREADY

[L175,T25,P2] PRESENT DMAWRITEADDRESSREADY,A100

i

[L188,T25,P2] PRESENT DMAWRITEADDRESSREADY,A107

i

[L131,T21,P1] PRIO 1

[L133,T21,P1/3] PAUSE

[L134,T21,P3] GOTO A79[L135,T21,P1] A78

DMAWRITEOVERs

[L135,T21,P1] PRIO 1

[L136,T21,P1] GOTO A75

[L137,T19,P1] JOIN 0

[L138,T22,P1] SIGNAL REJECTSEL

[L141,T22,P1/1] PAR*

[L142,T23,P1] A80

1

[L164,T24,P1] A81

1

[L142,T23,P1] A83

[L142,T23,P1] ABORT CONFLICTONSEL,A84

[L143,T23,P1] A85

[L143,T23,P2] PRIO 2

[L144,T23,P1/2] PAUSE

[L147,T23,P2] A84

CONFLICTONSEL

s

[L145,T23,P1] PRIO 1

[L146,T23,P1] GOTO A85

[L147,T23,P2] ABORT ACCEPTSEL,A86

[L148,T23,P2] ABORTI SEL,A87

[L149,T23,P1] A88

[L154,T23,P2] A87

[L149,T23,P1] PRIO 1

[L151,T23,P1/2] PAUSE

SELs

[L162,T23,P1] A86

ACCEPTSEL

s

[L152,T23,P1] PRIO 1

[L153,T23,P1] GOTO A88[L154,T23,P2] A89

[L154,T23,P2] ABORT SEL,A90

[L155,T23,P2] EMIT REJECTSEL

[L156,T23,P1] A91 [L164,T24,P1] PRESENT REJECTSEL,A93

i

[L156,T23,P1] PRIO 1

[L158,T23,P1/2] PAUSE

[L161,T23,P2] A90

SEL

s

ACCEPTSEL

s

[L159,T23,P1] PRIO 1

[L160,T23,P1] GOTO A91 [L161,T23,P2] GOTO A89 [L162,T23,P1] PRIO 1

[L163,T23,P1] GOTO A83

[L164,T24,P1] A92

[L165,T24,P1/1] PAUSE

t

[L169,T24,P1] A93

f

[L166,T24,P1] EMIT RDY

[L167,T24,P1] EMIT CONFLICT

[L168,T24,P1] GOTO A94

[L170,T24,P1] A94

[L169,T24,P1/1] PAUSE

[L170,T24,P1] GOTO A92

[L171,T22,P1] JOIN 0

[L172,T25,P2] PRIO 2

[L173,T25,P1/2] PAUSE

[L174,T25,P2] A95

[L174,T25,P2] A96

[L174,T25,P2] A97

[L174,T25,P2] A98

[L174,T25,P2] A99

[L174,T25,P2] PRESENT FO_HF,A100

t

[L177,T25,P2] A100

f

[L176,T25,P2] EXIT AC,A97

tf

[L406,T25,P2] AC

[L177,T25,P2] PRESENT FI_HF,A103

[L180,T25,P2] A103

f

[L178,T25,P1] PRIO 1

t

[L179,T25,P1] GOTO A102

[L182,T25,P1] A102

[L181,T25,P2] EXIT AC_0,A98

t

f

[L337,T25,P2] AC_0

[L182,T25,P1] PRIO 1

[L183,T25,P1] PRESENT SEL,A105

[L184,T25,P1] EXIT AC_1,A99

t

[L185,T25,P1] A105

f

[L199,T25,P1] AC_1

[L185,T25,P1] A106

[L185,T25,P2] PRIO 2

[L186,T25,P1/2] PAUSE

[L187,T25,P2] PRESENT FO_HF,A107

t

[L190,T25,P2] A107

f

[L189,T25,P2] EXIT AC,A97

tf

[L190,T25,P2] PRESENT FI_HF,A109

[L193,T25,P2] A109

f

[L191,T25,P1] PRIO 1

t

[L192,T25,P1] GOTO A108

[L195,T25,P1] A108 [L194,T25,P2] EXIT AC_0,A98

tf

[L195,T25,P1] PRIO 1

[L196,T25,P1] PRESENT SEL,A110

[L197,T25,P1] EXIT AC_1,A99

t

[L198,T25,P1] A110

f

[L198,T25,P1] GOTO A106

[L199,T25,P1] EMIT TAGFLAG

[L200,T25,P1] A111

[L200,T25,P1] A112

[L200,T25,P1] PRESENT SEL,A113

[L201,T25,P1] PRESENT WRITE,A113

t

[L218,T25,P1] A113

f

[L202,T25,P1] PRESENT ADB24,A114

t

f

[L203,T25,P1] GOTO A113

t

[L204,T25,P1] A114

f

[L204,T25,P1] PRESENT ADB23,A113

[L205,T25,P1] PRESENT ADB22,A115

t

f

[L206,T25,P1] GOTO A113

t

[L207,T25,P1] A115

f

[L207,T25,P1/1] PAUSE

[L208,T25,P1] EMIT WPOMADCYC

[L209,T25,P1] ABORT POMIODONE,A117

[L210,T25,P1] A118

[L210,T25,P1/1] PAUSE

[L211,T25,P1] GOTO A118

[L212,T25,P1] A117

POMIODONEs

[L212,T25,P1/1] PAUSE

[L213,T25,P1/1] PAUSE

[L214,T25,P1] EMIT RDY

[L215,T25,P2] PRIO 2

[L216,T25,P1/2] PAUSE

[L217,T25,P2] GOTO A116

[L329,T25,P2] A116

[L218,T25,P1] PRESENT SEL,A119

[L219,T25,P1] PRESENT WRITE,A120

t

[L234,T25,P1] A119

f

[L220,T25,P1] GOTO A119

t

[L221,T25,P1] A120

f

[L221,T25,P1] PRESENT ADB24,A121

[L222,T25,P1] GOTO A119

t

[L223,T25,P1] A121

f

[L223,T25,P1] PRESENT ADB23,A119

[L224,T25,P1] PRESENT ADB22,A122

t

f

[L225,T25,P1] GOTO A119

t

[L226,T25,P1] A122

f

[L226,T25,P1/1] PAUSE

[L227,T25,P1] EMIT PPAMDRIVESii

[L228,T25,P1] EMIT RPOMADCYC

[L229,T25,P1] ABORT POMIODONE,A124

[L230,T25,P1] A125

[L230,T25,P1/1] PAUSE

[L231,T25,P1] GOTO A125[L232,T25,P1] A124

POMIODONE

s

[L232,T25,P1/1] PAUSE

[L233,T25,P1] EXIT READSHAREDEND,A111

[L330,T25,P1] READSHAREDEND

[L234,T25,P1] PRESENT SEL,A126

[L235,T25,P1] PRESENT WRITE,A126

t

[L245,T25,P1] A126

f

[L236,T25,P1] PRESENT ADB24,A126

t

f

[L237,T25,P1/1] PAUSE

t f

[L238,T25,P1] EMIT RDY

[L239,T25,P1] EMIT WFIFO

[L240,T25,P1/1] PAUSE

[L241,T25,P1] EMIT WFIFO

[L242,T25,P2] PRIO 2

[L243,T25,P1/2] PAUSE

[L244,T25,P2] GOTO A127

[L329,T25,P2] A127

[L245,T25,P1] PRESENT SEL,A128

[L246,T25,P1] PRESENT WRITE,A129

t

[L256,T25,P1] A128

f

[L247,T25,P1] GOTO A128

t

[L248,T25,P1] A129

f

[L248,T25,P1] PRESENT ADB24,A128

[L249,T25,P1/1] PAUSE

t

f

[L250,T25,P1] EMIT PPAMDRIVESii

[L251,T25,P1] EMIT POENRFIFO

[L252,T25,P1] EMIT POPRFIFO

[L253,T25,P1] EMIT WFIFO

[L254,T25,P1/1] PAUSE

[L255,T25,P1] EXIT READSHAREDEND,A111

[L256,T25,P1] PRESENT SEL,A131

[L257,T25,P1] PRESENT WRITE,A131

t

[L269,T25,P1] A131

f

[L258,T25,P1] PRESENT ADB24,A132

t

f[L259,T25,P1] GOTO A131

t

[L260,T25,P1] A132

f

[L260,T25,P1] PRESENT ADB23,A131

[L261,T25,P1] PRESENT ADB22,A131

t

f

[L262,T25,P1/1] PAUSE

t f

[L263,T25,P1] EMIT RDY

[L264,T25,P1/1] PAUSE

[L265,T25,P1] EMIT WFIFO

[L266,T25,P2] PRIO 2

[L267,T25,P1/2] PAUSE

[L268,T25,P2] GOTO A133

[L329,T25,P2] A133

[L269,T25,P1] PRESENT SEL,A134

[L270,T25,P1] PRESENT WRITE,A135

t

[L282,T25,P1] A134

f

[L271,T25,P1] GOTO A134

t

[L272,T25,P1] A135

f

[L272,T25,P1] PRESENT ADB24,A136

[L273,T25,P1] GOTO A134

t

[L274,T25,P1] A136

f

[L274,T25,P1] PRESENT ADB23,A134

[L275,T25,P1] PRESENT ADB22,A134

t

f

[L276,T25,P1/1] PAUSE

tf

[L277,T25,P1] EMIT PPAMDRIVESii

[L278,T25,P1] EMIT POENRFIFO

[L279,T25,P1] EMIT POPRFIFO

[L280,T25,P1/1] PAUSE

[L281,T25,P1] EXIT READSHAREDEND,A111

[L282,T25,P1] PRESENT SEL,A138

[L283,T25,P1] PRESENT WRITE,A139

t

[L302,T25,P1] A138

f

[L284,T25,P1] GOTO A138

t

[L285,T25,P1] A139

f

[L285,T25,P1] PRESENT ADB24,A140

[L286,T25,P1] GOTO A138

t

[L287,T25,P1] A140

f

[L287,T25,P1] PRESENT ADB23,A141

[L288,T25,P1] GOTO A138

t

[L289,T25,P1] A141

f

[L289,T25,P1] PRESENT ADB22,A142

[L290,T25,P1] GOTO A138

t

[L291,T25,P1] A142

f

[L291,T25,P1/1] PAUSE

[L292,T25,P1] EMIT PROMDRIVESii

[L293,T25,P1] EMIT ROMAD

[L294,T25,P1/1] PAUSE

[L295,T25,P1] LOAD _COUNT,#5

[L296,T25,P1] ABORT tick,A144

[L297,T25,P1] A145

[L297,T25,P1] EMIT ROMOE

[L298,T25,P1/1] PAUSE

[L299,T25,P1] GOTO A145 [L300,T25,P1] A144

tick

s

[L300,T25,P1] EMIT ROMOE

[L301,T25,P1] EXIT READSHAREDEND,A111

[L302,T25,P1] PRESENT SEL,A146

[L303,T25,P1] PRESENT WRITE,A146

t

[L314,T25,P1] A146

f

[L304,T25,P1] PRESENT ADB24,A147

t

f

[L305,T25,P1] GOTO A146

t

[L306,T25,P1] A147

f

[L306,T25,P1] PRESENT ADB23,A148

[L307,T25,P1] GOTO A146

t

[L308,T25,P1] A148

f

[L308,T25,P1] PRESENT ADB22,A146

[L309,T25,P1/1] PAUSE

t f

[L310,T25,P1] EMIT RDY

[L311,T25,P2] PRIO 2

[L312,T25,P1/2] PAUSE

[L313,T25,P2] GOTO A149

[L329,T25,P2] A149

[L314,T25,P1] PRESENT SEL,A150

[L315,T25,P1] PRESENT WRITE,A151

t

[L327,T25,P1] A150

f

[L316,T25,P1] GOTO A150

t [L317,T25,P1] A151

f

[L317,T25,P1] PRESENT ADB24,A152

[L318,T25,P1] GOTO A150

t

[L319,T25,P1] A152

f

[L319,T25,P1] PRESENT ADB23,A153

[L320,T25,P1] GOTO A150

t

[L321,T25,P1] A153

f

[L321,T25,P1] PRESENT ADB22,A150

[L322,T25,P1/1] PAUSE

tf

[L323,T25,P1] EMIT PLCADRIVESii

[L324,T25,P1/1] PAUSE

[L325,T25,P1/1] PAUSE

[L326,T25,P1] EXIT READSHAREDEND,A111

[L327,T25,P1] A155

[L327,T25,P1/1] PAUSE

[L328,T25,P1] GOTO A155

[L329,T25,P2] WRITESHAREDEND

[L329,T25,P2] GOTO A156

[L336,T25,P2] A156

[L330,T25,P1] EMIT PDRIVETBCi

[L331,T25,P1/1] PAUSE

[L332,T25,P1] EMIT RDY

[L333,T25,P1] EMIT PHOSTDRIVESdd d

[L334,T25,P2] PRIO 2

[L335,T25,P1/2] PAUSE

[L336,T25,P2] EXIT AWAIT_CASE,A96

[L462,T25,P2] AWAIT_CASE

[L337,T25,P2] EMIT CONFLICTONSEL d

[L338,T25,P2] A157

[L340,T25,P2/2] PAR*

[L341,T26,P2] A158

2

[L360,T29,P1] A159

1

[L341,T26,P2] A161

[L343,T26,P2/2] PAR*

[L344,T27,P2] A162

2

[L347,T28,P2] A163

2

[L344,T27,P2] A165

[L344,T27,P2] EMIT PRREQi

[L345,T27,P2/2] PAUSE

[L346,T27,P2] GOTO A165[L358,T26,P2] JOIN 0

WORDCOUNT

e

ENDOFDMAREADe

[L347,T28,P2] ABORT ACK,A166

[L348,T28,P2] A167

[L348,T28,P2/2] PAUSE

[L349,T28,P2] GOTO A167 [L350,T28,P2] A166

ACKs

ENDOFDMAREAD

e

[L350,T28,P2] LOAD R,#3

[L351,T28,P2] A168

[L351,T28,P2] A169

[L351,T28,P2/2] PAUSE

[L352,T28,P2] SUB R,#1

ENDOFDMAREAD

e

[L353,T28,P2] CMPS R,#0

[L354,T28,P2] JW LE,A170

[L355,T28,P2] EXIT REPEAT,A168

t

[L356,T28,P2] A170

f

[L357,T28,P2] REPEAT [L356,T28,P2] GOTO A169

[L357,T28,P2] EXIT WORDCOUNT,A161i

[L359,T26,P2] WORDCOUNT

WORDCOUNT

e

[L404,T25,P2] JOIN 0

ENDOFDMAREAD

e

AWAIT_CASE

e

AC

e

[L359,T26,P2] NOTHING

[L360,T29,P1] EMIT PLCADRIVESi i

[L361,T29,P2] PRIO 2

[L362,T29,P1/2] PAUSE

[L363,T29,P2] EMIT PHOSTDRIVESdd d

[L364,T29,P2] A171

[L366,T29,P2/2] PAR*

[L367,T30,P2] A172

2

[L371,T31,P2] A173

2

[L367,T30,P2/2] PAUSE

[L368,T30,P2] A175

[L378,T29,P2] JOIN 0

ACKRECEIVED

e

[L368,T30,P2] EMIT TCREGOUTCKDIS

[L369,T30,P2/2] PAUSE

[L370,T30,P2] GOTO A175

ACKRECEIVED

e

[L371,T31,P2] ABORTI ACK,A176

[L372,T31,P1] A177

[L377,T31,P2] A176

[L372,T31,P1] PRIO 1

[L374,T31,P1/2] PAUSE

ACK

s

[L375,T31,P1] PRIO 1

[L376,T31,P1] GOTO A177[L377,T31,P2] EXIT ACKRECEIVED,A171ii

[L379,T29,P2] ACKRECEIVED

ACKRECEIVED

e

ENDOFDMAREAD

e

AWAIT_CASE

e

AC

e

[L379,T29,P2] EMIT ACCEPTSELdd

[L380,T29,P1] PRIO 1

[L381,T29,P1] EMIT PDRIVETBCi

[L382,T29,P1] ABORT ACK,A178

[L383,T29,P1] A179

[L383,T29,P2] PRIO 2

[L384,T29,P1/2] PAUSE

[L387,T29,P2] A178

ACK

s

[L385,T29,P1] PRIO 1

[L386,T29,P1] GOTO A179[L387,T29,P2] A180

[L389,T29,P2/2] PAR*

[L390,T32,P2] A181

2

[L394,T33,P1] A182

1

[L390,T32,P2/2] PAUSE

[L391,T32,P2] A184

[L402,T29,P2] JOIN 0

NOTACK

e

[L391,T32,P2] EMIT WFIFO

[L392,T32,P2/2] PAUSE

[L393,T32,P2] GOTO A184

NOTACK

e

[L394,T33,P1] A185

[L394,T33,P1] A186

[L394,T33,P2] PRIO 2

[L395,T33,P1/2] PAUSE

[L396,T33,P2] PRESENT ACK,A187

[L399,T33,P2] A187

f

[L397,T33,P1] PRIO 1

t

[L398,T33,P1] GOTO A188

[L400,T33,P1] A188

[L399,T33,P2] EXIT AWAIT_OP_0,A185

[L401,T33,P2] AWAIT_OP_0

[L400,T33,P1] GOTO A186[L401,T33,P2] EXIT NOTACK,A180i i

[L403,T29,P2] NOTACK

NOTACKe

ENDOFDMAREAD

e

AWAIT_CASE

e

AC

e

[L403,T29,P2] EXIT ENDOFDMAREAD,A157i ii

[L405,T25,P2] ENDOFDMAREAD

ENDOFDMAREADe

AC

e

AWAIT_CASE

e

[L405,T25,P2] EXIT AWAIT_CASE,A96

[L406,T25,P2] EMIT CONFLICTONSELd

[L407,T25,P2] A189

[L409,T25,P2/2] PAR*

[L410,T34,P2] A190

2

[L413,T35,P1] A191

1

[L410,T34,P2] A193

[L410,T34,P2] EMIT PWREQi

[L411,T34,P2/2] PAUSE

[L412,T34,P2] GOTO A193

[L455,T25,P2] JOIN 0

ALMOSTENDOFDMAWRITE

e

[L413,T35,P1] EMIT PLCADRIVESii

[L414,T35,P2] PRIO 2

[L415,T35,P1/2] PAUSE

[L416,T35,P2] EMIT PPAMDRIVESii

[L419,T35,P2/2] PAR*

[L420,T36,P2] A194

2

[L423,T37,P2] A195

2

[L420,T36,P2] A197

[L420,T36,P2] EMIT POENRFIFO

[L421,T36,P2/2] PAUSE

[L422,T36,P2] GOTO A197[L454,T35,P2] JOIN 0

ALMOSTENDOFDMAWRITE

e

[L423,T37,P2] EMIT POPRFIFO

[L424,T37,P2] A198

[L426,T37,P2/2] PAR*

[L427,T38,P2] A199

2[L431,T39,P2] A200

2

[L427,T38,P2/2] PAUSE

[L428,T38,P2] A202

[L438,T37,P2] JOIN 0

ACKRECEIVED_0

e

[L428,T38,P2] EMIT TCREGOUTCKDIS

[L429,T38,P2/2] PAUSE

[L430,T38,P2] GOTO A202

ACKRECEIVED_0

e

[L431,T39,P2] ABORTI ACK,A203

[L432,T39,P1] A204

[L437,T39,P2] A203

[L432,T39,P1] PRIO 1

[L434,T39,P1/2] PAUSE

ACK

s

[L435,T39,P1] PRIO 1

[L436,T39,P1] GOTO A204[L437,T39,P2] EXIT ACKRECEIVED_0,A198ii

[L439,T37,P2] ACKRECEIVED_0

ACKRECEIVED_0

e

AWAIT_CASE

e

ALMOSTENDOFDMAWRITE

e

[L439,T37,P2] EMIT ACCEPTSELdd

[L440,T37,P1] PRIO 1

[L441,T37,P1] EMIT PDRIVETBCi

[L442,T37,P1] LOAD R,#3

[L443,T37,P1] A205

[L443,T37,P1] A206

[L443,T37,P2] PRIO 2

[L444,T37,P1/2] PAUSE

[L445,T37,P2] EMIT POPRFIFO

[L446,T37,P2] EMIT PDRIVETBCi

[L447,T37,P2] SUB R,#1

[L448,T37,P2] CMPS R,#0

[L449,T37,P2] JW LE,A207

[L450,T37,P2] EXIT REPEAT_0,A205

t

[L451,T37,P1] A207

f

[L453,T37,P2] REPEAT_0[L451,T37,P1] PRIO 1

[L452,T37,P1] GOTO A206 [L453,T37,P2] EXIT ALMOSTENDOFDMAWRITE,A189ii

AWAIT_CASE

e

ALMOSTENDOFDMAWRITE

e

[L456,T25,P1] ALMOSTENDOFDMAWRITE

ALMOSTENDOFDMAWRITE

e

AWAIT_CASE

e

[L456,T25,P1] EMIT PHOSTDRIVESdd d

[L457,T25,P1/1] PAUSE

[L458,T25,P1] EMIT PDRIVETBCi

[L459,T25,P2] PRIO 2

[L460,T25,P1/2] PAUSE

[L461,T25,P2] EXIT AWAIT_CASE,A96

[L462,T25,P2] GOTO A95

[L463,T0,P1] JOIN 0

[L119,T20,P3] PRIO 3

[L132,T21,P3] PRIO 3

[L150,T23,P2] PRIO 2

[L157,T23,P2] PRIO 2

[L373,T31,P2] PRIO 2

[L433,T39,P2] PRIO 2

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 19

Page 38: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

tcint ThreadId’s

T29 T26

T31 T30

T25 T3T1 T22 T19 T2

T32

T12

T9

T8

T10 T11

T28 T27

T18 T17

T4T6 T23T7

T14 T16

T24

T35

T36

T34

T0

T13

T39 T38

T33

T5

T15

T37

T20 T21

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 20

Page 39: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

The Concurrent KEP Assembler Graph (CKAG)Handling Thread Dependencies

tcint ThreadId’s with Thread Dependencies

T29 T26

T31 T30

T25 T3T1 T22 T19 T2

T32

T12

T9

T8

T10 T11

T28 T27

T18 T17

T4T6 T23T7

T14 T16

T24

T35

T36

T34

T0

T13

T39 T38

T33

T5

T15

T37

T20 T21

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 21

Page 40: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

KEP Evaluation PlatformExperimental ResultsSummary & OutlookIdentify that benchmark . . .

Overview

Introduction

The Kiel Esterel Processor

The Compiler

Wrap-UpKEP Evaluation PlatformExperimental ResultsSummary & OutlookIdentify that benchmark . . .

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 22

Page 41: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

KEP Evaluation PlatformExperimental ResultsSummary & OutlookIdentify that benchmark . . .

The KEP Evaluation Platform

FPGA BoardUserstrl2kasm

.log

.eso

.kokasm2ko

.strl

Output

.esi InputTickGen

ProtocolGen

Host.kasm

EStudio

Tes

t Dri

ver

KEP Assembler

ProcessorKiel Esterel

Environment

I Highly automated process, currently using 470+ benchmarks

I End to end validation of hardware and compiler against“trusted” reference (Esterel Studio)

I Detailed performance measurements

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 23

Page 42: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

KEP Evaluation PlatformExperimental ResultsSummary & OutlookIdentify that benchmark . . .

Code Characteristics and Compilation Times

Esterel KEP3a (Unoptimized|optimized) MicroBlazeModule Threads Preemptions CKAG Preemption handled by Compiling CompilingName Cnt Max Max Cnt Max NodesDep. Max PRIO Local Thread Time Time (Sec)

DepthConc Depth NumPriority Instr WatcherWatcherWatcher (Sec) (V5/V7/CEC)abcd 4 2 4 20 2 211 36 3 30 0 4|3 16|11 0.15 0.12 0.09 0.30

abcdef 6 2 6 30 2 313 90 3 48 0 6|5 24|17 0.21 0.71 0.46 0.96eight but 8 2 8 40 2 415 168 3 66 0 8|7 32|23 0.26 0.99 0.54 1.25chan prot 5 3 4 6 1 80 4 2 10 0 0 6|4 0.07 0.35 0.35 0.43

reactor ctrl 3 2 3 5 1 51 5 1 0 0 1|0 4 0.06 0.29 0.31 0.36runner 2 2 2 9 3 61 0 1 0 3|2 1 5|3 0.05 0.30 0.34 0.40example 2 2 2 4 2 36 2 3 6 0 1 3|2 0.05 0.28 0.31 0.31ww button 13 3 4 27 2 194 0 1 0 0 5 22|10 0.10 0.44 0.40 0.64

greycounter 17 3 13 19 2 414 53 6 58 0 4 15 0.34 0.57 0.43 0.75tcint 39 5 17 18 2 583 65 3 20 0 1 17|10 0.34 0.41 0.52 1.11mca200 59 5 49 64 4 11219 129 11 190 2 14 48 11.25 69.81 12.99 7.37

Note: In the mca200, the watcher refinement reduces the hardwarerequirements from 4033 slices (if all preemptions were handled by generalpurpose Watchers) to 3265 slices (19% reduction).

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 24

Page 43: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

KEP Evaluation PlatformExperimental ResultsSummary & OutlookIdentify that benchmark . . .

Worst-/Average-Case Reaction Times

MicroBlaze KEP3a-Unoptimized KEP3a-optimizedModule Name WCRT ACRT WCRT Ratio to ACRT Ratio to WCRTRatio to ACRT Ratio

V5 V7 CEC V5 V7 CEC best MB best MB Unopt to Unoptabcd 1559 954 1476 1464 828 1057 135 0.14 87 0.11 135 1 84 0.97

abcdef 2281 1462 1714 2155 1297 1491 201 0.14 120 0.09 201 1 117 0.98eight but 3001 1953 2259 2833 1730 1931 267 0.14 159 0.09 267 1 153 0.96chan prot 754 375 623 683 324 435 117 0.31 60 0.19 117 1 54 0.90

reactor ctrl 487 230 397 456 214 266 54 0.23 45 0.21 51 0.94 39 0.87runner 566 289 657 512 277 419 36 0.12 15 0.05 30 0.83 6 0.40example 467 169 439 404 153 228 42 0.25 24 0.16 42 1 24 1ww button 1185 578 979 1148 570 798 72 0.12 51 0.09 48 0.67 36 0.71

greycounter 1965 1013 2376 1851 928 1736 528 0.52 375 0.40 528 1 375 1tcint 3580 1878 2350 3488 1797 2121 408 0.22 252 0.14 342 0.84 204 0.81mca200 75488 29078 12497 73824 24056 11479 2862 0.23 1107 0.10 2862 1 1107 1

The worst-/average-case reaction times, in clock cycles, for the KEP3a and MicroBlaze

I WCRT speedup: typically >4x

I ACRT speedup: typically >5x

I Optimizations yield further improvements

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 25

Page 44: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

KEP Evaluation PlatformExperimental ResultsSummary & OutlookIdentify that benchmark . . .

Memory Usage

Esterel MicroBlaze KEP3a-Unopt. KEP3a-opt.Module Name LOC Code+Data (byte) Code (word) Code+Data (byte) Code (word)

V5 V7 CEC abs. rel. abs. rel. abs. rel.[1] [2] (best) [3] [3]/[1] [4] [4]/[2] [5] [5]/[3]

abcd 160 6680 7928 7212 168 1.05 756 0.11 164 0.93abcdef 236 9352 9624 9220 252 1.07 1134 0.12 244 0.94

eight but 312 12016 11276 11948 336 1.08 1512 0.13 324 0.94chan prot 42 3808 6204 3364 66 1.57 297 0.09 62 0.94

reactor ctrl 27 2668 5504 2460 38 1.41 171 0.07 34 0.89runner 31 3140 5940 2824 39 1.22 175 0.06 27 0.69example 20 2480 5196 2344 31 1.55 139 0.06 28 0.94ww button 76 6112 7384 5980 129 1.7 580 0.10 95 0.74

greycounter 143 7612 7936 8688 347 2.43 1567 0.21 343 1tcint 355 14860 11376 15340 437 1.23 1968 0.17 379 0.87mca200 3090 104536 77112 52998 8650 2.79 39717 0.75 8650 1

I Unoptimized: 83% avg reduction of memory usage (Code+RAM)

I Optimized: May yield further 5% to 30+% improvements

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 26

Page 45: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

KEP Evaluation PlatformExperimental ResultsSummary & OutlookIdentify that benchmark . . .

Power Consumption

MicroBlaze KEP3a 1 RatioModule (82mW@50MHz) (mW) (KEP to MB)Name Idle Peak Idle Peak Idleabcd 69 13 8 0.16 0.12

abcdef 74 13 7 0.16 0.09eight but 74 13 7 0.16 0.09chan prot 70 28 12 0.34 0.17

reactor ctrl 76 20 13 0.24 0.17runner 78 14 2 0.17 0.03example 77 25 9 0.30 0.12ww button 81 13 4 0.16 0.05

greycounter 78 44 33 0.54 0.42tcint 80 18 10 0.22 0.13

I Peak energy usage reduction: 75% avg

I Idle (= no inputs) energy usage reduction: 86% avg

1Based on Xilinx 3S200-4ft256, requires an additional 37mW as quiescent power for the chip itself

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 27

Page 46: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

KEP Evaluation PlatformExperimental ResultsSummary & OutlookIdentify that benchmark . . .

Scalability

Synthesis results for Xilinx 3S1500-4fg-6762

ThreadSlices Gates (k)

Count2 1295 29510 1566 29920 1871 31140 2369 32860 3235 34680 4035 373100 4569 389120 5233 406

I 48 valued signalsup to 256 possible

I 2 Watchers, 8 Local Watcherseither up to 64 possible

I 1k (1024) instruction wordsup to 64k possible

I 128 registers (in word)up to 512 possible

I 16-bits (65536) max counter value

I Frequency is stable (around 60 MHz)

2For comparison, a MicroBlaze implementation requires around 1k slicesand 309k gates; a two threads EMPEROR platform requires around 2k slices

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 28

Page 47: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

KEP Evaluation PlatformExperimental ResultsSummary & OutlookIdentify that benchmark . . .

Analysis of Context Switches

Instr’s CSs CSs at same PRIOs CSs due toModule total total priority total PRIO

Name abs. abs. ratio abs. rel. abs. rel. abs. rel. rel.[1] [2] [1]/[2] [3] [3]/[2] [4] [4]/[1] [5] [5]/[2][5]/[4]

abcd 16513 3787 4.36 1521 0.40 3082 0.19 1243 0.33 0.40abcdef 29531 7246 4.08 3302 0.46 6043 0.20 2519 0.35 0.42

eight but 39048 10073 3.88 5356 0.53 8292 0.21 3698 0.37 0.45chan prot 5119 1740 2.94 707 0.41 990 0.19 438 0.25 0.44

reactor ctrl 151 48 3.15 29 0.60 0 0 0 0 -runner 5052 704 7.18 307 0.44 0 0 0 0 -example 208 60 3.47 2 0.30 26 0.13 9 0.15 0.35ww button 292 156 1.87 92 0.59 0 0 0 0 -

greycounter 160052 34560 4.63 14043 0.41 26507 0.17 12725 0.37 0.48tcint 80689 33610 2.4 16769 0.50 5116 0.06 2129 0.06 0.42mca200 982417256988 3.82 125055 0.49 242457 0.25 105258 0.41 0.43

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 29

Page 48: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

KEP Evaluation PlatformExperimental ResultsSummary & OutlookIdentify that benchmark . . .

Summary Reactive Processors

Processor supports reactive control flow directly, at hardware level

I “Watchers” monitor preemption signalsNo need for polling, interrupts

I Support for concurrencyMulti-threading or multi-processing

I Synchronous model of computationPerfectly deterministic, predictable timing

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 30

Page 49: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

KEP Evaluation PlatformExperimental ResultsSummary & OutlookIdentify that benchmark . . .

Outlook

I Improve priority assignments

I Speedup signal expression computations with external logicblock

I WCRT analysis with concurrency

I Extend to Esterel v7

I KEP in Esterel—e. g., to produce Esterel virtual machine

I Combination with multi-core (e. g., for data handling)

I Adaptation to non-Esterel languages

I Apply compilation approach to standard processors(“multi-threaded simulation”)

I To go further:http://www.informatik.uni-kiel.de/rtsys/kep/

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 31

Page 50: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

IntroductionThe Kiel Esterel Processor

The CompilerWrap-Up

KEP Evaluation PlatformExperimental ResultsSummary & OutlookIdentify that benchmark . . .

Identify that benchmark . . .module: mca200

[L10,T0,P9/9] PAR*

[L11,T1,P1] A0

1

[L47,T2,P1] A1

1

[L214,T3,P1] A2

1

[L286,T4,P9] A3

9

[L735,T18,P5] A4

5

[L2008,T28,P5] A5

5

[L3036,T37,P4] A6

4

[L3771,T46,P4] A7

4

[L4272,T52,P2] A8

2

[L11,T1,P1] A10

[L11,T1,P1] LOAD TIME,#9384

[L12,T1,P1] LOAD TRS,#9384

[L13,T1,P1] LOAD VELINST_VAL,#0

[L14,T1,P1] ABORT RESET,A11

[L15,T1,P1] A12

[L15,T1,P1] A13

[L15,T1,P1] A14

[L15,T1,P11] PRIO 11

[L16,T1,P1/11] PAUSE

[L17,T1,P11] PRESENT CLOCK_32,A17 [L45,T1,P1] A11

RESETs

[L18,T1,P11] GOTO A16

t

[L19,T1,P11] A17

f

[L20,T1,P11] A16

[L19,T1,P11] PRESENT VELINST,A15

t

[L21,T1,P1] A15

f

[L20,T1,P11] EXIT AWAIT_OP,A13

[L23,T1,P11] AWAIT_OP

[L21,T1,P1] PRIO 1

[L22,T1,P1] GOTO A14

[L23,T1,P11] PRESENT VELINST,A18

[L24,T1,P11] LOAD VELINST_VAL,?VELINST

t

[L36,T1,P11] A18

f

[L25,T1,P11] CMPS VELINST_VAL,#0

[L26,T1,P11] JW EE,A19

[L27,T1,P11] LOAD TRS,#9384

t

[L30,T1,P11] A19

f

[L28,T1,P11] LOAD TIME,#9384

[L29,T1,P11] GOTO A20

[L36,T1,P11] A20

[L30,T1,P11] LOAD REG0,#7207207

[L31,T1,P11] LOAD R0,REG0

[L32,T1,P11] LOAD R1,VELINST_VAL

[L33,T1,P11] CALL DIV

[L34,T1,P11] LOAD REG0,R0

[L35,T1,P11] LOAD TRS,REG0

[L36,T1,P11] PRESENT CLOCK_32,A21

[L37,T1,P11] SUB TIME,#1

t

[L43,T1,P1] A21

f

[L38,T1,P11] CMPS TIME,#0

[L39,T1,P11] JW LE,A22

[L40,T1,P11] EMIT SPEED_SENS

t

[L43,T1,P1] A22

f[L345,T6,P1/10] PAUSE

d

[L354,T6,P1/9] PAUSE

d

[L566,T12,P1/4] PAUSE

d

[L573,T12,P1/4] PAUSE

d

[L591,T13,P4] PRESENT SPEED_SENS,A211

i

[L41,T1,P1] PRIO 1

[L42,T1,P1] LOAD TIME,TRS

[L43,T1,P1] PRIO 1

[L44,T1,P1] GOTO A12

[L45,T1,P1] PRIO 1

[L46,T1,P1] GOTO A10

[L47,T2,P1] A23

[L47,T2,P1] LOAD ANG_VAL,#0

[L48,T2,P1] LOAD VELSTER_VAL,#0

[L49,T2,P1] LOAD STR_VAL,#0

[L50,T2,P1] LOAD STR1_VAL,#0

[L51,T2,P1] LOAD STR2_VAL,#0

[L52,T2,P1] LOAD TIME_0,#0

[L53,T2,P1] LOAD Q_TEANG,#0

[L54,T2,P1] LOAD DIR,#0

[L55,T2,P1] LOAD ANG_CUR,#0

[L56,T2,P1] ABORT RESET,A24

[L57,T2,P1] A25

[L57,T2,P1] A26

[L57,T2,P1] A27

[L57,T2,P1] A28

[L57,T2,P1] A29

[L57,T2,P1] A30

[L57,T2,P7] PRIO 7

[L58,T2,P1/7] PAUSE

[L59,T2,P7] PRESENT CLOCK_16,A31 [L212,T2,P1] A24

RESETs

[L60,T2,P7] EXIT AC,A27

t

[L61,T2,P1] A31

f

[L111,T2,P7] AC [L61,T2,P1] PRIO 1

[L62,T2,P1] PRESENT ANG_INPUT,A32

[L63,T2,P1] EXIT AC_0,A28

t

[L64,T2,P1] A32

f

[L76,T2,P1] AC_0 [L64,T2,P1] PRESENT VELSTER,A33

[L65,T2,P1] EXIT AC_1,A29

t

[L66,T2,P1] A33

f

[L67,T2,P1] AC_1 [L66,T2,P1] GOTO A30

[L67,T2,P1] LOAD VELSTER_VAL,?VELSTER

[L68,T2,P1] LOAD REG1,VELSTER_VAL

[L69,T2,P1] MUL REG1,#2

[L70,T2,P1] LOAD R0,REG1

[L71,T2,P1] LOAD R1,#9221311

[L72,T2,P1] CALL DIV

[L73,T2,P1] LOAD REG1,R0

[L74,T2,P1] LOAD Q_TEANG,REG1

[L75,T2,P1] EXIT AWAIT_CASE,A26

[L211,T2,P1] AWAIT_CASE

[L76,T2,P1] LOAD ANG_VAL,?ANG_INPUT

[L77,T2,P1] CMPS DIR,#1

[L78,T2,P1] JW EE,A34

[L79,T2,P1] LOAD REG2,ANG_CUR

t

[L85,T2,P1] A34

f

[L80,T2,P1] SUB REG2,#9

[L81,T2,P1] CMPS ANG_VAL,REG2

[L82,T2,P1] JW L,A34

[L83,T2,P1] LOAD DIR,#3

tf

[L84,T2,P1] GOTO A35

[L110,T2,P1] A35

[L85,T2,P1] CMPS DIR,#2

[L86,T2,P1] JW EE,A36

[L87,T2,P1] LOAD REG3,#9

t

[L93,T2,P1] A36

f

[L88,T2,P1] ADD REG3,ANG_CUR

[L89,T2,P1] CMPS ANG_VAL,REG3

[L90,T2,P1] JW G,A36

[L91,T2,P1] LOAD DIR,#4

t

f

[L92,T2,P1] GOTO A37

[L110,T2,P1] A37

[L93,T2,P1] LOAD REG4,ANG_CUR

[L94,T2,P1] SUB REG4,#9

[L95,T2,P1] CMPS ANG_VAL,REG4

[L96,T2,P1] JW G,A38

[L97,T2,P1] LOAD REG5,#9

t

[L103,T2,P1] A38

f

[L98,T2,P1] ADD REG5,ANG_CUR

[L99,T2,P1] CMPS ANG_VAL,REG5

[L100,T2,P1] JW L,A38

[L101,T2,P1] LOAD DIR,#0

t f

[L102,T2,P1] GOTO A39

[L110,T2,P1] A39

[L103,T2,P1] LOAD REG6,ANG_CUR

[L104,T2,P1] SUB REG6,#9

[L105,T2,P1] CMPS ANG_VAL,REG6

[L106,T2,P1] JW L,A40

[L107,T2,P1] LOAD DIR,#2

t

[L109,T2,P1] A40

f

[L108,T2,P1] GOTO A41

[L110,T2,P1] A41

[L109,T2,P1] LOAD DIR,#1

[L110,T2,P1] EXIT AWAIT_CASE,A26

[L111,T2,P7] ADD TIME_0,#1

[L112,T2,P7] CMPS TIME_0,Q_TEANG

[L113,T2,P7] JW G,A42

[L114,T2,P7] EMIT STEER_SENS

t

[L209,T2,P1] A42

f

[L115,T2,P7] SETV STEER_SENS,STR_VAL

[L3066,T39,P6] PRESENT STEER_SENS,A1146

i

[L3078,T39,P6] PRESENT STEER_SENS,A1151

i

[L3140,T40,P5] PRESENT STEER_SENS,A1166

i

[L3184,T40,P5] PRESENT STEER_SENS,A1179

i

[L116,T2,P7] EMIT STEER1_SENS

[L3079,T39,P6] LOAD STEER_VALUE,?STEER_SENS

i

[L3185,T40,P5] LOAD STEER_VALUE_0,?STEER_SENS

i

[L117,T2,P7] SETV STEER1_SENS,STR1_VAL

[L3062,T39,P6] PRESENT STEER1_SENS,A1148

i

[L3074,T39,P6] PRESENT STEER1_SENS,A1149

i

[L3136,T40,P5] PRESENT STEER1_SENS,A1169

i

[L3144,T40,P5] PRESENT STEER1_SENS,A1171

i

[L3691,T44,P4] PRESENT STEER1_SENS,A1370

i

[L3791,T47,P5] PRESENT STEER1_SENS,A1409

i

[L3802,T47,P1] PRESENT STEER1_SENS,A1412

i

[L118,T2,P7] EMIT STEER2_SENS

[L3075,T39,P6] LOAD STEER1_VALUE,?STEER1_SENS

i

[L3145,T40,P5] LOAD STEER1_VALUE_0,?STEER1_SENS

i

[L3803,T47,P1] LOAD STEER1_VAL,?STEER1_SENS

i

[L119,T2,P7] SETV STEER2_SENS,STR2_VAL

[L3064,T39,P6] PRESENT STEER2_SENS,A1147

i

[L3076,T39,P6] PRESENT STEER2_SENS,A1150

i

[L3138,T40,P5] PRESENT STEER2_SENS,A1168

i

[L3164,T40,P5] PRESENT STEER2_SENS,A1175

i

[L3693,T44,P4] PRESENT STEER2_SENS,A1371

i

[L3793,T47,P5] PRESENT STEER2_SENS,A1407

i

[L3820,T47,P1] PRESENT STEER2_SENS,A1415

i

[L3077,T39,P6] LOAD STEER2_VALUE,?STEER2_SENS

i

[L3165,T40,P5] LOAD STEER2_VALUE_0,?STEER2_SENS

i

[L3821,T47,P1] LOAD STEER2_VAL,?STEER2_SENS

i

[L120,T2,P1] PRIO 1

[L121,T2,P1] CMPS DIR,#0

[L122,T2,P1] JW NE,A43

[L123,T2,P1] CMPS STR1_VAL,#1

t

[L185,T2,P1] A43

f

[L124,T2,P1] JW EE,A45

[L125,T2,P1] GOTO A44

t[L126,T2,P1] A45

f

[L140,T2,P1] A44

[L126,T2,P1] CMPS STR2_VAL,#1

[L127,T2,P1] JW EE,A46

[L128,T2,P1] GOTO A44

t

[L129,T2,P1] A46

f

[L129,T2,P1] CMPS DIR,#1

[L130,T2,P1] JW EE,A50

[L131,T2,P1] GOTO A49

t

[L132,T2,P1] A50

f

[L134,T2,P1] A49

[L132,T2,P1] CMPS DIR,#3

[L133,T2,P1] JW EE,A48

t

[L137,T2,P1] A48

f

[L134,T2,P1] LOAD STR1_VAL,#1

[L135,T2,P1] ADD ANG_CUR,#9

[L136,T2,P1] GOTO A51

[L139,T2,P1] A51

[L137,T2,P1] LOAD STR2_VAL,#1

[L138,T2,P1] SUB ANG_CUR,#9

[L139,T2,P1] GOTO A47

[L185,T2,P1] A47

[L140,T2,P1] CMPS STR1_VAL,#1

[L141,T2,P1] JW EE,A53

[L142,T2,P1] GOTO A52

t

[L143,T2,P1] A53

f

[L155,T2,P1] A52

[L143,T2,P1] CMPS STR2_VAL,#1

[L144,T2,P1] JW EE,A52

[L145,T2,P1] CMPS DIR,#1

t f

[L146,T2,P1] JW EE,A57

[L147,T2,P1] GOTO A56

t

[L148,T2,P1] A57

f

[L150,T2,P1] A56

[L148,T2,P1] CMPS DIR,#3

[L149,T2,P1] JW EE,A55

t

[L152,T2,P1] A55

f

[L150,T2,P1] LOAD STR2_VAL,#0

[L151,T2,P1] GOTO A58

[L154,T2,P1] A58

[L152,T2,P1] LOAD STR1_VAL,#1

[L153,T2,P1] SUB ANG_CUR,#9

[L154,T2,P1] GOTO A54

[L185,T2,P1] A54

[L155,T2,P1] CMPS STR1_VAL,#1

[L156,T2,P1] JW EE,A59

[L157,T2,P1] CMPS STR2_VAL,#1

t

[L170,T2,P1] A59

f [L158,T2,P1] JW EE,A60

[L159,T2,P1] GOTO A59

t

[L160,T2,P1] A60

f

[L160,T2,P1] CMPS DIR,#1

[L161,T2,P1] JW EE,A64

[L162,T2,P1] GOTO A63

t

[L163,T2,P1] A64

f

[L165,T2,P1] A63

[L163,T2,P1] CMPS DIR,#3

[L164,T2,P1] JW EE,A62

t

[L168,T2,P1] A62

f

[L165,T2,P1] LOAD STR2_VAL,#1

[L166,T2,P1] ADD ANG_CUR,#9

[L167,T2,P1] GOTO A65

[L169,T2,P1] A65

[L168,T2,P1] LOAD STR1_VAL,#0

[L169,T2,P1] GOTO A61

[L185,T2,P1] A61

[L170,T2,P1] CMPS DIR,#1

[L171,T2,P1] JW EE,A66

[L172,T2,P1] LOAD STR1_VAL,#0

t

[L174,T2,P1] A66

f

[L173,T2,P1] GOTO A67

[L185,T2,P1] A67

[L174,T2,P1] CMPS DIR,#2

[L175,T2,P1] JW EE,A68

[L176,T2,P1] LOAD STR2_VAL,#0

t

[L178,T2,P1] A68

f

[L177,T2,P1] GOTO A69

[L185,T2,P1] A69

[L178,T2,P1] LOAD STR1_VAL,#0

[L179,T2,P1] LOAD STR2_VAL,#0

[L180,T2,P1] CMPS DIR,#3

[L181,T2,P1] JW EE,A70

[L182,T2,P1] LOAD DIR,#2

t

[L184,T2,P1] A70

f

[L183,T2,P1] GOTO A71

[L185,T2,P1] A71

[L184,T2,P1] LOAD DIR,#1

[L185,T2,P1] LOAD TIME_0,#0

[L186,T2,P1] LOAD REG7,ANG_CUR

[L187,T2,P1] SUB REG7,#9

[L188,T2,P1] CMPS ANG_VAL,REG7

[L189,T2,P1] JW G,A72

[L190,T2,P1] LOAD REG8,#9

t

[L195,T2,P1] A72

f

[L191,T2,P1] ADD REG8,ANG_CUR

[L192,T2,P1] CMPS ANG_VAL,REG8

[L193,T2,P1] JW L,A72

[L194,T2,P1] LOAD DIR,#0

t

f

[L195,T2,P1] LOAD REG9,#18

[L196,T2,P1] CMPS ANG_CUR,REG9

[L197,T2,P1] JW LE,A75

[L198,T2,P1] GOTO A74

t

[L199,T2,P1] A75

f

[L201,T2,P1] A74

[L199,T2,P1] CMPS ANG_CUR,#18

[L200,T2,P1] JW GE,A73

t

[L203,T2,P1] A73

f

[L201,T2,P1] LOAD STR_VAL,#1

[L202,T2,P1] GOTO A76

[L209,T2,P1] A76

[L203,T2,P1] LOAD REG10,#18

[L204,T2,P1] CMPS ANG_CUR,REG10

[L205,T2,P1] JW G,A77

[L206,T2,P1] CMPS ANG_CUR,#18

t

[L209,T2,P1] A77

f [L207,T2,P1] JW L,A77

[L208,T2,P1] LOAD STR_VAL,#0

t

f

[L209,T2,P1] PRIO 1

[L210,T2,P1] EXIT AWAIT_CASE,A26

[L211,T2,P1] GOTO A25

[L212,T2,P1] PRIO 1

[L213,T2,P1] GOTO A23

[L214,T3,P1] A78

[L214,T3,P1] LOAD VBAT_VALUE,#0

[L215,T3,P1] LOAD OLD_VALUE,#0

[L216,T3,P1] LOAD VBAT_OUT_TIME,#0

[L217,T3,P1] LOAD DIRECTION,#1

[L218,T3,P1] LOAD RECOVERY_STATE,#0

[L219,T3,P1] ABORT RESET,A79

[L220,T3,P1] A80

[L220,T3,P1] A81

[L220,T3,P1] A82

[L220,T3,P1] A83

[L220,T3,P1] A84

[L220,T3,P3] PRIO 3

[L221,T3,P1/3] PAUSE

[L222,T3,P3] PRESENT VBAT,A85

[L284,T3,P1] A79

RESET

s

[L225,T3,P3] A85

f

[L223,T3,P1] PRIO 1

t

[L224,T3,P1] EXIT AC_2,A82

[L273,T3,P1] AC_2

[L225,T3,P3] PRESENT CLOCK_24,A86

[L226,T3,P3] EXIT AC_3,A83

t

[L227,T3,P1] A86

f

[L229,T3,P3] AC_3 [L227,T3,P1] PRIO 1

[L228,T3,P1] GOTO A84[L229,T3,P3] CMPS DIRECTION,#1

[L230,T3,P3] JW EE,A89

[L231,T3,P3] CMPS VBAT_VALUE,#180

t

[L237,T3,P3] A89

f

[L232,T3,P3] JW G,A91

[L233,T3,P3] GOTO A90

t

[L234,T3,P3] A91

f

[L236,T3,P3] A90

[L234,T3,P3] CMPS VBAT_VALUE,#110

[L235,T3,P3] JW L,A89

t f

[L236,T3,P3] GOTO A88

[L244,T3,P3] A88

[L237,T3,P3] CMPS DIRECTION,#0

[L238,T3,P3] JW EE,A87

[L239,T3,P3] CMPS VBAT_VALUE,#170

t

[L265,T3,P3] A87

f

[L240,T3,P3] JW G,A93

[L241,T3,P3] GOTO A92

t

[L242,T3,P3] A93

f

[L244,T3,P3] A92

[L242,T3,P3] CMPS VBAT_VALUE,#100

[L243,T3,P3] JW L,A87

t f

[L244,T3,P3] ADD VBAT_OUT_TIME,#1

[L245,T3,P3] CMPS RECOVERY_STATE,#1

[L246,T3,P3] JW EE,A96

[L247,T3,P3] GOTO A95

t

[L248,T3,P3] A96

f

[L255,T3,P3] A95

[L248,T3,P3] CMPS VBAT_OUT_TIME,#10

[L249,T3,P3] JW GE,A95

[L250,T3,P3] LOAD RECOVERY_STATE,#1

t f

[L251,T3,P3] EMIT BAT_MOT_HARD

[L4512,T55,P2] PRESENT BAT_MOT_HARD,A1696

i

[L252,T3,P1] PRIO 1

[L253,T3,P1] LOAD VBAT_OUT_TIME,#0

[L254,T3,P1] GOTO A97

[L263,T3,P1] A97

[L255,T3,P3] CMPS RECOVERY_STATE,#1

[L256,T3,P3] JW EE,A98

[L257,T3,P3] CMPS VBAT_OUT_TIME,#1250

t

[L263,T3,P1] A98

f

[L258,T3,P3] JW GE,A98

[L259,T3,P3] EMIT BAT_ERR

t f

[L260,T3,P1] A99[L4510,T55,P2] PRESENT BAT_ERR,A1695

i

[L260,T3,P1] PRIO 1

[L261,T3,P1/1] PAUSE

[L262,T3,P1] GOTO A99

RESET

s

[L263,T3,P1] PRIO 1

[L264,T3,P1] GOTO A94

[L271,T3,P1] A94

[L265,T3,P3] LOAD VBAT_OUT_TIME,#0

[L266,T3,P3] CMPS RECOVERY_STATE,#1

[L267,T3,P3] JW EE,A100

[L268,T3,P3] EMIT BAT_MOT_RES

t

[L271,T3,P1] A100

f

[L4514,T55,P2] PRESENT BAT_MOT_RES,A1697

i

[L269,T3,P1] PRIO 1

[L270,T3,P1] LOAD RECOVERY_STATE,#0

[L271,T3,P1] PRIO 1

[L272,T3,P1] EXIT AWAIT_CASE_0,A81

[L283,T3,P1] AWAIT_CASE_0

[L273,T3,P1] LOAD VBAT_VALUE,?VBAT

[L274,T3,P1] CMPS VBAT_VALUE,OLD_VALUE

[L275,T3,P1] JW G,A101

[L276,T3,P1] LOAD DIRECTION,#1

t

[L278,T3,P1] A101

f

[L277,T3,P1] GOTO A102

[L281,T3,P1] A102

[L278,T3,P1] CMPS VBAT_VALUE,OLD_VALUE

[L279,T3,P1] JW L,A103

[L280,T3,P1] LOAD DIRECTION,#0

t

[L281,T3,P1] A103

f

[L281,T3,P1] LOAD OLD_VALUE,VBAT_VALUE

[L282,T3,P1] EXIT AWAIT_CASE_0,A81

[L283,T3,P1] GOTO A80

[L284,T3,P1] PRIO 1

[L285,T3,P1] GOTO A78

[L286,T4,P9] SIGNAL SPEED_OFF

[L287,T4,P9] SIGNALV SPEED_INST

[L288,T4,P9] SIGNAL IGNORED_0

[L294,T4,P9/9] PAR*

[L295,T5,P9] A104

9

[L493,T10,P4] A105

4

[L633,T15,P7] A106

7

[L654,T16,P4] A107

4

[L673,T17,P3] A108

3

[L295,T5,P9] SIGNALV TRS_B

[L296,T5,P9] SIGNALV TRS_A

[L297,T5,P9] SIGNAL IGNORED_1

[L300,T5,P9/9] PAR*

[L301,T6,P1] A110

1

[L363,T7,P9] A111

9

[L301,T6,P1] A113

[L301,T6,P1] ABORT RESET,A114

[L302,T6,P1] A115

[L302,T6,P9] PRIO 9

[L303,T6,P1/9] PAUSE

[L306,T6,P9] A114

RESET

s

[L304,T6,P1] PRIO 1

[L305,T6,P1] GOTO A115[L306,T6,P9] LOAD D_TIME,#0

[L307,T6,P9] LOAD D_TIME_0,#0

[L308,T6,P9] LOAD D_TIME_1,#0

[L309,T6,P9] LOAD D_TIME_2,#0

[L310,T6,P9] LOAD D_TIME_3,#0

[L311,T6,P9] LOAD D_TIME_4,#0

[L312,T6,P9] LOAD D_TIME_5,#0

[L313,T6,P9] LOAD D_TIME_6,#0

[L314,T6,P9] LOAD D_TIME_7,#0

[L315,T6,P9] LOAD TIME_A,#0

[L316,T6,P9] LOAD TIME_B,#0

[L317,T6,P9] ABORT RESET,A116

[L318,T6,P9] A117

[L318,T6,P9] ABORT SPEED_SENS,A118

[L319,T6,P9] LOAD REG11,TIME_A

[L320,T6,P9] SUB REG11,D_TIME_3

[L321,T6,P9] ADD REG11,D_TIME

[L322,T6,P9] LOAD TIME_A,REG11

[L323,T6,P9] LOAD REG12,TIME_B

[L324,T6,P9] SUB REG12,D_TIME_7

[L325,T6,P9] ADD REG12,D_TIME

[L326,T6,P9] LOAD TIME_B,REG12

[L327,T6,P9] CMPS D_TIME,#7038

[L328,T6,P9] JW L,A119

[L329,T6,P9] EMIT TRS_A

t

[L333,T6,P1] A119

f

[L330,T6,P9] SETV TRS_A,TIME_A

[L385,T9,P8] PRESENT TRS_A,A140

i

[L391,T9,P8] PRESENT TRS_A,A141

i

[L442,T7,P8] PRESENT TRS_A,A156

i

[L448,T7,P8] PRESENT TRS_A,A157

i

[L331,T6,P9] EMIT TRS_B

[L392,T9,P8] LOAD TRS_A_VALUE,?TRS_A

i

[L449,T7,P8] LOAD TRS_A_VALUE,?TRS_A

i

[L332,T6,P9] SETV TRS_B,TIME_B

[L387,T9,P8] PRESENT TRS_B,A138

i

[L393,T9,P8] PRESENT TRS_B,A142

i

[L444,T7,P8] PRESENT TRS_B,A154

i

[L450,T7,P8] PRESENT TRS_B,A158

i

[L394,T9,P8] LOAD TRS_B_VALUE,?TRS_B

i

[L451,T7,P8] LOAD TRS_B_VALUE,?TRS_B

i

[L333,T6,P1] PRIO 1

[L334,T6,P1] LOAD D_TIME_7,D_TIME_6

[L335,T6,P1] LOAD D_TIME_6,D_TIME_5

[L336,T6,P1] LOAD D_TIME_5,D_TIME_4

[L337,T6,P1] LOAD D_TIME_4,D_TIME_3

[L338,T6,P1] LOAD D_TIME_3,D_TIME_2

[L339,T6,P1] LOAD D_TIME_2,D_TIME_1

[L340,T6,P1] LOAD D_TIME_1,D_TIME_0

[L341,T6,P1] LOAD D_TIME_0,D_TIME

[L342,T6,P1] LOAD D_TIME,#0

[L343,T6,P1] A120

[L343,T6,P1] ABORT CLOCK_32,A121

[L344,T6,P1] A122

[L344,T6,P10] PRIO 10

[L348,T6,P10] A121

CLOCK_32s

[L359,T6,P9] A118

SPEED_SENS

s

[L361,T6,P1] A116

RESET

s

[L346,T6,P1] PRIO 1

[L347,T6,P1] GOTO A122

[L348,T6,P10] ADD D_TIME,#1

[L349,T6,P10] CMPS D_TIME,#7038

[L350,T6,P10] JW G,A123

[L351,T6,P10] EMIT SPEED_OFF

t

[L357,T6,P1] A123

f

[L352,T6,P1] A124

[L374,T8,P9] PRESENT SPEED_OFF,A132

i

[L510,T11,P4] PRESENT SPEED_OFF,A181

i

[L522,T11,P4] PRESENT SPEED_OFF,A183

i

[L352,T6,P1] PRIO 1

SPEED_SENS

s

RESET

s

[L355,T6,P1] PRIO 1

[L356,T6,P1] GOTO A124

[L357,T6,P1] PRIO 1

[L358,T6,P1] GOTO A120

[L359,T6,P9] PRIO 9

[L360,T6,P9] GOTO A117

[L361,T6,P1] PRIO 1

[L362,T6,P1] GOTO A113

[L363,T7,P9] A125

[L363,T7,P9] LOAD STRATEGY,#0

[L364,T7,P9] LOAD SPEED_VALUE,#0

[L365,T7,P9] LOAD TRS_A_VALUE,#0

[L366,T7,P9] LOAD TRS_B_VALUE,#0

[L367,T7,P9] SIGNAL ABORT_0

[L368,T7,P9] ABORT ABORT_0,A126

[L371,T7,P9/9] PAR*

[L372,T8,P9] A128

9

[L380,T9,P8] A129

8

[L372,T8,P9] A131

[L372,T8,P9] PRESENT RESET,A134

[L373,T8,P9] GOTO A133

t

[L374,T8,P9] A134

f

[L375,T8,P9] A133

t

[L376,T8,P1] A132

f

[L375,T8,P9] EMIT ABORT_0

[L384,T9,P1/8] PAUSE

d

[L376,T8,P1] PRIO 1

[L378,T8,P1/9] PAUSE

[L379,T8,P9] GOTO A131

[L436,T7,P8] A126

ABORT_0

s

[L380,T9,P8] A135

[L380,T9,P8] EMIT SPEED_INST

[L381,T9,P8] SETV SPEED_INST,SPEED_VALUE

[L512,T11,P4] PRESENT SPEED_INST,A180

i

[L520,T11,P4] PRESENT SPEED_INST,A182

i

[L640,T15,P1/7] PAUSE

d

[L382,T9,P1] A136

[L521,T11,P4] LOAD SPEED_VALUE_0,?SPEED_INST

i d

[L643,T15,P7] LOAD VAL,?SPEED_INST

i

[L382,T9,P1] A137

[L382,T9,P1] PRIO 1

ABORT_0

s

[L386,T9,P8] GOTO A139

t

[L387,T9,P8] A140

f

[L388,T9,P8] A139

t

[L389,T9,P1] A138

f

[L388,T9,P8] EXIT AWAIT_OP_0,A136

[L391,T9,P8] AWAIT_OP_0

[L389,T9,P1] PRIO 1

[L390,T9,P1] GOTO A137

t

[L393,T9,P8] A141

f

t

[L395,T9,P8] A142

f

[L395,T9,P8] CMPS STRATEGY,#0

[L396,T9,P8] JW EE,A143

[L397,T9,P8] CMPS TRS_A_VALUE,#5927

t

[L416,T9,P8] A143

f

[L398,T9,P8] JW G,A145

[L399,T9,P8] LOAD REG13,#28828829

t

[L406,T9,P8] A145

f

[L400,T9,P8] LOAD R0,REG13

[L401,T9,P8] LOAD R1,TRS_A_VALUE

[L402,T9,P8] CALL DIV

[L403,T9,P8] LOAD REG13,R0

[L404,T9,P8] LOAD SPEED_VALUE,REG13

[L405,T9,P8] GOTO A146

[L415,T9,P8] A146

[L406,T9,P8] CMPS TRS_B_VALUE,#0

[L407,T9,P8] JW NE,A147

[L408,T9,P8] LOAD STRATEGY,#1

t

[L415,T9,P8] A147

f

[L409,T9,P8] LOAD REG14,#57657658

[L410,T9,P8] LOAD R0,REG14

[L411,T9,P8] LOAD R1,TRS_B_VALUE

[L412,T9,P8] CALL DIV

[L413,T9,P8] LOAD REG14,R0

[L414,T9,P8] LOAD SPEED_VALUE,REG14

[L415,T9,P8] GOTO A144

[L434,T9,P8] A144

[L416,T9,P8] CMPS TRS_A_VALUE,#6256

[L417,T9,P8] JW L,A148

[L418,T9,P8] LOAD REG15,#57657658

t

[L425,T9,P8] A148

f

[L419,T9,P8] LOAD R0,REG15

[L420,T9,P8] LOAD R1,TRS_B_VALUE

[L421,T9,P8] CALL DIV

[L422,T9,P8] LOAD REG15,R0

[L423,T9,P8] LOAD SPEED_VALUE,REG15

[L424,T9,P8] GOTO A149

[L434,T9,P8] A149

[L425,T9,P8] CMPS TRS_A_VALUE,#0

[L426,T9,P8] JW NE,A150

[L427,T9,P8] LOAD STRATEGY,#0

t

[L434,T9,P8] A150

f

[L428,T9,P8] LOAD REG16,#28828829

[L429,T9,P8] LOAD R0,REG16

[L430,T9,P8] LOAD R1,TRS_A_VALUE

[L431,T9,P8] CALL DIV

[L432,T9,P8] LOAD REG16,R0

[L433,T9,P8] LOAD SPEED_VALUE,REG16

[L434,T9,P8] GOTO A135

[L435,T7,P9] JOIN 0

[L436,T7,P8] A151

[L436,T7,P8] PRIO 8

[L437,T7,P8] EMIT SPEED_INST

[L438,T7,P8] SETV SPEED_INST,SPEED_VALUE

i i d

[L439,T7,P1] A152

i d i

[L439,T7,P1] A153

[L439,T7,P1] PRIO 1

[L441,T7,P1/8] PAUSE

[L443,T7,P8] GOTO A155

t

[L444,T7,P8] A156

f

[L445,T7,P8] A155

t

[L446,T7,P1] A154

f

[L445,T7,P8] EXIT AWAIT_OP_0_0,A152

[L448,T7,P8] AWAIT_OP_0_0

[L446,T7,P1] PRIO 1

[L447,T7,P1] GOTO A153

t

[L450,T7,P8] A157

f

t

[L452,T7,P8] A158

f

[L452,T7,P8] CMPS STRATEGY,#0

[L453,T7,P8] JW EE,A159

[L454,T7,P8] CMPS TRS_A_VALUE,#5927

t

[L473,T7,P8] A159

f

[L455,T7,P8] JW G,A161

[L456,T7,P8] LOAD REG17,#28828829

t

[L463,T7,P8] A161

f

[L457,T7,P8] LOAD R0,REG17

[L458,T7,P8] LOAD R1,TRS_A_VALUE

[L459,T7,P8] CALL DIV

[L460,T7,P8] LOAD REG17,R0

[L461,T7,P8] LOAD SPEED_VALUE,REG17

[L462,T7,P8] GOTO A162

[L472,T7,P8] A162

[L463,T7,P8] CMPS TRS_B_VALUE,#0

[L464,T7,P8] JW NE,A163

[L465,T7,P8] LOAD STRATEGY,#1

t

[L472,T7,P8] A163

f

[L466,T7,P8] LOAD REG18,#57657658

[L467,T7,P8] LOAD R0,REG18

[L468,T7,P8] LOAD R1,TRS_B_VALUE

[L469,T7,P8] CALL DIV

[L470,T7,P8] LOAD REG18,R0

[L471,T7,P8] LOAD SPEED_VALUE,REG18

[L472,T7,P8] GOTO A160

[L491,T7,P8] A160

[L473,T7,P8] CMPS TRS_A_VALUE,#6256

[L474,T7,P8] JW L,A164

[L475,T7,P8] LOAD REG19,#57657658

t

[L482,T7,P8] A164

f

[L476,T7,P8] LOAD R0,REG19

[L477,T7,P8] LOAD R1,TRS_B_VALUE

[L478,T7,P8] CALL DIV

[L479,T7,P8] LOAD REG19,R0

[L480,T7,P8] LOAD SPEED_VALUE,REG19

[L481,T7,P8] GOTO A165

[L491,T7,P8] A165

[L482,T7,P8] CMPS TRS_A_VALUE,#0

[L483,T7,P8] JW NE,A166

[L484,T7,P8] LOAD STRATEGY,#0

t

[L491,T7,P8] A166

f

[L485,T7,P8] LOAD REG20,#28828829

[L486,T7,P8] LOAD R0,REG20

[L487,T7,P8] LOAD R1,TRS_A_VALUE

[L488,T7,P8] CALL DIV

[L489,T7,P8] LOAD REG20,R0

[L490,T7,P8] LOAD SPEED_VALUE,REG20

[L491,T7,P8] GOTO A151

[L492,T5,P9] JOIN 0

[L493,T10,P4] SIGNAL ERR_OPEN

[L494,T10,P4] SIGNAL ERR_ACC

[L495,T10,P4] SIGNAL ERR_PAR

[L496,T10,P4] SIGNAL IGNORED_2

[L501,T10,P4/4] PAR*

[L502,T11,P1] A167

1

[L552,T12,P4] A168

4

[L586,T13,P1] A169

1

[L619,T14,P1] A170

1

[L502,T11,P1] A172

[L502,T11,P1] LOAD SPEED_VALUE_0,#0

[L503,T11,P1] LOAD ACC_VALUE,#0

[L504,T11,P1] LOAD ACC_OUT_TIME,#0

[L505,T11,P1] LOAD ACC_OUT_ERR_NUM,#0

[L506,T11,P1] LOAD ABNORM_NUM,#0

[L507,T11,P1] ABORT RESET,A173

[L508,T11,P1] A174

[L508,T11,P1] A175

[L508,T11,P1] A176

[L508,T11,P4] PRIO 4

[L509,T11,P1/4] PAUSE

[L550,T11,P1] A173

RESET

s

[L511,T11,P4] GOTO A178

t

[L512,T11,P4] A181

f

[L517,T11,P4] A178

[L513,T11,P4] GOTO A178

t

[L514,T11,P4] A180

f

[L514,T11,P4] PRESENT VER_ACC_FREQ_MED,A179

[L515,T11,P4] GOTO A178

t

[L516,T11,P4] A179

f

[L516,T11,P4] PRESENT CLOCK_24,A177

t

[L518,T11,P1] A177

f

[L517,T11,P4] EXIT AWAIT_OP_1,A175

[L520,T11,P4] AWAIT_OP_1

[L518,T11,P1] PRIO 1

[L519,T11,P1] GOTO A176

t

[L522,T11,P4] A182

f

[L523,T11,P4] LOAD SPEED_VALUE_0,#0

t

[L524,T11,P4] A183

f

[L524,T11,P4] PRESENT VER_ACC_FREQ_MED,A184

[L525,T11,P4] LOAD ACC_VALUE,?VER_ACC_FREQ_MED

t

[L526,T11,P4] A184

f

[L526,T11,P4] PRESENT CLOCK_24,A185

[L527,T11,P4] ADD ACC_OUT_TIME,#1

t

[L548,T11,P1] A185

f

[L528,T11,P4] CMPS ACC_OUT_TIME,#10

[L529,T11,P4] JW G,A186

[L530,T11,P4] LOAD ACC_OUT_TIME,#0

t

[L532,T11,P4] A186

f

[L531,T11,P4] LOAD ACC_OUT_ERR_NUM,#0

[L532,T11,P4] CMPS ACC_VALUE,#23

[L533,T11,P4] JW G,A187

[L534,T11,P4] CMPS SPEED_VALUE_0,#0

t

[L548,T11,P1] A187

f

[L535,T11,P4] JW EE,A187

[L536,T11,P4] ADD ACC_OUT_ERR_NUM,#1

t

f

[L537,T11,P4] CMPS ACC_OUT_ERR_NUM,#3

[L538,T11,P4] JW G,A188

[L539,T11,P4] ADD ABNORM_NUM,#1

t

[L548,T11,P1] A188

f

[L540,T11,P4] LOAD ACC_OUT_ERR_NUM,#0

[L541,T11,P4] LOAD ACC_OUT_TIME,#0

[L542,T11,P4] CMPS ABNORM_NUM,#3

[L543,T11,P4] JW G,A189

[L544,T11,P4] EMIT ERR_ACC

t

[L548,T11,P1] A189

f

[L545,T11,P1] A190 [L621,T14,P3] PRESENT ERR_ACC,A221

i

[L545,T11,P1] PRIO 1

[L546,T11,P1/1] PAUSE

[L547,T11,P1] GOTO A190

RESET

s

[L548,T11,P1] PRIO 1

[L549,T11,P1] GOTO A174

[L550,T11,P1] PRIO 1

[L551,T11,P1] GOTO A172

[L552,T12,P4] A191

[L552,T12,P4] LOAD D_TIME_8,#6000

[L553,T12,P4] LOAD MIN_TPAR_NUM,#0

[L554,T12,P4] ABORT RESET,A192

[L555,T12,P4] A193

[L555,T12,P4] A194

[L555,T12,P4] ABORT SPEED_SENS,A195

[L556,T12,P4] CMPS D_TIME_8,#6000

[L557,T12,P4] JW L,A196

[L558,T12,P4] ADD MIN_TPAR_NUM,#1

t

[L562,T12,P1] A196

f

[L559,T12,P4] CMPS MIN_TPAR_NUM,#3

[L560,T12,P4] JW G,A197

[L561,T12,P4] EXIT ERROR,A193

t

[L562,T12,P1] A197

f

[L579,T12,P4] ERROR

[L562,T12,P1] PRIO 1

[L563,T12,P1] LOAD D_TIME_8,#0

[L564,T12,P1] ABORT CLOCK_500,A198

[L565,T12,P1] A199

[L565,T12,P4] PRIO 4

[L569,T12,P1] A198

CLOCK_500s

[L578,T12,P4] A195

SPEED_SENS

s

[L585,T12,P4] A192

RESET

s

[L567,T12,P1] PRIO 1

[L568,T12,P1] GOTO A199

[L569,T12,P1] A200

[L569,T12,P1] PRIO 1

[L570,T12,P1] ABORT CLOCK_500,A201

[L571,T12,P1] ADD D_TIME_8,#1

[L572,T12,P1] A202

[L572,T12,P4] PRIO 4

[L576,T12,P1] A201

CLOCK_500

s

SPEED_SENS

s

RESET

s

[L574,T12,P1] PRIO 1

[L575,T12,P1] GOTO A202[L576,T12,P1] PRIO 1

[L577,T12,P1] GOTO A200

[L578,T12,P4] GOTO A194

[L579,T12,P4] EMIT ERR_PAR

[L580,T12,P1] A203

[L625,T14,P3] PRESENT ERR_PAR,A223

i

[L580,T12,P1] PRIO 1

[L582,T12,P1/4] PAUSE

RESET

s

[L583,T12,P1] PRIO 1

[L584,T12,P1] GOTO A203 [L585,T12,P4] GOTO A191

[L586,T13,P1] A204

[L586,T13,P1] LOAD D_TIME_9,#0

[L587,T13,P1] LOAD D_TIME_OLD,#0

[L588,T13,P1] ABORT RESET,A205

[L589,T13,P1] A206

[L589,T13,P1] A207

[L589,T13,P1] A208

[L589,T13,P1] A209

[L589,T13,P1] A210

[L589,T13,P4] PRIO 4

[L590,T13,P1/4] PAUSE

[L617,T13,P1] A205

RESET

s

[L592,T13,P4] EXIT AC_4,A208

t

[L593,T13,P1] A211

f

[L599,T13,P4] AC_4

[L593,T13,P1] PRIO 1

[L594,T13,P1] PRESENT CLOCK_32,A212

[L595,T13,P1] EXIT AC_5,A209

t

[L596,T13,P1] A212

f

[L597,T13,P1] AC_5

[L596,T13,P1] GOTO A210

[L597,T13,P1] ADD D_TIME_9,#1

[L598,T13,P1] EXIT AWAIT_CASE_1,A207

[L616,T13,P1] AWAIT_CASE_1

[L599,T13,P4] CMPS D_TIME_OLD,#312

[L600,T13,P4] JW L,A215

[L601,T13,P4] CMPS D_TIME_9,#31250

t

[L604,T13,P4] A215

f

[L602,T13,P4] JW G,A215

[L603,T13,P4] GOTO A214

tf

[L608,T13,P4] A214

[L604,T13,P4] CMPS D_TIME_OLD,#625

[L605,T13,P4] JW L,A213

[L606,T13,P4] CMPS D_TIME_9,#125000

t

[L612,T13,P1] A213

f

[L607,T13,P4] JW G,A213

tf

[L608,T13,P4] EMIT ERR_OPEN

[L609,T13,P1] A217

[L623,T14,P3] PRESENT ERR_OPEN,A222

i

[L609,T13,P1] PRIO 1

[L610,T13,P1/1] PAUSE

[L611,T13,P1] GOTO A217

RESET

s

[L612,T13,P1] PRIO 1

[L613,T13,P1] LOAD D_TIME_OLD,D_TIME_9

[L614,T13,P1] LOAD D_TIME_9,#0

[L615,T13,P1] EXIT AWAIT_CASE_1,A207

[L616,T13,P1] GOTO A206

[L617,T13,P1] PRIO 1

[L618,T13,P1] GOTO A204

[L619,T14,P1] A218

[L619,T14,P1] A219

[L619,T14,P1] A220

[L619,T14,P3] PRIO 3

[L620,T14,P1/3] PAUSE

[L622,T14,P3] EXIT AWAIT_CASE_2,A219

t

[L623,T14,P3] A221

f

[L629,T14,P3] AWAIT_CASE_2

[L624,T14,P3] EXIT AWAIT_CASE_2,A219

t

[L625,T14,P3] A222

f

[L626,T14,P3] EXIT AWAIT_CASE_2,A219

t

[L627,T14,P1] A223

f

[L627,T14,P1] PRIO 1

[L628,T14,P1] GOTO A220

[L629,T14,P3] EMIT LONG_SPEED_ERR

[L4502,T55,P2] PRESENT LONG_SPEED_ERR,A1691

i

[L630,T14,P1] PRIO 1

[L631,T14,P1] GOTO A218

[L632,T10,P4] JOIN 0

[L633,T15,P7] A224

[L633,T15,P7] LOAD FILT_VAL,#0

[L634,T15,P7] ABORT RESET,A225

[L635,T15,P7] A226

[L635,T15,P7] EMIT LONG_SPEED_FILT

[L636,T15,P7] SETV LONG_SPEED_FILT,FILT_VAL

[L661,T16,P1/4] PAUSE

d

[L761,T19,P6] PRESENT LONG_SPEED_FILT,A277

i

[L3068,T39,P6] PRESENT LONG_SPEED_FILT,A1145

i

[L3080,T39,P6] PRESENT LONG_SPEED_FILT,A1152

i

[L3225,T41,P4] PRESENT LONG_SPEED_FILT,A1192

i

[L3231,T41,P4] PRESENT LONG_SPEED_FILT,A1193

i

[L3689,T44,P4] PRESENT LONG_SPEED_FILT,A1369

i

d

[L664,T16,P4] LOAD VALUE,?LONG_SPEED_FILT

i

[L783,T19,P1] LOAD SPEED_VAL_0,?LONG_SPEED_FILT

i

[L3081,T39,P6] LOAD SPEED_VALUE_12,?LONG_SPEED_FILT

i

[L3233,T41,P4] LOAD SPEED_VALUE_13,?LONG_SPEED_FILT

i

[L3706,T44,P4] LOAD SPEED_VALUE_16,?LONG_SPEED_FILT

i

[L637,T15,P1] PRIO 1

[L638,T15,P1] ABORT SPEED_INST,A227

[L639,T15,P1] A228

[L639,T15,P7] PRIO 7

[L643,T15,P7] A227

SPEED_INSTs

[L653,T15,P7] A225

RESET

s

[L641,T15,P1] PRIO 1

[L642,T15,P1] GOTO A228

[L644,T15,P7] LOAD REG21,VAL

[L645,T15,P7] SUB REG21,FILT_VAL

[L646,T15,P7] LOAD R0,REG21

[L647,T15,P7] LOAD R1,#4

[L648,T15,P7] CALL DIV

[L649,T15,P7] LOAD REG21,R0

[L650,T15,P7] ADD REG21,FILT_VAL

[L651,T15,P7] LOAD FILT_VAL,REG21

[L652,T15,P7] GOTO A226

[L653,T15,P7] GOTO A224

[L654,T16,P4] A229

[L654,T16,P4] LOAD VALUE_KM,#0

[L655,T16,P4] ABORT RESET,A230

[L656,T16,P4] A231

[L656,T16,P4] EMIT LONG_SPEED_KM

[L657,T16,P4] SETV LONG_SPEED_KM,VALUE_KM

[L684,T17,P1/3] PAUSE

d

[L862,T22,P3] PRESENT LONG_SPEED_KM,A296

i

[L1055,T23,P3] PRESENT LONG_SPEED_KM,A374

i

[L1248,T24,P3] PRESENT LONG_SPEED_KM,A452

i

[L1441,T25,P3] PRESENT LONG_SPEED_KM,A530

i

[L1634,T26,P3] PRESENT LONG_SPEED_KM,A608

i

[L1827,T27,P3] PRESENT LONG_SPEED_KM,A686

i

[L2180,T33,P3] PRESENT LONG_SPEED_KM,A807

i

[L2374,T34,P3] PRESENT LONG_SPEED_KM,A885

i

[L2614,T35,P3] PRESENT LONG_SPEED_KM,A971

i

[L2808,T36,P3] PRESENT LONG_SPEED_KM,A1049

i

[L3306,T42,P3] PRESENT LONG_SPEED_KM,A1211

i

[L3499,T43,P3] PRESENT LONG_SPEED_KM,A1289

i

[L3898,T50,P3] PRESENT LONG_SPEED_KM,A1438

i

[L4091,T51,P3] PRESENT LONG_SPEED_KM,A1516

i

d

[L687,T17,P3] LOAD SPEED_VALUE_1,?LONG_SPEED_KM

i

[L916,T22,P3] LOAD SPEED_VALUE_2,?LONG_SPEED_KM

i

[L1109,T23,P3] LOAD SPEED_VALUE_3,?LONG_SPEED_KM

i

[L1302,T24,P3] LOAD SPEED_VALUE_4,?LONG_SPEED_KM

i

[L1495,T25,P3] LOAD SPEED_VALUE_5,?LONG_SPEED_KM

i

[L1688,T26,P3] LOAD SPEED_VALUE_6,?LONG_SPEED_KM

i

[L1881,T27,P3] LOAD SPEED_VALUE_7,?LONG_SPEED_KM

i

[L2234,T33,P3] LOAD SPEED_VALUE_8,?LONG_SPEED_KM

i

[L2450,T34,P3] LOAD SPEED_VALUE_9,?LONG_SPEED_KM

i

[L2668,T35,P3] LOAD SPEED_VALUE_10,?LONG_SPEED_KM

i

[L2884,T36,P3] LOAD SPEED_VALUE_11,?LONG_SPEED_KM

i

[L3360,T42,P3] LOAD SPEED_VALUE_14,?LONG_SPEED_KM

i

[L3553,T43,P3] LOAD SPEED_VALUE_15,?LONG_SPEED_KM

i

[L3952,T50,P3] LOAD SPEED_VALUE_19,?LONG_SPEED_KM

i

[L4145,T51,P3] LOAD SPEED_VALUE_20,?LONG_SPEED_KM

i

[L658,T16,P1] PRIO 1

[L659,T16,P1] ABORT LONG_SPEED_FILT,A232

[L660,T16,P1] A233

[L660,T16,P4] PRIO 4

[L664,T16,P4] A232

LONG_SPEED_FILTs

[L672,T16,P4] A230

RESET

s

[L662,T16,P1] PRIO 1

[L663,T16,P1] GOTO A233

[L665,T16,P4] LOAD REG22,VALUE

[L666,T16,P4] LOAD R0,REG22

[L667,T16,P4] LOAD R1,#256

[L668,T16,P4] CALL DIV

[L669,T16,P4] LOAD REG22,R0

[L670,T16,P4] LOAD VALUE_KM,REG22

[L671,T16,P4] GOTO A231

[L672,T16,P4] GOTO A229

[L673,T17,P3] A234

[L673,T17,P3] LOAD SPEED_VALUE_1,#0

[L674,T17,P3] LOAD OLD_SPEED_VALUE,#0

[L675,T17,P3] LOAD LONG_SPEED_MOT_VALUE,#2

[L676,T17,P3] LOAD DIRECTION_0,#1

[L677,T17,P3] ABORT RESET,A235

[L678,T17,P3] A236

[L678,T17,P3] EMIT LONG_SPEED_MOT

[L679,T17,P3] SETV LONG_SPEED_MOT,LONG_SPEED_MOT_VALUE

[L4299,T53,P2] PRESENT LONG_SPEED_MOT,A1608

i

[L4401,T54,P2] PRESENT LONG_SPEED_MOT,A1649

i

[L4331,T53,P2] LOAD CTRL_1_VAL,?LONG_SPEED_MOT

i

[L4433,T54,P2] LOAD CTRL_1_VAL_0,?LONG_SPEED_MOT

i

[L680,T17,P1] PRIO 1

[L681,T17,P1] LOAD OLD_SPEED_VALUE,SPEED_VALUE_1

[L682,T17,P1] ABORT LONG_SPEED_KM,A237

[L683,T17,P1] A238

[L683,T17,P3] PRIO 3

[L687,T17,P3] A237

LONG_SPEED_KM

s

[L733,T17,P3] A235

RESETs

[L685,T17,P1] PRIO 1

[L686,T17,P1] GOTO A238

[L688,T17,P3] CMPS SPEED_VALUE_1,OLD_SPEED_VALUE

[L689,T17,P3] JW L,A239

[L690,T17,P3] LOAD DIRECTION_0,#0

t

[L692,T17,P3] A239

f

[L691,T17,P3] GOTO A240

[L695,T17,P3] A240

[L692,T17,P3] CMPS SPEED_VALUE_1,OLD_SPEED_VALUE

[L693,T17,P3] JW G,A241

[L694,T17,P3] LOAD DIRECTION_0,#1

t

[L695,T17,P3] A241

f

[L695,T17,P3] CMPS DIRECTION_0,#1

[L696,T17,P3] JW EE,A242

[L697,T17,P3] CMPS SPEED_VALUE_1,#5

t

[L715,T17,P3] A242

f

[L698,T17,P3] JW L,A244

[L699,T17,P3] LOAD LONG_SPEED_MOT_VALUE,#2

t

[L701,T17,P3] A244

f

[L700,T17,P3] GOTO A245

[L714,T17,P3] A245

[L701,T17,P3] CMPS SPEED_VALUE_1,#7

[L702,T17,P3] JW L,A246

[L703,T17,P3] LOAD LONG_SPEED_MOT_VALUE,#1

t

[L705,T17,P3] A246

f

[L704,T17,P3] GOTO A247

[L714,T17,P3] A247

[L705,T17,P3] CMPS SPEED_VALUE_1,#160

[L706,T17,P3] JW L,A248

[L707,T17,P3] LOAD LONG_SPEED_MOT_VALUE,#0

t

[L709,T17,P3] A248

f

[L708,T17,P3] GOTO A249

[L714,T17,P3] A249

[L709,T17,P3] CMPS SPEED_VALUE_1,#210

[L710,T17,P3] JW L,A250

[L711,T17,P3] LOAD LONG_SPEED_MOT_VALUE,#1

t

[L713,T17,P3] A250

f

[L712,T17,P3] GOTO A251

[L714,T17,P3] A251

[L713,T17,P3] LOAD LONG_SPEED_MOT_VALUE,#2

[L714,T17,P3] GOTO A243

[L732,T17,P3] A243

[L715,T17,P3] CMPS SPEED_VALUE_1,#205

[L716,T17,P3] JW G,A252

[L717,T17,P3] LOAD LONG_SPEED_MOT_VALUE,#2

t

[L719,T17,P3] A252

f

[L718,T17,P3] GOTO A253

[L732,T17,P3] A253

[L719,T17,P3] CMPS SPEED_VALUE_1,#155

[L720,T17,P3] JW G,A254

[L721,T17,P3] LOAD LONG_SPEED_MOT_VALUE,#1

t

[L723,T17,P3] A254

f

[L722,T17,P3] GOTO A255

[L732,T17,P3] A255

[L723,T17,P3] CMPS SPEED_VALUE_1,#6

[L724,T17,P3] JW G,A256

[L725,T17,P3] LOAD LONG_SPEED_MOT_VALUE,#0

t

[L727,T17,P3] A256

f

[L726,T17,P3] GOTO A257

[L732,T17,P3] A257

[L727,T17,P3] CMPS SPEED_VALUE_1,#4

[L728,T17,P3] JW G,A258

[L729,T17,P3] LOAD LONG_SPEED_MOT_VALUE,#1

t

[L731,T17,P3] A258

f

[L730,T17,P3] GOTO A259

[L732,T17,P3] A259

[L731,T17,P3] LOAD LONG_SPEED_MOT_VALUE,#2

[L732,T17,P3] GOTO A236

[L733,T17,P3] GOTO A234

[L734,T4,P9] JOIN 0

[L735,T18,P5] SIGNALV ACC_DER

[L736,T18,P5] SIGNALV ACC

[L737,T18,P5] SIGNALV ACC_FILT

[L738,T18,P5] SIGNAL IGNORED_3

[L748,T18,P5/5] PAR*

[L749,T19,P1] A260

1

[L788,T20,P5] A261

5

[L809,T21,P4] A262

4

[L849,T22,P3] A263

3

[L1042,T23,P3] A264

3

[L1235,T24,P3] A265

3

[L1428,T25,P3] A266

3

[L1621,T26,P3] A267

3

[L1814,T27,P3] A268

3

[L749,T19,P1] A270

[L749,T19,P1] LOAD SPEED_VAL_0,#0

[L750,T19,P1] LOAD SPEED_VAL_1,#0

[L751,T19,P1] LOAD SPEED_VAL_2,#0

[L752,T19,P1] LOAD SPEED_VAL_3,#0

[L753,T19,P1] LOAD SPEED_VAL_4,#0

[L754,T19,P1] LOAD SPEED_VAL_5,#0

[L755,T19,P1] LOAD SPEED_VAL_6,#0

[L756,T19,P1] LOAD SPEED_VAL_7,#0

[L757,T19,P1] LOAD SPEED_VAL_8,#0

[L758,T19,P1] ABORT RESET,A271

[L759,T19,P1] A272

[L759,T19,P1] A273

[L759,T19,P1] A274

[L759,T19,P1] A275

[L759,T19,P1] A276

[L759,T19,P6] PRIO 6

[L760,T19,P1/6] PAUSE

[L786,T19,P1] A271

RESET

s

[L764,T19,P6] A277

f

[L762,T19,P1] PRIO 1

t

[L763,T19,P1] EXIT AC_6,A274

[L783,T19,P1] AC_6

[L764,T19,P6] PRESENT CLOCK_24,A278

[L765,T19,P6] EXIT AC_7,A275

t

[L766,T19,P1] A278

f

[L768,T19,P6] AC_7[L766,T19,P1] PRIO 1

[L767,T19,P1] GOTO A276 [L768,T19,P6] LOAD REG23,SPEED_VAL_0

[L769,T19,P6] SUB REG23,SPEED_VAL_8

[L770,T19,P6] LOAD ACC_VALUE_0,REG23

[L771,T19,P6] EMIT ACC

[L772,T19,P6] SETV ACC,ACC_VALUE_0

[L795,T20,P1/5] PAUSE

d

d

[L798,T20,P5] LOAD VAL_0,?ACC

i

[L773,T19,P1] PRIO 1

[L774,T19,P1] LOAD SPEED_VAL_8,SPEED_VAL_7

[L775,T19,P1] LOAD SPEED_VAL_7,SPEED_VAL_6

[L776,T19,P1] LOAD SPEED_VAL_6,SPEED_VAL_5

[L777,T19,P1] LOAD SPEED_VAL_5,SPEED_VAL_4

[L778,T19,P1] LOAD SPEED_VAL_4,SPEED_VAL_3

[L779,T19,P1] LOAD SPEED_VAL_3,SPEED_VAL_2

[L780,T19,P1] LOAD SPEED_VAL_2,SPEED_VAL_1

[L781,T19,P1] LOAD SPEED_VAL_1,SPEED_VAL_0

[L782,T19,P1] EXIT AWAIT_CASE_3,A273

[L785,T19,P1] AWAIT_CASE_3

[L784,T19,P1] EXIT AWAIT_CASE_3,A273

[L785,T19,P1] GOTO A272

[L786,T19,P1] PRIO 1

[L787,T19,P1] GOTO A270

[L788,T20,P5] A279

[L788,T20,P5] LOAD FILT_VAL_0,#0

[L789,T20,P5] ABORT RESET,A280

[L790,T20,P5] A281

[L790,T20,P5] EMIT ACC_FILT

[L791,T20,P5] SETV ACC_FILT,FILT_VAL_0

[L843,T21,P1/4] PAUSE

d

[L864,T22,P3] PRESENT ACC_FILT,A297

i

[L1057,T23,P3] PRESENT ACC_FILT,A375

i

[L1250,T24,P3] PRESENT ACC_FILT,A453

i

[L1443,T25,P3] PRESENT ACC_FILT,A531

i

d

[L846,T21,P4] LOAD ACC_VALUE_0_0,?ACC_FILT

i

[L868,T22,P3] LOAD CURRENT_VALUE,?ACC_FILT

i

[L1061,T23,P3] LOAD CURRENT_VALUE_0,?ACC_FILT

i

[L1254,T24,P3] LOAD CURRENT_VALUE_1,?ACC_FILT

i

[L1447,T25,P3] LOAD CURRENT_VALUE_2,?ACC_FILT

i

[L792,T20,P1] PRIO 1

[L793,T20,P1] ABORT ACC,A282

[L794,T20,P1] A283

[L794,T20,P5] PRIO 5

[L798,T20,P5] A282

ACC

s

[L808,T20,P5] A280

RESET

s

[L796,T20,P1] PRIO 1

[L797,T20,P1] GOTO A283

[L799,T20,P5] LOAD REG24,VAL_0

[L800,T20,P5] SUB REG24,FILT_VAL_0

[L801,T20,P5] LOAD R0,REG24

[L802,T20,P5] LOAD R1,#77

[L803,T20,P5] CALL DIV

[L804,T20,P5] LOAD REG24,R0

[L805,T20,P5] ADD REG24,FILT_VAL_0

[L806,T20,P5] LOAD FILT_VAL_0,REG24

[L807,T20,P5] GOTO A281

[L808,T20,P5] GOTO A279

[L809,T21,P4] A284

[L809,T21,P4] LOAD ACC_VALUE_0_0,#0

[L810,T21,P4] LOAD ACC_VALUE_1,#0

[L811,T21,P4] LOAD ACC_VALUE_2,#0

[L812,T21,P4] LOAD ACC_VALUE_3,#0

[L813,T21,P4] LOAD ACC_VALUE_4,#0

[L814,T21,P4] LOAD ACC_VALUE_5,#0

[L815,T21,P4] LOAD ACC_VALUE_6,#0

[L816,T21,P4] LOAD ACC_VALUE_7,#0

[L817,T21,P4] LOAD ACC_VALUE_8,#0

[L818,T21,P4] LOAD ACC_VALUE_9,#0

[L819,T21,P4] LOAD ACC_VALUE_10,#0

[L820,T21,P4] LOAD ACC_VALUE_11,#0

[L821,T21,P4] LOAD ACC_VALUE_12,#0

[L822,T21,P4] ABORT RESET,A285

[L823,T21,P4] A286

[L823,T21,P4] LOAD REG25,ACC_VALUE_0_0

[L824,T21,P4] SUB REG25,ACC_VALUE_12

[L825,T21,P4] LOAD ACC_DER_VALUE,REG25

[L826,T21,P4] EMIT ACC_DER

[L827,T21,P4] SETV ACC_DER,ACC_DER_VALUE [L1636,T26,P3] PRESENT ACC_DER,A609

i

[L1829,T27,P3] PRESENT ACC_DER,A687

i

[L1640,T26,P3] LOAD CURRENT_VALUE_3,?ACC_DER

i

[L1833,T27,P3] LOAD CURRENT_VALUE_4,?ACC_DER

i

[L828,T21,P1] PRIO 1

[L829,T21,P1] LOAD ACC_VALUE_12,ACC_VALUE_11

[L830,T21,P1] LOAD ACC_VALUE_11,ACC_VALUE_10

[L831,T21,P1] LOAD ACC_VALUE_10,ACC_VALUE_9

[L832,T21,P1] LOAD ACC_VALUE_9,ACC_VALUE_8

[L833,T21,P1] LOAD ACC_VALUE_8,ACC_VALUE_7

[L834,T21,P1] LOAD ACC_VALUE_7,ACC_VALUE_6

[L835,T21,P1] LOAD ACC_VALUE_6,ACC_VALUE_5

[L836,T21,P1] LOAD ACC_VALUE_5,ACC_VALUE_4

[L837,T21,P1] LOAD ACC_VALUE_4,ACC_VALUE_3

[L838,T21,P1] LOAD ACC_VALUE_3,ACC_VALUE_2

[L839,T21,P1] LOAD ACC_VALUE_2,ACC_VALUE_1

[L840,T21,P1] LOAD ACC_VALUE_1,ACC_VALUE_0_0

[L841,T21,P1] ABORT ACC_FILT,A287

[L842,T21,P1] A288

[L842,T21,P4] PRIO 4

[L846,T21,P4] A287

ACC_FILT

s

[L848,T21,P4] A285

RESET

s

[L844,T21,P1] PRIO 1

[L845,T21,P1] GOTO A288

[L847,T21,P4] GOTO A286

[L848,T21,P4] GOTO A284

[L849,T22,P3] A289

[L849,T22,P3] LOAD CURRENT_VALUE,#0

[L850,T22,P3] LOAD OLD_VALUE_0,#0

[L851,T22,P3] LOAD CONTROL_VALUE,#0

[L852,T22,P3] LOAD DIRECTION_1,#1

[L853,T22,P3] LOAD V1,#34800

[L854,T22,P3] LOAD V2,#35324

[L855,T22,P3] ABORT RESET,A290

[L856,T22,P3] A291

[L856,T22,P3] EMIT LONG_ACC_MOT_FRONT

[L857,T22,P3] SETV LONG_ACC_MOT_FRONT,CONTROL_VALUE

[L4301,T53,P2] PRESENT LONG_ACC_MOT_FRONT,A1609

i

[L4329,T53,P2] LOAD CTRL_2_VAL,?LONG_ACC_MOT_FRONT

i

[L858,T22,P1] PRIO 1

[L859,T22,P1] LOAD OLD_VALUE_0,CURRENT_VALUE

[L860,T22,P1] A292

[L860,T22,P1] A293

[L860,T22,P1] A294

[L860,T22,P1] A295

[L860,T22,P3] PRIO 3

[L861,T22,P1/3] PAUSE

[L1041,T22,P3] A290

RESET

s

[L863,T22,P3] EXIT AC_8,A293

t

[L864,T22,P3] A296

f

[L916,T22,P3] AC_8

[L865,T22,P3] EXIT AC_9,A294

t

[L866,T22,P1] A297

f

[L868,T22,P3] AC_9 [L866,T22,P1] PRIO 1

[L867,T22,P1] GOTO A295

[L869,T22,P3] CMPS CURRENT_VALUE,OLD_VALUE_0

[L870,T22,P3] JW L,A298

[L871,T22,P3] LOAD DIRECTION_1,#0

t

[L873,T22,P3] A298

f

[L872,T22,P3] GOTO A299

[L876,T22,P3] A299

[L873,T22,P3] CMPS CURRENT_VALUE,OLD_VALUE_0

[L874,T22,P3] JW G,A300

[L875,T22,P3] LOAD DIRECTION_1,#1

t

[L876,T22,P3] A300

f

[L876,T22,P3] CMPS DIRECTION_1,#1

[L877,T22,P3] JW EE,A301

[L878,T22,P3] CMPS CURRENT_VALUE,V1

t

[L888,T22,P3] A301

f

[L879,T22,P3] JW L,A303

[L880,T22,P3] LOAD CONTROL_VALUE,#0

t

[L882,T22,P3] A303

f

[L881,T22,P3] GOTO A304

[L887,T22,P3] A304

[L882,T22,P3] CMPS CURRENT_VALUE,V2

[L883,T22,P3] JW L,A305

[L884,T22,P3] LOAD CONTROL_VALUE,#1

t

[L886,T22,P3] A305

f

[L885,T22,P3] GOTO A306

[L887,T22,P3] A306

[L886,T22,P3] LOAD CONTROL_VALUE,#2

[L887,T22,P3] GOTO A302

[L915,T22,P3] A302

[L888,T22,P3] CMPS CURRENT_VALUE,V2

[L889,T22,P3] JW G,A307

[L890,T22,P3] LOAD CONTROL_VALUE,#2

t

[L892,T22,P3] A307

f

[L891,T22,P3] GOTO A308

[L915,T22,P3] A308

[L892,T22,P3] CMPS CURRENT_VALUE,V1

[L893,T22,P3] JW G,A309

[L894,T22,P3] CMPS CONTROL_VALUE,#1

t

[L905,T22,P3] A309

f

[L895,T22,P3] JW NE,A311

[L896,T22,P3] CMPS OLD_VALUE_0,V2

t

[L904,T22,P3] A311

f

[L897,T22,P3] JW G,A312

[L898,T22,P3] LOAD TIME1,#0

t

[L900,T22,P3] A312

f

[L899,T22,P3] GOTO A313

[L904,T22,P3] A313

[L900,T22,P3] ADD TIME1,#1

[L901,T22,P3] CMPS TIME1,#33

[L902,T22,P3] JW G,A314

[L903,T22,P3] LOAD CONTROL_VALUE,#1

t

[L904,T22,P3] A314

f

[L904,T22,P3] GOTO A310

[L915,T22,P3] A310

[L905,T22,P3] CMPS CONTROL_VALUE,#0

[L906,T22,P3] JW NE,A315

[L907,T22,P3] CMPS OLD_VALUE_0,V1

t

[L915,T22,P3] A315

f

[L908,T22,P3] JW G,A316

[L909,T22,P3] LOAD TIME2,#0

t

[L911,T22,P3] A316

f

[L910,T22,P3] GOTO A317

[L915,T22,P3] A317

[L911,T22,P3] ADD TIME2,#1

[L912,T22,P3] CMPS TIME2,#33

[L913,T22,P3] JW G,A318

[L914,T22,P3] LOAD CONTROL_VALUE,#0

t

[L915,T22,P3] A318

f

[L915,T22,P3] EXIT AWAIT_CASE_4,A292

[L1040,T22,P3] AWAIT_CASE_4

[L917,T22,P3] CMPS SPEED_VALUE_2,#10

[L918,T22,P3] JW L,A319

[L919,T22,P3] LOAD V1,#34800

t

[L922,T22,P3] A319

f

[L920,T22,P3] LOAD V2,#35324

[L921,T22,P3] GOTO A320

[L1039,T22,P3] A320

[L922,T22,P3] CMPS SPEED_VALUE_2,#20

[L923,T22,P3] JW L,A321

[L924,T22,P3] LOAD V1,#34800

t

[L927,T22,P3] A321

f

[L925,T22,P3] LOAD V2,#35324

[L926,T22,P3] GOTO A322

[L1039,T22,P3] A322

[L927,T22,P3] CMPS SPEED_VALUE_2,#30

[L928,T22,P3] JW L,A323

[L929,T22,P3] LOAD V1,#34800

t

[L932,T22,P3] A323

f

[L930,T22,P3] LOAD V2,#35324

[L931,T22,P3] GOTO A324

[L1039,T22,P3] A324

[L932,T22,P3] CMPS SPEED_VALUE_2,#40

[L933,T22,P3] JW L,A325

[L934,T22,P3] LOAD V1,#34800

t[L937,T22,P3] A325

f

[L935,T22,P3] LOAD V2,#35324

[L936,T22,P3] GOTO A326

[L1039,T22,P3] A326

[L937,T22,P3] CMPS SPEED_VALUE_2,#50

[L938,T22,P3] JW L,A327

[L939,T22,P3] LOAD V1,#34616

t

[L942,T22,P3] A327

f

[L940,T22,P3] LOAD V2,#35095

[L941,T22,P3] GOTO A328

[L1039,T22,P3] A328

[L942,T22,P3] CMPS SPEED_VALUE_2,#60

[L943,T22,P3] JW L,A329

[L944,T22,P3] LOAD V1,#34354

t

[L947,T22,P3] A329

f

[L945,T22,P3] LOAD V2,#34800

[L946,T22,P3] GOTO A330

[L1039,T22,P3] A330

[L947,T22,P3] CMPS SPEED_VALUE_2,#70

[L948,T22,P3] JW L,A331

[L949,T22,P3] LOAD V1,#34143

t

[L952,T22,P3] A331

f

[L950,T22,P3] LOAD V2,#34669

[L951,T22,P3] GOTO A332

[L1039,T22,P3] A332

[L952,T22,P3] CMPS SPEED_VALUE_2,#80

[L953,T22,P3] JW L,A333

[L954,T22,P3] LOAD V1,#34143

t

[L957,T22,P3] A333

f

[L955,T22,P3] LOAD V2,#34669

[L956,T22,P3] GOTO A334

[L1039,T22,P3] A334

[L957,T22,P3] CMPS SPEED_VALUE_2,#90

[L958,T22,P3] JW L,A335

[L959,T22,P3] LOAD V1,#34143

t

[L962,T22,P3] A335

f

[L960,T22,P3] LOAD V2,#34669

[L961,T22,P3] GOTO A336

[L1039,T22,P3] A336

[L962,T22,P3] CMPS SPEED_VALUE_2,#100

[L963,T22,P3] JW L,A337

[L964,T22,P3] LOAD V1,#34143

t

[L967,T22,P3] A337

f

[L965,T22,P3] LOAD V2,#34669

[L966,T22,P3] GOTO A338

[L1039,T22,P3] A338

[L967,T22,P3] CMPS SPEED_VALUE_2,#110

[L968,T22,P3] JW L,A339

[L969,T22,P3] LOAD V1,#38483

t

[L972,T22,P3] A339

f

[L970,T22,P3] LOAD V2,#38483

[L971,T22,P3] GOTO A340

[L1039,T22,P3] A340

[L972,T22,P3] CMPS SPEED_VALUE_2,#120

[L973,T22,P3] JW L,A341

[L974,T22,P3] LOAD V1,#38483

t

[L977,T22,P3] A341

f

[L975,T22,P3] LOAD V2,#38483

[L976,T22,P3] GOTO A342

[L1039,T22,P3] A342

[L977,T22,P3] CMPS SPEED_VALUE_2,#130

[L978,T22,P3] JW L,A343

[L979,T22,P3] LOAD V1,#38483

t

[L982,T22,P3] A343

f

[L980,T22,P3] LOAD V2,#38483

[L981,T22,P3] GOTO A344

[L1039,T22,P3] A344

[L982,T22,P3] CMPS SPEED_VALUE_2,#140

[L983,T22,P3] JW L,A345

[L984,T22,P3] LOAD V1,#38483

t

[L987,T22,P3] A345

f

[L985,T22,P3] LOAD V2,#38483

[L986,T22,P3] GOTO A346

[L1039,T22,P3] A346

[L987,T22,P3] CMPS SPEED_VALUE_2,#150

[L988,T22,P3] JW L,A347

[L989,T22,P3] LOAD V1,#38483

t

[L992,T22,P3] A347

f

[L990,T22,P3] LOAD V2,#38483

[L991,T22,P3] GOTO A348

[L1039,T22,P3] A348

[L992,T22,P3] CMPS SPEED_VALUE_2,#160

[L993,T22,P3] JW L,A349

[L994,T22,P3] LOAD V1,#38483

t

[L997,T22,P3] A349

f

[L995,T22,P3] LOAD V2,#38483

[L996,T22,P3] GOTO A350

[L1039,T22,P3] A350

[L997,T22,P3] CMPS SPEED_VALUE_2,#170

[L998,T22,P3] JW L,A351

[L999,T22,P3] LOAD V1,#38483

t

[L1002,T22,P3] A351

f

[L1000,T22,P3] LOAD V2,#38483

[L1001,T22,P3] GOTO A352

[L1039,T22,P3] A352

[L1002,T22,P3] CMPS SPEED_VALUE_2,#180

[L1003,T22,P3] JW L,A353

[L1004,T22,P3] LOAD V1,#38483

t

[L1007,T22,P3] A353

f

[L1005,T22,P3] LOAD V2,#38483

[L1006,T22,P3] GOTO A354

[L1039,T22,P3] A354

[L1007,T22,P3] CMPS SPEED_VALUE_2,#190

[L1008,T22,P3] JW L,A355

[L1009,T22,P3] LOAD V1,#38483

t

[L1012,T22,P3] A355

f

[L1010,T22,P3] LOAD V2,#38483

[L1011,T22,P3] GOTO A356

[L1039,T22,P3] A356

[L1012,T22,P3] CMPS SPEED_VALUE_2,#200

[L1013,T22,P3] JW L,A357

[L1014,T22,P3] LOAD V1,#38483

t

[L1017,T22,P3] A357

f

[L1015,T22,P3] LOAD V2,#38483

[L1016,T22,P3] GOTO A358

[L1039,T22,P3] A358

[L1017,T22,P3] CMPS SPEED_VALUE_2,#210

[L1018,T22,P3] JW L,A359

[L1019,T22,P3] LOAD V1,#38483

t

[L1022,T22,P3] A359

f

[L1020,T22,P3] LOAD V2,#38483

[L1021,T22,P3] GOTO A360

[L1039,T22,P3] A360

[L1022,T22,P3] CMPS SPEED_VALUE_2,#220

[L1023,T22,P3] JW L,A361

[L1024,T22,P3] LOAD V1,#38483

t

[L1027,T22,P3] A361

f

[L1025,T22,P3] LOAD V2,#38483

[L1026,T22,P3] GOTO A362

[L1039,T22,P3] A362

[L1027,T22,P3] CMPS SPEED_VALUE_2,#230

[L1028,T22,P3] JW L,A363

[L1029,T22,P3] LOAD V1,#38483

t

[L1032,T22,P3] A363

f

[L1030,T22,P3] LOAD V2,#38483

[L1031,T22,P3] GOTO A364

[L1039,T22,P3] A364

[L1032,T22,P3] CMPS SPEED_VALUE_2,#240

[L1033,T22,P3] JW L,A365

[L1034,T22,P3] LOAD V1,#38483

t

[L1037,T22,P3] A365

f

[L1035,T22,P3] LOAD V2,#38483

[L1036,T22,P3] GOTO A366

[L1039,T22,P3] A366

[L1037,T22,P3] LOAD V1,#38483

[L1038,T22,P3] LOAD V2,#38483

[L1039,T22,P3] EXIT AWAIT_CASE_4,A292

[L1040,T22,P3] GOTO A291

[L1041,T22,P3] GOTO A289

[L1042,T23,P3] A367

[L1042,T23,P3] LOAD CURRENT_VALUE_0,#0

[L1043,T23,P3] LOAD OLD_VALUE_1,#0

[L1044,T23,P3] LOAD CONTROL_VALUE_0,#0

[L1045,T23,P3] LOAD DIRECTION_2,#1

[L1046,T23,P3] LOAD V1_0,#34996

[L1047,T23,P3] LOAD V2_0,#35717

[L1048,T23,P3] ABORT RESET,A368

[L1049,T23,P3] A369

[L1049,T23,P3] EMIT LONG_ACC_MOT_REAR

[L1050,T23,P3] SETV LONG_ACC_MOT_REAR,CONTROL_VALUE_0

[L4403,T54,P2] PRESENT LONG_ACC_MOT_REAR,A1650

i

[L4431,T54,P2] LOAD CTRL_2_VAL_0,?LONG_ACC_MOT_REAR

i

[L1051,T23,P1] PRIO 1

[L1052,T23,P1] LOAD OLD_VALUE_1,CURRENT_VALUE_0

[L1053,T23,P1] A370

[L1053,T23,P1] A371

[L1053,T23,P1] A372

[L1053,T23,P1] A373

[L1053,T23,P3] PRIO 3

[L1054,T23,P1/3] PAUSE

[L1234,T23,P3] A368

RESET

s

[L1056,T23,P3] EXIT AC_10,A371

t

[L1057,T23,P3] A374

f

[L1109,T23,P3] AC_10

[L1058,T23,P3] EXIT AC_11,A372

t

[L1059,T23,P1] A375

f

[L1061,T23,P3] AC_11 [L1059,T23,P1] PRIO 1

[L1060,T23,P1] GOTO A373

[L1062,T23,P3] CMPS CURRENT_VALUE_0,OLD_VALUE_1

[L1063,T23,P3] JW L,A376

[L1064,T23,P3] LOAD DIRECTION_2,#0

t

[L1066,T23,P3] A376

f

[L1065,T23,P3] GOTO A377

[L1069,T23,P3] A377

[L1066,T23,P3] CMPS CURRENT_VALUE_0,OLD_VALUE_1

[L1067,T23,P3] JW G,A378

[L1068,T23,P3] LOAD DIRECTION_2,#1

t

[L1069,T23,P3] A378

f

[L1069,T23,P3] CMPS DIRECTION_2,#1

[L1070,T23,P3] JW EE,A379

[L1071,T23,P3] CMPS CURRENT_VALUE_0,V1_0

t

[L1081,T23,P3] A379

f

[L1072,T23,P3] JW L,A381

[L1073,T23,P3] LOAD CONTROL_VALUE_0,#0

t

[L1075,T23,P3] A381

f

[L1074,T23,P3] GOTO A382

[L1080,T23,P3] A382

[L1075,T23,P3] CMPS CURRENT_VALUE_0,V2_0

[L1076,T23,P3] JW L,A383

[L1077,T23,P3] LOAD CONTROL_VALUE_0,#1

t

[L1079,T23,P3] A383

f

[L1078,T23,P3] GOTO A384

[L1080,T23,P3] A384

[L1079,T23,P3] LOAD CONTROL_VALUE_0,#2

[L1080,T23,P3] GOTO A380

[L1108,T23,P3] A380

[L1081,T23,P3] CMPS CURRENT_VALUE_0,V2_0

[L1082,T23,P3] JW G,A385

[L1083,T23,P3] LOAD CONTROL_VALUE_0,#2

t[L1085,T23,P3] A385

f

[L1084,T23,P3] GOTO A386

[L1108,T23,P3] A386

[L1085,T23,P3] CMPS CURRENT_VALUE_0,V1_0

[L1086,T23,P3] JW G,A387

[L1087,T23,P3] CMPS CONTROL_VALUE_0,#1

t

[L1098,T23,P3] A387

f

[L1088,T23,P3] JW NE,A389

[L1089,T23,P3] CMPS OLD_VALUE_1,V2_0

t

[L1097,T23,P3] A389

f

[L1090,T23,P3] JW G,A390

[L1091,T23,P3] LOAD TIME1_0,#0

t

[L1093,T23,P3] A390

f

[L1092,T23,P3] GOTO A391

[L1097,T23,P3] A391

[L1093,T23,P3] ADD TIME1_0,#1

[L1094,T23,P3] CMPS TIME1_0,#33

[L1095,T23,P3] JW G,A392

[L1096,T23,P3] LOAD CONTROL_VALUE_0,#1

t

[L1097,T23,P3] A392

f

[L1097,T23,P3] GOTO A388

[L1108,T23,P3] A388

[L1098,T23,P3] CMPS CONTROL_VALUE_0,#0

[L1099,T23,P3] JW NE,A393

[L1100,T23,P3] CMPS OLD_VALUE_1,V1_0

t

[L1108,T23,P3] A393

f

[L1101,T23,P3] JW G,A394

[L1102,T23,P3] LOAD TIME2_0,#0

t

[L1104,T23,P3] A394

f

[L1103,T23,P3] GOTO A395

[L1108,T23,P3] A395

[L1104,T23,P3] ADD TIME2_0,#1

[L1105,T23,P3] CMPS TIME2_0,#33

[L1106,T23,P3] JW G,A396

[L1107,T23,P3] LOAD CONTROL_VALUE_0,#0

t

[L1108,T23,P3] A396

f

[L1108,T23,P3] EXIT AWAIT_CASE_5,A370

[L1233,T23,P3] AWAIT_CASE_5

[L1110,T23,P3] CMPS SPEED_VALUE_3,#10

[L1111,T23,P3] JW L,A397

[L1112,T23,P3] LOAD V1_0,#34996

t

[L1115,T23,P3] A397

f

[L1113,T23,P3] LOAD V2_0,#35717

[L1114,T23,P3] GOTO A398

[L1232,T23,P3] A398

[L1115,T23,P3] CMPS SPEED_VALUE_3,#20

[L1116,T23,P3] JW L,A399

[L1117,T23,P3] LOAD V1_0,#34996

t

[L1120,T23,P3] A399

f

[L1118,T23,P3] LOAD V2_0,#35717

[L1119,T23,P3] GOTO A400

[L1232,T23,P3] A400

[L1120,T23,P3] CMPS SPEED_VALUE_3,#30

[L1121,T23,P3] JW L,A401

[L1122,T23,P3] LOAD V1_0,#34996

t

[L1125,T23,P3] A401

f

[L1123,T23,P3] LOAD V2_0,#35717

[L1124,T23,P3] GOTO A402

[L1232,T23,P3] A402

[L1125,T23,P3] CMPS SPEED_VALUE_3,#40

[L1126,T23,P3] JW L,A403

[L1127,T23,P3] LOAD V1_0,#34996

t

[L1130,T23,P3] A403

f

[L1128,T23,P3] LOAD V2_0,#35717

[L1129,T23,P3] GOTO A404

[L1232,T23,P3] A404

[L1130,T23,P3] CMPS SPEED_VALUE_3,#50

[L1131,T23,P3] JW L,A405

[L1132,T23,P3] LOAD V1_0,#34505

t

[L1135,T23,P3] A405

f

[L1133,T23,P3] LOAD V2_0,#35455

[L1134,T23,P3] GOTO A406

[L1232,T23,P3] A406

[L1135,T23,P3] CMPS SPEED_VALUE_3,#60

[L1136,T23,P3] JW L,A407

[L1137,T23,P3] LOAD V1_0,#34354

t [L1140,T23,P3] A407

f

[L1138,T23,P3] LOAD V2_0,#35127

[L1139,T23,P3] GOTO A408

[L1232,T23,P3] A408

[L1140,T23,P3] CMPS SPEED_VALUE_3,#70

[L1141,T23,P3] JW L,A409

[L1142,T23,P3] LOAD V1_0,#34328

t

[L1145,T23,P3] A409

f

[L1143,T23,P3] LOAD V2_0,#34865

[L1144,T23,P3] GOTO A410

[L1232,T23,P3] A410

[L1145,T23,P3] CMPS SPEED_VALUE_3,#80

[L1146,T23,P3] JW L,A411

[L1147,T23,P3] LOAD V1_0,#34328

t

[L1150,T23,P3] A411

f

[L1148,T23,P3] LOAD V2_0,#34865

[L1149,T23,P3] GOTO A412

[L1232,T23,P3] A412

[L1150,T23,P3] CMPS SPEED_VALUE_3,#90

[L1151,T23,P3] JW L,A413

[L1152,T23,P3] LOAD V1_0,#34328

t

[L1155,T23,P3] A413

f

[L1153,T23,P3] LOAD V2_0,#34865

[L1154,T23,P3] GOTO A414

[L1232,T23,P3] A414

[L1155,T23,P3] CMPS SPEED_VALUE_3,#100

[L1156,T23,P3] JW L,A415

[L1157,T23,P3] LOAD V1_0,#34328

t

[L1160,T23,P3] A415

f

[L1158,T23,P3] LOAD V2_0,#34865

[L1159,T23,P3] GOTO A416

[L1232,T23,P3] A416

[L1160,T23,P3] CMPS SPEED_VALUE_3,#110

[L1161,T23,P3] JW L,A417

[L1162,T23,P3] LOAD V1_0,#38483

t

[L1165,T23,P3] A417

f

[L1163,T23,P3] LOAD V2_0,#38483

[L1164,T23,P3] GOTO A418

[L1232,T23,P3] A418

[L1165,T23,P3] CMPS SPEED_VALUE_3,#120

[L1166,T23,P3] JW L,A419

[L1167,T23,P3] LOAD V1_0,#38483

t

[L1170,T23,P3] A419

f

[L1168,T23,P3] LOAD V2_0,#38483

[L1169,T23,P3] GOTO A420

[L1232,T23,P3] A420

[L1170,T23,P3] CMPS SPEED_VALUE_3,#130

[L1171,T23,P3] JW L,A421

[L1172,T23,P3] LOAD V1_0,#38483

t

[L1175,T23,P3] A421

f

[L1173,T23,P3] LOAD V2_0,#38483

[L1174,T23,P3] GOTO A422

[L1232,T23,P3] A422

[L1175,T23,P3] CMPS SPEED_VALUE_3,#140

[L1176,T23,P3] JW L,A423

[L1177,T23,P3] LOAD V1_0,#38483

t

[L1180,T23,P3] A423

f

[L1178,T23,P3] LOAD V2_0,#38483

[L1179,T23,P3] GOTO A424

[L1232,T23,P3] A424

[L1180,T23,P3] CMPS SPEED_VALUE_3,#150

[L1181,T23,P3] JW L,A425

[L1182,T23,P3] LOAD V1_0,#38483

t

[L1185,T23,P3] A425

f

[L1183,T23,P3] LOAD V2_0,#38483

[L1184,T23,P3] GOTO A426

[L1232,T23,P3] A426

[L1185,T23,P3] CMPS SPEED_VALUE_3,#160

[L1186,T23,P3] JW L,A427

[L1187,T23,P3] LOAD V1_0,#38483

t

[L1190,T23,P3] A427

f

[L1188,T23,P3] LOAD V2_0,#38483

[L1189,T23,P3] GOTO A428

[L1232,T23,P3] A428

[L1190,T23,P3] CMPS SPEED_VALUE_3,#170

[L1191,T23,P3] JW L,A429

[L1192,T23,P3] LOAD V1_0,#38483

t

[L1195,T23,P3] A429

f

[L1193,T23,P3] LOAD V2_0,#38483

[L1194,T23,P3] GOTO A430

[L1232,T23,P3] A430

[L1195,T23,P3] CMPS SPEED_VALUE_3,#180

[L1196,T23,P3] JW L,A431

[L1197,T23,P3] LOAD V1_0,#38483

t[L1200,T23,P3] A431

f

[L1198,T23,P3] LOAD V2_0,#38483

[L1199,T23,P3] GOTO A432

[L1232,T23,P3] A432

[L1200,T23,P3] CMPS SPEED_VALUE_3,#190

[L1201,T23,P3] JW L,A433

[L1202,T23,P3] LOAD V1_0,#38483

t

[L1205,T23,P3] A433

f

[L1203,T23,P3] LOAD V2_0,#38483

[L1204,T23,P3] GOTO A434

[L1232,T23,P3] A434

[L1205,T23,P3] CMPS SPEED_VALUE_3,#200

[L1206,T23,P3] JW L,A435

[L1207,T23,P3] LOAD V1_0,#38483

t [L1210,T23,P3] A435

f

[L1208,T23,P3] LOAD V2_0,#38483

[L1209,T23,P3] GOTO A436

[L1232,T23,P3] A436

[L1210,T23,P3] CMPS SPEED_VALUE_3,#210

[L1211,T23,P3] JW L,A437

[L1212,T23,P3] LOAD V1_0,#38483

t

[L1215,T23,P3] A437

f

[L1213,T23,P3] LOAD V2_0,#38483

[L1214,T23,P3] GOTO A438

[L1232,T23,P3] A438

[L1215,T23,P3] CMPS SPEED_VALUE_3,#220

[L1216,T23,P3] JW L,A439

[L1217,T23,P3] LOAD V1_0,#38483

t[L1220,T23,P3] A439

f

[L1218,T23,P3] LOAD V2_0,#38483

[L1219,T23,P3] GOTO A440

[L1232,T23,P3] A440

[L1220,T23,P3] CMPS SPEED_VALUE_3,#230

[L1221,T23,P3] JW L,A441

[L1222,T23,P3] LOAD V1_0,#38483

t

[L1225,T23,P3] A441

f

[L1223,T23,P3] LOAD V2_0,#38483

[L1224,T23,P3] GOTO A442

[L1232,T23,P3] A442

[L1225,T23,P3] CMPS SPEED_VALUE_3,#240

[L1226,T23,P3] JW L,A443

[L1227,T23,P3] LOAD V1_0,#38483

t

[L1230,T23,P3] A443

f

[L1228,T23,P3] LOAD V2_0,#38483

[L1229,T23,P3] GOTO A444

[L1232,T23,P3] A444

[L1230,T23,P3] LOAD V1_0,#38483

[L1231,T23,P3] LOAD V2_0,#38483

[L1232,T23,P3] EXIT AWAIT_CASE_5,A370

[L1233,T23,P3] GOTO A369

[L1234,T23,P3] GOTO A367

[L1235,T24,P3] A445

[L1235,T24,P3] LOAD CURRENT_VALUE_1,#0

[L1236,T24,P3] LOAD OLD_VALUE_2,#0

[L1237,T24,P3] LOAD CONTROL_VALUE_1,#0

[L1238,T24,P3] LOAD DIRECTION_3,#1

[L1239,T24,P3] LOAD V1_1,#30933

[L1240,T24,P3] LOAD V2_1,#30081

[L1241,T24,P3] ABORT RESET,A446

[L1242,T24,P3] A447

[L1242,T24,P3] EMIT LONG_DECC_MOT_FRONT

[L1243,T24,P3] SETV LONG_DECC_MOT_FRONT,CONTROL_VALUE_1

[L4303,T53,P2] PRESENT LONG_DECC_MOT_FRONT,A1610

i

[L4327,T53,P2] LOAD CTRL_3_VAL,?LONG_DECC_MOT_FRONT

i

[L1244,T24,P1] PRIO 1

[L1245,T24,P1] LOAD OLD_VALUE_2,CURRENT_VALUE_1

[L1246,T24,P1] A448

[L1246,T24,P1] A449

[L1246,T24,P1] A450

[L1246,T24,P1] A451

[L1246,T24,P3] PRIO 3

[L1247,T24,P1/3] PAUSE

[L1427,T24,P3] A446

RESET

s

[L1249,T24,P3] EXIT AC_12,A449

t

[L1250,T24,P3] A452

f

[L1302,T24,P3] AC_12

[L1251,T24,P3] EXIT AC_13,A450

t

[L1252,T24,P1] A453

f

[L1254,T24,P3] AC_13 [L1252,T24,P1] PRIO 1

[L1253,T24,P1] GOTO A451

[L1255,T24,P3] CMPS CURRENT_VALUE_1,OLD_VALUE_2

[L1256,T24,P3] JW L,A454

[L1257,T24,P3] LOAD DIRECTION_3,#0

t

[L1259,T24,P3] A454

f

[L1258,T24,P3] GOTO A455

[L1262,T24,P3] A455

[L1259,T24,P3] CMPS CURRENT_VALUE_1,OLD_VALUE_2

[L1260,T24,P3] JW G,A456

[L1261,T24,P3] LOAD DIRECTION_3,#1

t

[L1262,T24,P3] A456

f

[L1262,T24,P3] CMPS DIRECTION_3,#1

[L1263,T24,P3] JW EE,A457

[L1264,T24,P3] CMPS CURRENT_VALUE_1,V1_1

t

[L1274,T24,P3] A457

f

[L1265,T24,P3] JW L,A459

[L1266,T24,P3] LOAD CONTROL_VALUE_1,#0

t

[L1268,T24,P3] A459

f

[L1267,T24,P3] GOTO A460

[L1273,T24,P3] A460

[L1268,T24,P3] CMPS CURRENT_VALUE_1,V2_1

[L1269,T24,P3] JW L,A461

[L1270,T24,P3] LOAD CONTROL_VALUE_1,#1

t

[L1272,T24,P3] A461

f

[L1271,T24,P3] GOTO A462

[L1273,T24,P3] A462

[L1272,T24,P3] LOAD CONTROL_VALUE_1,#2

[L1273,T24,P3] GOTO A458

[L1301,T24,P3] A458

[L1274,T24,P3] CMPS CURRENT_VALUE_1,V2_1

[L1275,T24,P3] JW G,A463

[L1276,T24,P3] LOAD CONTROL_VALUE_1,#2

t

[L1278,T24,P3] A463

f

[L1277,T24,P3] GOTO A464

[L1301,T24,P3] A464

[L1278,T24,P3] CMPS CURRENT_VALUE_1,V1_1

[L1279,T24,P3] JW G,A465

[L1280,T24,P3] CMPS CONTROL_VALUE_1,#1

t

[L1291,T24,P3] A465

f

[L1281,T24,P3] JW NE,A467

[L1282,T24,P3] CMPS OLD_VALUE_2,V2_1

t

[L1290,T24,P3] A467

f

[L1283,T24,P3] JW G,A468

[L1284,T24,P3] LOAD TIME1_1,#0

t

[L1286,T24,P3] A468

f

[L1285,T24,P3] GOTO A469

[L1290,T24,P3] A469

[L1286,T24,P3] ADD TIME1_1,#1

[L1287,T24,P3] CMPS TIME1_1,#28

[L1288,T24,P3] JW G,A470

[L1289,T24,P3] LOAD CONTROL_VALUE_1,#1

t

[L1290,T24,P3] A470

f

[L1290,T24,P3] GOTO A466

[L1301,T24,P3] A466

[L1291,T24,P3] CMPS CONTROL_VALUE_1,#0

[L1292,T24,P3] JW NE,A471

[L1293,T24,P3] CMPS OLD_VALUE_2,V1_1

t

[L1301,T24,P3] A471

f

[L1294,T24,P3] JW G,A472

[L1295,T24,P3] LOAD TIME2_1,#0

t

[L1297,T24,P3] A472

f

[L1296,T24,P3] GOTO A473

[L1301,T24,P3] A473

[L1297,T24,P3] ADD TIME2_1,#1

[L1298,T24,P3] CMPS TIME2_1,#28

[L1299,T24,P3] JW G,A474

[L1300,T24,P3] LOAD CONTROL_VALUE_1,#0

t

[L1301,T24,P3] A474

f

[L1301,T24,P3] EXIT AWAIT_CASE_6,A448

[L1426,T24,P3] AWAIT_CASE_6

[L1303,T24,P3] CMPS SPEED_VALUE_4,#10

[L1304,T24,P3] JW L,A475

[L1305,T24,P3] LOAD V1_1,#30933

t

[L1308,T24,P3] A475

f

[L1306,T24,P3] LOAD V2_1,#30081

[L1307,T24,P3] GOTO A476

[L1425,T24,P3] A476

[L1308,T24,P3] CMPS SPEED_VALUE_4,#20

[L1309,T24,P3] JW L,A477

[L1310,T24,P3] LOAD V1_1,#30933

t [L1313,T24,P3] A477

f

[L1311,T24,P3] LOAD V2_1,#30081

[L1312,T24,P3] GOTO A478

[L1425,T24,P3] A478

[L1313,T24,P3] CMPS SPEED_VALUE_4,#30

[L1314,T24,P3] JW L,A479

[L1315,T24,P3] LOAD V1_1,#30933

t

[L1318,T24,P3] A479

f

[L1316,T24,P3] LOAD V2_1,#30081

[L1317,T24,P3] GOTO A480

[L1425,T24,P3] A480

[L1318,T24,P3] CMPS SPEED_VALUE_4,#40

[L1319,T24,P3] JW L,A481

[L1320,T24,P3] LOAD V1_1,#30933

t

[L1323,T24,P3] A481

f

[L1321,T24,P3] LOAD V2_1,#30081

[L1322,T24,P3] GOTO A482

[L1425,T24,P3] A482

[L1323,T24,P3] CMPS SPEED_VALUE_4,#50

[L1324,T24,P3] JW L,A483

[L1325,T24,P3] LOAD V1_1,#30999

t

[L1328,T24,P3] A483

f

[L1326,T24,P3] LOAD V2_1,#30211

[L1327,T24,P3] GOTO A484

[L1425,T24,P3] A484

[L1328,T24,P3] CMPS SPEED_VALUE_4,#60

[L1329,T24,P3] JW L,A485

[L1330,T24,P3] LOAD V1_1,#31064

t

[L1333,T24,P3] A485

f

[L1331,T24,P3] LOAD V2_1,#30343

[L1332,T24,P3] GOTO A486

[L1425,T24,P3] A486

[L1333,T24,P3] CMPS SPEED_VALUE_4,#70

[L1334,T24,P3] JW L,A487

[L1335,T24,P3] LOAD V1_1,#31064

t

[L1338,T24,P3] A487

f

[L1336,T24,P3] LOAD V2_1,#30409

[L1337,T24,P3] GOTO A488

[L1425,T24,P3] A488

[L1338,T24,P3] CMPS SPEED_VALUE_4,#80

[L1339,T24,P3] JW L,A489

[L1340,T24,P3] LOAD V1_1,#31064

t

[L1343,T24,P3] A489

f

[L1341,T24,P3] LOAD V2_1,#30409

[L1342,T24,P3] GOTO A490

[L1425,T24,P3] A490

[L1343,T24,P3] CMPS SPEED_VALUE_4,#90

[L1344,T24,P3] JW L,A491

[L1345,T24,P3] LOAD V1_1,#31064

t

[L1348,T24,P3] A491

f

[L1346,T24,P3] LOAD V2_1,#30409

[L1347,T24,P3] GOTO A492

[L1425,T24,P3] A492

[L1348,T24,P3] CMPS SPEED_VALUE_4,#100

[L1349,T24,P3] JW L,A493

[L1350,T24,P3] LOAD V1_1,#31064

t

[L1353,T24,P3] A493

f

[L1351,T24,P3] LOAD V2_1,#30409

[L1352,T24,P3] GOTO A494

[L1425,T24,P3] A494

[L1353,T24,P3] CMPS SPEED_VALUE_4,#110

[L1354,T24,P3] JW L,A495

[L1355,T24,P3] LOAD V1_1,#31064

t

[L1358,T24,P3] A495

f

[L1356,T24,P3] LOAD V2_1,#30409

[L1357,T24,P3] GOTO A496

[L1425,T24,P3] A496

[L1358,T24,P3] CMPS SPEED_VALUE_4,#120

[L1359,T24,P3] JW L,A497

[L1360,T24,P3] LOAD V1_1,#31064

t

[L1363,T24,P3] A497

f

[L1361,T24,P3] LOAD V2_1,#30409

[L1362,T24,P3] GOTO A498

[L1425,T24,P3] A498

[L1363,T24,P3] CMPS SPEED_VALUE_4,#130

[L1364,T24,P3] JW L,A499

[L1365,T24,P3] LOAD V1_1,#31064

t

[L1368,T24,P3] A499

f

[L1366,T24,P3] LOAD V2_1,#30409

[L1367,T24,P3] GOTO A500

[L1425,T24,P3] A500

[L1368,T24,P3] CMPS SPEED_VALUE_4,#140

[L1369,T24,P3] JW L,A501

[L1370,T24,P3] LOAD V1_1,#31064

t

[L1373,T24,P3] A501

f

[L1371,T24,P3] LOAD V2_1,#30409

[L1372,T24,P3] GOTO A502

[L1425,T24,P3] A502

[L1373,T24,P3] CMPS SPEED_VALUE_4,#150

[L1374,T24,P3] JW L,A503

[L1375,T24,P3] LOAD V1_1,#31064

t

[L1378,T24,P3] A503

f

[L1376,T24,P3] LOAD V2_1,#30409

[L1377,T24,P3] GOTO A504

[L1425,T24,P3] A504

[L1378,T24,P3] CMPS SPEED_VALUE_4,#160

[L1379,T24,P3] JW L,A505

[L1380,T24,P3] LOAD V1_1,#31064

t

[L1383,T24,P3] A505

f

[L1381,T24,P3] LOAD V2_1,#30409

[L1382,T24,P3] GOTO A506

[L1425,T24,P3] A506

[L1383,T24,P3] CMPS SPEED_VALUE_4,#170

[L1384,T24,P3] JW L,A507

[L1385,T24,P3] LOAD V1_1,#31064

t

[L1388,T24,P3] A507

f

[L1386,T24,P3] LOAD V2_1,#30409

[L1387,T24,P3] GOTO A508

[L1425,T24,P3] A508

[L1388,T24,P3] CMPS SPEED_VALUE_4,#180

[L1389,T24,P3] JW L,A509

[L1390,T24,P3] LOAD V1_1,#31064

t

[L1393,T24,P3] A509

f

[L1391,T24,P3] LOAD V2_1,#30409

[L1392,T24,P3] GOTO A510

[L1425,T24,P3] A510

[L1393,T24,P3] CMPS SPEED_VALUE_4,#190

[L1394,T24,P3] JW L,A511

[L1395,T24,P3] LOAD V1_1,#31064

t

[L1398,T24,P3] A511

f

[L1396,T24,P3] LOAD V2_1,#30409

[L1397,T24,P3] GOTO A512

[L1425,T24,P3] A512

[L1398,T24,P3] CMPS SPEED_VALUE_4,#200

[L1399,T24,P3] JW L,A513

[L1400,T24,P3] LOAD V1_1,#31064

t

[L1403,T24,P3] A513

f

[L1401,T24,P3] LOAD V2_1,#30409

[L1402,T24,P3] GOTO A514

[L1425,T24,P3] A514

[L1403,T24,P3] CMPS SPEED_VALUE_4,#210

[L1404,T24,P3] JW L,A515

[L1405,T24,P3] LOAD V1_1,#31064

t

[L1408,T24,P3] A515

f

[L1406,T24,P3] LOAD V2_1,#30409

[L1407,T24,P3] GOTO A516

[L1425,T24,P3] A516

[L1408,T24,P3] CMPS SPEED_VALUE_4,#220

[L1409,T24,P3] JW L,A517

[L1410,T24,P3] LOAD V1_1,#31064

t

[L1413,T24,P3] A517

f

[L1411,T24,P3] LOAD V2_1,#30409

[L1412,T24,P3] GOTO A518

[L1425,T24,P3] A518

[L1413,T24,P3] CMPS SPEED_VALUE_4,#230

[L1414,T24,P3] JW L,A519

[L1415,T24,P3] LOAD V1_1,#31064

t

[L1418,T24,P3] A519

f

[L1416,T24,P3] LOAD V2_1,#30409

[L1417,T24,P3] GOTO A520

[L1425,T24,P3] A520

[L1418,T24,P3] CMPS SPEED_VALUE_4,#240

[L1419,T24,P3] JW L,A521

[L1420,T24,P3] LOAD V1_1,#31064

t

[L1423,T24,P3] A521

f

[L1421,T24,P3] LOAD V2_1,#30409

[L1422,T24,P3] GOTO A522

[L1425,T24,P3] A522

[L1423,T24,P3] LOAD V1_1,#31064

[L1424,T24,P3] LOAD V2_1,#30409

[L1425,T24,P3] EXIT AWAIT_CASE_6,A448

[L1426,T24,P3] GOTO A447

[L1427,T24,P3] GOTO A445

[L1428,T25,P3] A523

[L1428,T25,P3] LOAD CURRENT_VALUE_2,#0

[L1429,T25,P3] LOAD OLD_VALUE_3,#0

[L1430,T25,P3] LOAD CONTROL_VALUE_2,#0

[L1431,T25,P3] LOAD DIRECTION_4,#1

[L1432,T25,P3] LOAD V1_2,#30933

[L1433,T25,P3] LOAD V2_2,#30081

[L1434,T25,P3] ABORT RESET,A524

[L1435,T25,P3] A525

[L1435,T25,P3] EMIT LONG_DECC_MOT_REAR

[L1436,T25,P3] SETV LONG_DECC_MOT_REAR,CONTROL_VALUE_2

[L4405,T54,P2] PRESENT LONG_DECC_MOT_REAR,A1651

i

[L4429,T54,P2] LOAD CTRL_3_VAL_0,?LONG_DECC_MOT_REAR

i

[L1437,T25,P1] PRIO 1

[L1438,T25,P1] LOAD OLD_VALUE_3,CURRENT_VALUE_2

[L1439,T25,P1] A526

[L1439,T25,P1] A527

[L1439,T25,P1] A528

[L1439,T25,P1] A529

[L1439,T25,P3] PRIO 3

[L1440,T25,P1/3] PAUSE

[L1620,T25,P3] A524

RESET

s

[L1442,T25,P3] EXIT AC_14,A527

t

[L1443,T25,P3] A530

f

[L1495,T25,P3] AC_14

[L1444,T25,P3] EXIT AC_15,A528

t

[L1445,T25,P1] A531

f

[L1447,T25,P3] AC_15 [L1445,T25,P1] PRIO 1

[L1446,T25,P1] GOTO A529

[L1448,T25,P3] CMPS CURRENT_VALUE_2,OLD_VALUE_3

[L1449,T25,P3] JW L,A532

[L1450,T25,P3] LOAD DIRECTION_4,#0

t

[L1452,T25,P3] A532

f

[L1451,T25,P3] GOTO A533

[L1455,T25,P3] A533

[L1452,T25,P3] CMPS CURRENT_VALUE_2,OLD_VALUE_3

[L1453,T25,P3] JW G,A534

[L1454,T25,P3] LOAD DIRECTION_4,#1

t

[L1455,T25,P3] A534

f

[L1455,T25,P3] CMPS DIRECTION_4,#1

[L1456,T25,P3] JW EE,A535

[L1457,T25,P3] CMPS CURRENT_VALUE_2,V1_2

t

[L1467,T25,P3] A535

f

[L1458,T25,P3] JW L,A537

[L1459,T25,P3] LOAD CONTROL_VALUE_2,#0

t

[L1461,T25,P3] A537

f

[L1460,T25,P3] GOTO A538

[L1466,T25,P3] A538

[L1461,T25,P3] CMPS CURRENT_VALUE_2,V2_2

[L1462,T25,P3] JW L,A539

[L1463,T25,P3] LOAD CONTROL_VALUE_2,#1

t

[L1465,T25,P3] A539

f

[L1464,T25,P3] GOTO A540

[L1466,T25,P3] A540

[L1465,T25,P3] LOAD CONTROL_VALUE_2,#2

[L1466,T25,P3] GOTO A536

[L1494,T25,P3] A536

[L1467,T25,P3] CMPS CURRENT_VALUE_2,V2_2

[L1468,T25,P3] JW G,A541

[L1469,T25,P3] LOAD CONTROL_VALUE_2,#2

t

[L1471,T25,P3] A541

f

[L1470,T25,P3] GOTO A542

[L1494,T25,P3] A542

[L1471,T25,P3] CMPS CURRENT_VALUE_2,V1_2

[L1472,T25,P3] JW G,A543

[L1473,T25,P3] CMPS CONTROL_VALUE_2,#1

t

[L1484,T25,P3] A543

f

[L1474,T25,P3] JW NE,A545

[L1475,T25,P3] CMPS OLD_VALUE_3,V2_2

t

[L1483,T25,P3] A545

f

[L1476,T25,P3] JW G,A546

[L1477,T25,P3] LOAD TIME1_2,#0

t

[L1479,T25,P3] A546

f

[L1478,T25,P3] GOTO A547

[L1483,T25,P3] A547

[L1479,T25,P3] ADD TIME1_2,#1

[L1480,T25,P3] CMPS TIME1_2,#28

[L1481,T25,P3] JW G,A548

[L1482,T25,P3] LOAD CONTROL_VALUE_2,#1

t

[L1483,T25,P3] A548

f

[L1483,T25,P3] GOTO A544

[L1494,T25,P3] A544

[L1484,T25,P3] CMPS CONTROL_VALUE_2,#0

[L1485,T25,P3] JW NE,A549

[L1486,T25,P3] CMPS OLD_VALUE_3,V1_2

t

[L1494,T25,P3] A549

f

[L1487,T25,P3] JW G,A550

[L1488,T25,P3] LOAD TIME2_2,#0

t

[L1490,T25,P3] A550

f

[L1489,T25,P3] GOTO A551

[L1494,T25,P3] A551

[L1490,T25,P3] ADD TIME2_2,#1

[L1491,T25,P3] CMPS TIME2_2,#28

[L1492,T25,P3] JW G,A552

[L1493,T25,P3] LOAD CONTROL_VALUE_2,#0

t

[L1494,T25,P3] A552

f

[L1494,T25,P3] EXIT AWAIT_CASE_7,A526

[L1619,T25,P3] AWAIT_CASE_7

[L1496,T25,P3] CMPS SPEED_VALUE_5,#10

[L1497,T25,P3] JW L,A553

[L1498,T25,P3] LOAD V1_2,#30933

t

[L1501,T25,P3] A553

f

[L1499,T25,P3] LOAD V2_2,#30081

[L1500,T25,P3] GOTO A554

[L1618,T25,P3] A554

[L1501,T25,P3] CMPS SPEED_VALUE_5,#20

[L1502,T25,P3] JW L,A555

[L1503,T25,P3] LOAD V1_2,#30933

t

[L1506,T25,P3] A555

f

[L1504,T25,P3] LOAD V2_2,#30081

[L1505,T25,P3] GOTO A556

[L1618,T25,P3] A556

[L1506,T25,P3] CMPS SPEED_VALUE_5,#30

[L1507,T25,P3] JW L,A557

[L1508,T25,P3] LOAD V1_2,#30933

t

[L1511,T25,P3] A557

f

[L1509,T25,P3] LOAD V2_2,#30081

[L1510,T25,P3] GOTO A558

[L1618,T25,P3] A558

[L1511,T25,P3] CMPS SPEED_VALUE_5,#40

[L1512,T25,P3] JW L,A559

[L1513,T25,P3] LOAD V1_2,#30933

t

[L1516,T25,P3] A559

f

[L1514,T25,P3] LOAD V2_2,#30081

[L1515,T25,P3] GOTO A560

[L1618,T25,P3] A560

[L1516,T25,P3] CMPS SPEED_VALUE_5,#50

[L1517,T25,P3] JW L,A561

[L1518,T25,P3] LOAD V1_2,#30999

t

[L1521,T25,P3] A561

f

[L1519,T25,P3] LOAD V2_2,#30212

[L1520,T25,P3] GOTO A562

[L1618,T25,P3] A562

[L1521,T25,P3] CMPS SPEED_VALUE_5,#60

[L1522,T25,P3] JW L,A563

[L1523,T25,P3] LOAD V1_2,#31064

t

[L1526,T25,P3] A563

f

[L1524,T25,P3] LOAD V2_2,#30343

[L1525,T25,P3] GOTO A564

[L1618,T25,P3] A564

[L1526,T25,P3] CMPS SPEED_VALUE_5,#70

[L1527,T25,P3] JW L,A565

[L1528,T25,P3] LOAD V1_2,#31064

t

[L1531,T25,P3] A565

f

[L1529,T25,P3] LOAD V2_2,#30409

[L1530,T25,P3] GOTO A566

[L1618,T25,P3] A566

[L1531,T25,P3] CMPS SPEED_VALUE_5,#80

[L1532,T25,P3] JW L,A567

[L1533,T25,P3] LOAD V1_2,#31064

t

[L1536,T25,P3] A567

f

[L1534,T25,P3] LOAD V2_2,#30409

[L1535,T25,P3] GOTO A568

[L1618,T25,P3] A568

[L1536,T25,P3] CMPS SPEED_VALUE_5,#90

[L1537,T25,P3] JW L,A569

[L1538,T25,P3] LOAD V1_2,#31064

t

[L1541,T25,P3] A569

f

[L1539,T25,P3] LOAD V2_2,#30409

[L1540,T25,P3] GOTO A570

[L1618,T25,P3] A570

[L1541,T25,P3] CMPS SPEED_VALUE_5,#100

[L1542,T25,P3] JW L,A571

[L1543,T25,P3] LOAD V1_2,#31064

t

[L1546,T25,P3] A571

f

[L1544,T25,P3] LOAD V2_2,#30409

[L1545,T25,P3] GOTO A572

[L1618,T25,P3] A572

[L1546,T25,P3] CMPS SPEED_VALUE_5,#110

[L1547,T25,P3] JW L,A573

[L1548,T25,P3] LOAD V1_2,#31064

t

[L1551,T25,P3] A573

f

[L1549,T25,P3] LOAD V2_2,#30409

[L1550,T25,P3] GOTO A574

[L1618,T25,P3] A574

[L1551,T25,P3] CMPS SPEED_VALUE_5,#120

[L1552,T25,P3] JW L,A575

[L1553,T25,P3] LOAD V1_2,#31064

t

[L1556,T25,P3] A575

f

[L1554,T25,P3] LOAD V2_2,#30409

[L1555,T25,P3] GOTO A576

[L1618,T25,P3] A576

[L1556,T25,P3] CMPS SPEED_VALUE_5,#130

[L1557,T25,P3] JW L,A577

[L1558,T25,P3] LOAD V1_2,#31064

t

[L1561,T25,P3] A577

f

[L1559,T25,P3] LOAD V2_2,#30409

[L1560,T25,P3] GOTO A578

[L1618,T25,P3] A578

[L1561,T25,P3] CMPS SPEED_VALUE_5,#140

[L1562,T25,P3] JW L,A579

[L1563,T25,P3] LOAD V1_2,#31064

t

[L1566,T25,P3] A579

f

[L1564,T25,P3] LOAD V2_2,#30409

[L1565,T25,P3] GOTO A580

[L1618,T25,P3] A580

[L1566,T25,P3] CMPS SPEED_VALUE_5,#150

[L1567,T25,P3] JW L,A581

[L1568,T25,P3] LOAD V1_2,#31064

t

[L1571,T25,P3] A581

f

[L1569,T25,P3] LOAD V2_2,#30409

[L1570,T25,P3] GOTO A582

[L1618,T25,P3] A582

[L1571,T25,P3] CMPS SPEED_VALUE_5,#160

[L1572,T25,P3] JW L,A583

[L1573,T25,P3] LOAD V1_2,#31064

t

[L1576,T25,P3] A583

f

[L1574,T25,P3] LOAD V2_2,#30409

[L1575,T25,P3] GOTO A584

[L1618,T25,P3] A584

[L1576,T25,P3] CMPS SPEED_VALUE_5,#170

[L1577,T25,P3] JW L,A585

[L1578,T25,P3] LOAD V1_2,#31064

t

[L1581,T25,P3] A585

f

[L1579,T25,P3] LOAD V2_2,#30409

[L1580,T25,P3] GOTO A586

[L1618,T25,P3] A586

[L1581,T25,P3] CMPS SPEED_VALUE_5,#180

[L1582,T25,P3] JW L,A587

[L1583,T25,P3] LOAD V1_2,#31064

t

[L1586,T25,P3] A587

f

[L1584,T25,P3] LOAD V2_2,#30409

[L1585,T25,P3] GOTO A588

[L1618,T25,P3] A588

[L1586,T25,P3] CMPS SPEED_VALUE_5,#190

[L1587,T25,P3] JW L,A589

[L1588,T25,P3] LOAD V1_2,#31064

t

[L1591,T25,P3] A589

f

[L1589,T25,P3] LOAD V2_2,#30409

[L1590,T25,P3] GOTO A590

[L1618,T25,P3] A590

[L1591,T25,P3] CMPS SPEED_VALUE_5,#200

[L1592,T25,P3] JW L,A591

[L1593,T25,P3] LOAD V1_2,#31064

t

[L1596,T25,P3] A591

f

[L1594,T25,P3] LOAD V2_2,#30409

[L1595,T25,P3] GOTO A592

[L1618,T25,P3] A592

[L1596,T25,P3] CMPS SPEED_VALUE_5,#210

[L1597,T25,P3] JW L,A593

[L1598,T25,P3] LOAD V1_2,#31064

t

[L1601,T25,P3] A593

f

[L1599,T25,P3] LOAD V2_2,#30409

[L1600,T25,P3] GOTO A594

[L1618,T25,P3] A594

[L1601,T25,P3] CMPS SPEED_VALUE_5,#220

[L1602,T25,P3] JW L,A595

[L1603,T25,P3] LOAD V1_2,#31064

t

[L1606,T25,P3] A595

f

[L1604,T25,P3] LOAD V2_2,#30409

[L1605,T25,P3] GOTO A596

[L1618,T25,P3] A596

[L1606,T25,P3] CMPS SPEED_VALUE_5,#230

[L1607,T25,P3] JW L,A597

[L1608,T25,P3] LOAD V1_2,#31064

t

[L1611,T25,P3] A597

f

[L1609,T25,P3] LOAD V2_2,#30409

[L1610,T25,P3] GOTO A598

[L1618,T25,P3] A598

[L1611,T25,P3] CMPS SPEED_VALUE_5,#240

[L1612,T25,P3] JW L,A599

[L1613,T25,P3] LOAD V1_2,#31064

t

[L1616,T25,P3] A599

f

[L1614,T25,P3] LOAD V2_2,#30409

[L1615,T25,P3] GOTO A600

[L1618,T25,P3] A600

[L1616,T25,P3] LOAD V1_2,#31064

[L1617,T25,P3] LOAD V2_2,#30409

[L1618,T25,P3] EXIT AWAIT_CASE_7,A526

[L1619,T25,P3] GOTO A525

[L1620,T25,P3] GOTO A523

[L1621,T26,P3] A601

[L1621,T26,P3] LOAD CURRENT_VALUE_3,#0

[L1622,T26,P3] LOAD OLD_VALUE_4,#0

[L1623,T26,P3] LOAD CONTROL_VALUE_3,#0

[L1624,T26,P3] LOAD DIRECTION_5,#1

[L1625,T26,P3] LOAD V1_3,#39322

[L1626,T26,P3] LOAD V2_3,#37159

[L1627,T26,P3] ABORT RESET,A602

[L1628,T26,P3] A603

[L1628,T26,P3] EMIT LONG_ACC_DER_MOT_FRONT

[L1629,T26,P3] SETV LONG_ACC_DER_MOT_FRONT,CONTROL_VALUE_3[L4305,T53,P2] PRESENT LONG_ACC_DER_MOT_FRONT,A1611

i

[L4325,T53,P2] LOAD CTRL_4_VAL,?LONG_ACC_DER_MOT_FRONT

i

[L1630,T26,P1] PRIO 1

[L1631,T26,P1] LOAD OLD_VALUE_4,CURRENT_VALUE_3

[L1632,T26,P1] A604

[L1632,T26,P1] A605

[L1632,T26,P1] A606

[L1632,T26,P1] A607

[L1632,T26,P3] PRIO 3

[L1633,T26,P1/3] PAUSE

[L1813,T26,P3] A602

RESET

s

[L1635,T26,P3] EXIT AC_16,A605

t

[L1636,T26,P3] A608

f [L1688,T26,P3] AC_16

[L1637,T26,P3] EXIT AC_17,A606

t

[L1638,T26,P1] A609

f

[L1640,T26,P3] AC_17 [L1638,T26,P1] PRIO 1

[L1639,T26,P1] GOTO A607

[L1641,T26,P3] CMPS CURRENT_VALUE_3,OLD_VALUE_4

[L1642,T26,P3] JW L,A610

[L1643,T26,P3] LOAD DIRECTION_5,#0

t

[L1645,T26,P3] A610

f

[L1644,T26,P3] GOTO A611

[L1648,T26,P3] A611

[L1645,T26,P3] CMPS CURRENT_VALUE_3,OLD_VALUE_4

[L1646,T26,P3] JW G,A612

[L1647,T26,P3] LOAD DIRECTION_5,#1

t

[L1648,T26,P3] A612

f

[L1648,T26,P3] CMPS DIRECTION_5,#1

[L1649,T26,P3] JW EE,A613

[L1650,T26,P3] CMPS CURRENT_VALUE_3,V1_3

t

[L1660,T26,P3] A613

f

[L1651,T26,P3] JW L,A615

[L1652,T26,P3] LOAD CONTROL_VALUE_3,#0

t

[L1654,T26,P3] A615

f

[L1653,T26,P3] GOTO A616

[L1659,T26,P3] A616

[L1654,T26,P3] CMPS CURRENT_VALUE_3,V2_3

[L1655,T26,P3] JW L,A617

[L1656,T26,P3] LOAD CONTROL_VALUE_3,#1

t

[L1658,T26,P3] A617

f

[L1657,T26,P3] GOTO A618

[L1659,T26,P3] A618

[L1658,T26,P3] LOAD CONTROL_VALUE_3,#2

[L1659,T26,P3] GOTO A614

[L1687,T26,P3] A614

[L1660,T26,P3] CMPS CURRENT_VALUE_3,V2_3

[L1661,T26,P3] JW G,A619

[L1662,T26,P3] LOAD CONTROL_VALUE_3,#2

t

[L1664,T26,P3] A619

f

[L1663,T26,P3] GOTO A620

[L1687,T26,P3] A620

[L1664,T26,P3] CMPS CURRENT_VALUE_3,V1_3

[L1665,T26,P3] JW G,A621

[L1666,T26,P3] CMPS CONTROL_VALUE_3,#1

t

[L1677,T26,P3] A621

f

[L1667,T26,P3] JW NE,A623

[L1668,T26,P3] CMPS OLD_VALUE_4,V2_3

t

[L1676,T26,P3] A623

f

[L1669,T26,P3] JW G,A624

[L1670,T26,P3] LOAD TIME1_3,#0

t

[L1672,T26,P3] A624

f

[L1671,T26,P3] GOTO A625

[L1676,T26,P3] A625

[L1672,T26,P3] ADD TIME1_3,#1

[L1673,T26,P3] CMPS TIME1_3,#21

[L1674,T26,P3] JW G,A626

[L1675,T26,P3] LOAD CONTROL_VALUE_3,#1

t

[L1676,T26,P3] A626

f

[L1676,T26,P3] GOTO A622

[L1687,T26,P3] A622

[L1677,T26,P3] CMPS CONTROL_VALUE_3,#0

[L1678,T26,P3] JW NE,A627

[L1679,T26,P3] CMPS OLD_VALUE_4,V1_3

t

[L1687,T26,P3] A627

f

[L1680,T26,P3] JW G,A628

[L1681,T26,P3] LOAD TIME2_3,#0

t

[L1683,T26,P3] A628

f

[L1682,T26,P3] GOTO A629

[L1687,T26,P3] A629

[L1683,T26,P3] ADD TIME2_3,#1

[L1684,T26,P3] CMPS TIME2_3,#34

[L1685,T26,P3] JW G,A630

[L1686,T26,P3] LOAD CONTROL_VALUE_3,#0

t

[L1687,T26,P3] A630

f

[L1687,T26,P3] EXIT AWAIT_CASE_8,A604

[L1812,T26,P3] AWAIT_CASE_8

[L1689,T26,P3] CMPS SPEED_VALUE_6,#10

[L1690,T26,P3] JW L,A631

[L1691,T26,P3] LOAD V1_3,#39322

t

[L1694,T26,P3] A631

f

[L1692,T26,P3] LOAD V2_3,#37159

[L1693,T26,P3] GOTO A632

[L1811,T26,P3] A632

[L1694,T26,P3] CMPS SPEED_VALUE_6,#20

[L1695,T26,P3] JW L,A633

[L1696,T26,P3] LOAD V1_3,#39322

t[L1699,T26,P3] A633

f

[L1697,T26,P3] LOAD V2_3,#37159

[L1698,T26,P3] GOTO A634

[L1811,T26,P3] A634

[L1699,T26,P3] CMPS SPEED_VALUE_6,#30

[L1700,T26,P3] JW L,A635

[L1701,T26,P3] LOAD V1_3,#39322

t

[L1704,T26,P3] A635

f

[L1702,T26,P3] LOAD V2_3,#37159

[L1703,T26,P3] GOTO A636

[L1811,T26,P3] A636

[L1704,T26,P3] CMPS SPEED_VALUE_6,#40

[L1705,T26,P3] JW L,A637

[L1706,T26,P3] LOAD V1_3,#35258

t

[L1709,T26,P3] A637

f

[L1707,T26,P3] LOAD V2_3,#36897

[L1708,T26,P3] GOTO A638

[L1811,T26,P3] A638

[L1709,T26,P3] CMPS SPEED_VALUE_6,#50

[L1710,T26,P3] JW L,A639

[L1711,T26,P3] LOAD V1_3,#34931

t

[L1714,T26,P3] A639

f

[L1712,T26,P3] LOAD V2_3,#36372

[L1713,T26,P3] GOTO A640

[L1811,T26,P3] A640

[L1714,T26,P3] CMPS SPEED_VALUE_6,#60

[L1715,T26,P3] JW L,A641

[L1716,T26,P3] LOAD V1_3,#34603

t

[L1719,T26,P3] A641

f

[L1717,T26,P3] LOAD V2_3,#35783

[L1718,T26,P3] GOTO A642

[L1811,T26,P3] A642

[L1719,T26,P3] CMPS SPEED_VALUE_6,#70

[L1720,T26,P3] JW L,A643

[L1721,T26,P3] LOAD V1_3,#34406

t

[L1724,T26,P3] A643

f

[L1722,T26,P3] LOAD V2_3,#35455

[L1723,T26,P3] GOTO A644

[L1811,T26,P3] A644

[L1724,T26,P3] CMPS SPEED_VALUE_6,#80

[L1725,T26,P3] JW L,A645

[L1726,T26,P3] LOAD V1_3,#34275

t

[L1729,T26,P3] A645

f

[L1727,T26,P3] LOAD V2_3,#35193

[L1728,T26,P3] GOTO A646

[L1811,T26,P3] A646

[L1729,T26,P3] CMPS SPEED_VALUE_6,#90

[L1730,T26,P3] JW L,A647

[L1731,T26,P3] LOAD V1_3,#34144

t

[L1734,T26,P3] A647

f

[L1732,T26,P3] LOAD V2_3,#34931

[L1733,T26,P3] GOTO A648

[L1811,T26,P3] A648

[L1734,T26,P3] CMPS SPEED_VALUE_6,#100

[L1735,T26,P3] JW L,A649

[L1736,T26,P3] LOAD V1_3,#34046

t

[L1739,T26,P3] A649

f

[L1737,T26,P3] LOAD V2_3,#34734

[L1738,T26,P3] GOTO A650

[L1811,T26,P3] A650

[L1739,T26,P3] CMPS SPEED_VALUE_6,#110

[L1740,T26,P3] JW L,A651

[L1741,T26,P3] LOAD V1_3,#33980

t

[L1744,T26,P3] A651

f

[L1742,T26,P3] LOAD V2_3,#34603

[L1743,T26,P3] GOTO A652

[L1811,T26,P3] A652

[L1744,T26,P3] CMPS SPEED_VALUE_6,#120

[L1745,T26,P3] JW L,A653

[L1746,T26,P3] LOAD V1_3,#33948

t

[L1749,T26,P3] A653

f

[L1747,T26,P3] LOAD V2_3,#34537

[L1748,T26,P3] GOTO A654

[L1811,T26,P3] A654

[L1749,T26,P3] CMPS SPEED_VALUE_6,#130

[L1750,T26,P3] JW L,A655

[L1751,T26,P3] LOAD V1_3,#33915

t

[L1754,T26,P3] A655

f

[L1752,T26,P3] LOAD V2_3,#34472

[L1753,T26,P3] GOTO A656

[L1811,T26,P3] A656

[L1754,T26,P3] CMPS SPEED_VALUE_6,#140

[L1755,T26,P3] JW L,A657

[L1756,T26,P3] LOAD V1_3,#33882

t

[L1759,T26,P3] A657

f

[L1757,T26,P3] LOAD V2_3,#34439

[L1758,T26,P3] GOTO A658

[L1811,T26,P3] A658

[L1759,T26,P3] CMPS SPEED_VALUE_6,#150

[L1760,T26,P3] JW L,A659

[L1761,T26,P3] LOAD V1_3,#33849

t

[L1764,T26,P3] A659

f

[L1762,T26,P3] LOAD V2_3,#34406

[L1763,T26,P3] GOTO A660

[L1811,T26,P3] A660

[L1764,T26,P3] CMPS SPEED_VALUE_6,#160

[L1765,T26,P3] JW L,A661

[L1766,T26,P3] LOAD V1_3,#33816

t

[L1769,T26,P3] A661

f

[L1767,T26,P3] LOAD V2_3,#34374

[L1768,T26,P3] GOTO A662

[L1811,T26,P3] A662

[L1769,T26,P3] CMPS SPEED_VALUE_6,#170

[L1770,T26,P3] JW L,A663

[L1771,T26,P3] LOAD V1_3,#33784

t

[L1774,T26,P3] A663

f

[L1772,T26,P3] LOAD V2_3,#34341

[L1773,T26,P3] GOTO A664

[L1811,T26,P3] A664

[L1774,T26,P3] CMPS SPEED_VALUE_6,#180

[L1775,T26,P3] JW L,A665

[L1776,T26,P3] LOAD V1_3,#33784

t

[L1779,T26,P3] A665

f

[L1777,T26,P3] LOAD V2_3,#34308

[L1778,T26,P3] GOTO A666

[L1811,T26,P3] A666

[L1779,T26,P3] CMPS SPEED_VALUE_6,#190

[L1780,T26,P3] JW L,A667

[L1781,T26,P3] LOAD V1_3,#33784

t

[L1784,T26,P3] A667

f

[L1782,T26,P3] LOAD V2_3,#34275

[L1783,T26,P3] GOTO A668

[L1811,T26,P3] A668

[L1784,T26,P3] CMPS SPEED_VALUE_6,#200

[L1785,T26,P3] JW L,A669

[L1786,T26,P3] LOAD V1_3,#33784

t

[L1789,T26,P3] A669

f

[L1787,T26,P3] LOAD V2_3,#34275

[L1788,T26,P3] GOTO A670

[L1811,T26,P3] A670

[L1789,T26,P3] CMPS SPEED_VALUE_6,#210

[L1790,T26,P3] JW L,A671

[L1791,T26,P3] LOAD V1_3,#33784

t

[L1794,T26,P3] A671

f

[L1792,T26,P3] LOAD V2_3,#34275

[L1793,T26,P3] GOTO A672

[L1811,T26,P3] A672

[L1794,T26,P3] CMPS SPEED_VALUE_6,#220

[L1795,T26,P3] JW L,A673

[L1796,T26,P3] LOAD V1_3,#33784

t

[L1799,T26,P3] A673

f

[L1797,T26,P3] LOAD V2_3,#34275

[L1798,T26,P3] GOTO A674

[L1811,T26,P3] A674

[L1799,T26,P3] CMPS SPEED_VALUE_6,#230

[L1800,T26,P3] JW L,A675

[L1801,T26,P3] LOAD V1_3,#33784

t

[L1804,T26,P3] A675

f

[L1802,T26,P3] LOAD V2_3,#34275

[L1803,T26,P3] GOTO A676

[L1811,T26,P3] A676

[L1804,T26,P3] CMPS SPEED_VALUE_6,#240

[L1805,T26,P3] JW L,A677

[L1806,T26,P3] LOAD V1_3,#33784

t

[L1809,T26,P3] A677

f

[L1807,T26,P3] LOAD V2_3,#34275

[L1808,T26,P3] GOTO A678

[L1811,T26,P3] A678

[L1809,T26,P3] LOAD V1_3,#33784

[L1810,T26,P3] LOAD V2_3,#34275

[L1811,T26,P3] EXIT AWAIT_CASE_8,A604

[L1812,T26,P3] GOTO A603

[L1813,T26,P3] GOTO A601

[L1814,T27,P3] A679

[L1814,T27,P3] LOAD CURRENT_VALUE_4,#0

[L1815,T27,P3] LOAD OLD_VALUE_5,#0

[L1816,T27,P3] LOAD CONTROL_VALUE_4,#0

[L1817,T27,P3] LOAD DIRECTION_6,#1

[L1818,T27,P3] LOAD V1_4,#39322

[L1819,T27,P3] LOAD V2_4,#37159

[L1820,T27,P3] ABORT RESET,A680

[L1821,T27,P3] A681

[L1821,T27,P3] EMIT LONG_ACC_DER_MOT_REAR

[L1822,T27,P3] SETV LONG_ACC_DER_MOT_REAR,CONTROL_VALUE_4 [L4407,T54,P2] PRESENT LONG_ACC_DER_MOT_REAR,A1652

i

[L4427,T54,P2] LOAD CTRL_4_VAL_0,?LONG_ACC_DER_MOT_REAR

i

[L1823,T27,P1] PRIO 1

[L1824,T27,P1] LOAD OLD_VALUE_5,CURRENT_VALUE_4

[L1825,T27,P1] A682

[L1825,T27,P1] A683

[L1825,T27,P1] A684

[L1825,T27,P1] A685

[L1825,T27,P3] PRIO 3

[L1826,T27,P1/3] PAUSE

[L2006,T27,P3] A680

RESET

s

[L1828,T27,P3] EXIT AC_18,A683

t

[L1829,T27,P3] A686

f

[L1881,T27,P3] AC_18

[L1830,T27,P3] EXIT AC_19,A684

t

[L1831,T27,P1] A687

f

[L1833,T27,P3] AC_19[L1831,T27,P1] PRIO 1

[L1832,T27,P1] GOTO A685

[L1834,T27,P3] CMPS CURRENT_VALUE_4,OLD_VALUE_5

[L1835,T27,P3] JW L,A688

[L1836,T27,P3] LOAD DIRECTION_6,#0

t

[L1838,T27,P3] A688

f

[L1837,T27,P3] GOTO A689

[L1841,T27,P3] A689

[L1838,T27,P3] CMPS CURRENT_VALUE_4,OLD_VALUE_5

[L1839,T27,P3] JW G,A690

[L1840,T27,P3] LOAD DIRECTION_6,#1

t

[L1841,T27,P3] A690

f

[L1841,T27,P3] CMPS DIRECTION_6,#1

[L1842,T27,P3] JW EE,A691

[L1843,T27,P3] CMPS CURRENT_VALUE_4,V1_4

t

[L1853,T27,P3] A691

f

[L1844,T27,P3] JW L,A693

[L1845,T27,P3] LOAD CONTROL_VALUE_4,#0

t

[L1847,T27,P3] A693

f

[L1846,T27,P3] GOTO A694

[L1852,T27,P3] A694

[L1847,T27,P3] CMPS CURRENT_VALUE_4,V2_4

[L1848,T27,P3] JW L,A695

[L1849,T27,P3] LOAD CONTROL_VALUE_4,#1

t

[L1851,T27,P3] A695

f

[L1850,T27,P3] GOTO A696

[L1852,T27,P3] A696

[L1851,T27,P3] LOAD CONTROL_VALUE_4,#2

[L1852,T27,P3] GOTO A692

[L1880,T27,P3] A692

[L1853,T27,P3] CMPS CURRENT_VALUE_4,V2_4

[L1854,T27,P3] JW G,A697

[L1855,T27,P3] LOAD CONTROL_VALUE_4,#2

t

[L1857,T27,P3] A697

f

[L1856,T27,P3] GOTO A698

[L1880,T27,P3] A698

[L1857,T27,P3] CMPS CURRENT_VALUE_4,V1_4

[L1858,T27,P3] JW G,A699

[L1859,T27,P3] CMPS CONTROL_VALUE_4,#1

t

[L1870,T27,P3] A699

f

[L1860,T27,P3] JW NE,A701

[L1861,T27,P3] CMPS OLD_VALUE_5,V2_4

t

[L1869,T27,P3] A701

f

[L1862,T27,P3] JW G,A702

[L1863,T27,P3] LOAD TIME1_4,#0

t

[L1865,T27,P3] A702

f

[L1864,T27,P3] GOTO A703

[L1869,T27,P3] A703

[L1865,T27,P3] ADD TIME1_4,#1

[L1866,T27,P3] CMPS TIME1_4,#21

[L1867,T27,P3] JW G,A704

[L1868,T27,P3] LOAD CONTROL_VALUE_4,#1

t

[L1869,T27,P3] A704

f

[L1869,T27,P3] GOTO A700

[L1880,T27,P3] A700

[L1870,T27,P3] CMPS CONTROL_VALUE_4,#0

[L1871,T27,P3] JW NE,A705

[L1872,T27,P3] CMPS OLD_VALUE_5,V1_4

t

[L1880,T27,P3] A705

f

[L1873,T27,P3] JW G,A706

[L1874,T27,P3] LOAD TIME2_4,#0

t

[L1876,T27,P3] A706

f

[L1875,T27,P3] GOTO A707

[L1880,T27,P3] A707

[L1876,T27,P3] ADD TIME2_4,#1

[L1877,T27,P3] CMPS TIME2_4,#34

[L1878,T27,P3] JW G,A708

[L1879,T27,P3] LOAD CONTROL_VALUE_4,#0

t

[L1880,T27,P3] A708

f

[L1880,T27,P3] EXIT AWAIT_CASE_9,A682

[L2005,T27,P3] AWAIT_CASE_9

[L1882,T27,P3] CMPS SPEED_VALUE_7,#10

[L1883,T27,P3] JW L,A709

[L1884,T27,P3] LOAD V1_4,#39322

t

[L1887,T27,P3] A709

f

[L1885,T27,P3] LOAD V2_4,#37159

[L1886,T27,P3] GOTO A710

[L2004,T27,P3] A710

[L1887,T27,P3] CMPS SPEED_VALUE_7,#20

[L1888,T27,P3] JW L,A711

[L1889,T27,P3] LOAD V1_4,#39322

t

[L1892,T27,P3] A711

f

[L1890,T27,P3] LOAD V2_4,#37159

[L1891,T27,P3] GOTO A712

[L2004,T27,P3] A712

[L1892,T27,P3] CMPS SPEED_VALUE_7,#30

[L1893,T27,P3] JW L,A713

[L1894,T27,P3] LOAD V1_4,#39322

t

[L1897,T27,P3] A713

f

[L1895,T27,P3] LOAD V2_4,#37159

[L1896,T27,P3] GOTO A714

[L2004,T27,P3] A714

[L1897,T27,P3] CMPS SPEED_VALUE_7,#40

[L1898,T27,P3] JW L,A715

[L1899,T27,P3] LOAD V1_4,#35258

t

[L1902,T27,P3] A715

f

[L1900,T27,P3] LOAD V2_4,#36897

[L1901,T27,P3] GOTO A716

[L2004,T27,P3] A716

[L1902,T27,P3] CMPS SPEED_VALUE_7,#50

[L1903,T27,P3] JW L,A717

[L1904,T27,P3] LOAD V1_4,#34931

t

[L1907,T27,P3] A717

f

[L1905,T27,P3] LOAD V2_4,#36372

[L1906,T27,P3] GOTO A718

[L2004,T27,P3] A718

[L1907,T27,P3] CMPS SPEED_VALUE_7,#60

[L1908,T27,P3] JW L,A719

[L1909,T27,P3] LOAD V1_4,#34603

t

[L1912,T27,P3] A719

f

[L1910,T27,P3] LOAD V2_4,#35783

[L1911,T27,P3] GOTO A720

[L2004,T27,P3] A720

[L1912,T27,P3] CMPS SPEED_VALUE_7,#70

[L1913,T27,P3] JW L,A721

[L1914,T27,P3] LOAD V1_4,#34406

t

[L1917,T27,P3] A721

f

[L1915,T27,P3] LOAD V2_4,#35455

[L1916,T27,P3] GOTO A722

[L2004,T27,P3] A722

[L1917,T27,P3] CMPS SPEED_VALUE_7,#80

[L1918,T27,P3] JW L,A723

[L1919,T27,P3] LOAD V1_4,#34275

t

[L1922,T27,P3] A723

f

[L1920,T27,P3] LOAD V2_4,#35193

[L1921,T27,P3] GOTO A724

[L2004,T27,P3] A724

[L1922,T27,P3] CMPS SPEED_VALUE_7,#90

[L1923,T27,P3] JW L,A725

[L1924,T27,P3] LOAD V1_4,#34144

t

[L1927,T27,P3] A725

f

[L1925,T27,P3] LOAD V2_4,#34931

[L1926,T27,P3] GOTO A726

[L2004,T27,P3] A726

[L1927,T27,P3] CMPS SPEED_VALUE_7,#100

[L1928,T27,P3] JW L,A727

[L1929,T27,P3] LOAD V1_4,#34046

t

[L1932,T27,P3] A727

f

[L1930,T27,P3] LOAD V2_4,#34734

[L1931,T27,P3] GOTO A728

[L2004,T27,P3] A728

[L1932,T27,P3] CMPS SPEED_VALUE_7,#110

[L1933,T27,P3] JW L,A729

[L1934,T27,P3] LOAD V1_4,#33980

t

[L1937,T27,P3] A729

f

[L1935,T27,P3] LOAD V2_4,#34603

[L1936,T27,P3] GOTO A730

[L2004,T27,P3] A730

[L1937,T27,P3] CMPS SPEED_VALUE_7,#120

[L1938,T27,P3] JW L,A731

[L1939,T27,P3] LOAD V1_4,#33948

t

[L1942,T27,P3] A731

f

[L1940,T27,P3] LOAD V2_4,#34537

[L1941,T27,P3] GOTO A732

[L2004,T27,P3] A732

[L1942,T27,P3] CMPS SPEED_VALUE_7,#130

[L1943,T27,P3] JW L,A733

[L1944,T27,P3] LOAD V1_4,#33915

t

[L1947,T27,P3] A733

f

[L1945,T27,P3] LOAD V2_4,#34472

[L1946,T27,P3] GOTO A734

[L2004,T27,P3] A734

[L1947,T27,P3] CMPS SPEED_VALUE_7,#140

[L1948,T27,P3] JW L,A735

[L1949,T27,P3] LOAD V1_4,#33882

t

[L1952,T27,P3] A735

f

[L1950,T27,P3] LOAD V2_4,#34439

[L1951,T27,P3] GOTO A736

[L2004,T27,P3] A736

[L1952,T27,P3] CMPS SPEED_VALUE_7,#150

[L1953,T27,P3] JW L,A737

[L1954,T27,P3] LOAD V1_4,#33849

t

[L1957,T27,P3] A737

f

[L1955,T27,P3] LOAD V2_4,#34406

[L1956,T27,P3] GOTO A738

[L2004,T27,P3] A738

[L1957,T27,P3] CMPS SPEED_VALUE_7,#160

[L1958,T27,P3] JW L,A739

[L1959,T27,P3] LOAD V1_4,#33816

t

[L1962,T27,P3] A739

f

[L1960,T27,P3] LOAD V2_4,#34374

[L1961,T27,P3] GOTO A740

[L2004,T27,P3] A740

[L1962,T27,P3] CMPS SPEED_VALUE_7,#170

[L1963,T27,P3] JW L,A741

[L1964,T27,P3] LOAD V1_4,#33784

t

[L1967,T27,P3] A741

f

[L1965,T27,P3] LOAD V2_4,#34341

[L1966,T27,P3] GOTO A742

[L2004,T27,P3] A742

[L1967,T27,P3] CMPS SPEED_VALUE_7,#180

[L1968,T27,P3] JW L,A743

[L1969,T27,P3] LOAD V1_4,#33784

t

[L1972,T27,P3] A743

f

[L1970,T27,P3] LOAD V2_4,#34308

[L1971,T27,P3] GOTO A744

[L2004,T27,P3] A744

[L1972,T27,P3] CMPS SPEED_VALUE_7,#190

[L1973,T27,P3] JW L,A745

[L1974,T27,P3] LOAD V1_4,#33784

t

[L1977,T27,P3] A745

f

[L1975,T27,P3] LOAD V2_4,#34275

[L1976,T27,P3] GOTO A746

[L2004,T27,P3] A746

[L1977,T27,P3] CMPS SPEED_VALUE_7,#200

[L1978,T27,P3] JW L,A747

[L1979,T27,P3] LOAD V1_4,#33784

t

[L1982,T27,P3] A747

f

[L1980,T27,P3] LOAD V2_4,#34275

[L1981,T27,P3] GOTO A748

[L2004,T27,P3] A748

[L1982,T27,P3] CMPS SPEED_VALUE_7,#210

[L1983,T27,P3] JW L,A749

[L1984,T27,P3] LOAD V1_4,#33784

t

[L1987,T27,P3] A749

f

[L1985,T27,P3] LOAD V2_4,#34275

[L1986,T27,P3] GOTO A750

[L2004,T27,P3] A750

[L1987,T27,P3] CMPS SPEED_VALUE_7,#220

[L1988,T27,P3] JW L,A751

[L1989,T27,P3] LOAD V1_4,#33784

t

[L1992,T27,P3] A751

f

[L1990,T27,P3] LOAD V2_4,#34275

[L1991,T27,P3] GOTO A752

[L2004,T27,P3] A752

[L1992,T27,P3] CMPS SPEED_VALUE_7,#230

[L1993,T27,P3] JW L,A753

[L1994,T27,P3] LOAD V1_4,#33784

t

[L1997,T27,P3] A753

f

[L1995,T27,P3] LOAD V2_4,#34275

[L1996,T27,P3] GOTO A754

[L2004,T27,P3] A754

[L1997,T27,P3] CMPS SPEED_VALUE_7,#240

[L1998,T27,P3] JW L,A755

[L1999,T27,P3] LOAD V1_4,#33784

t

[L2002,T27,P3] A755

f

[L2000,T27,P3] LOAD V2_4,#34275

[L2001,T27,P3] GOTO A756

[L2004,T27,P3] A756

[L2002,T27,P3] LOAD V1_4,#33784

[L2003,T27,P3] LOAD V2_4,#34275

[L2004,T27,P3] EXIT AWAIT_CASE_9,A682

[L2005,T27,P3] GOTO A681

[L2006,T27,P3] GOTO A679

[L2007,T18,P5] JOIN 0

[L2008,T28,P5] SIGNALV ACC_0

[L2009,T28,P5] SIGNALV ACC_FREQ_LOW

[L2010,T28,P5] SIGNAL IGNORED_4

[L2019,T28,P5/5] PAR*

[L2020,T29,P5] A757

5

[L2037,T30,P1] A758

1

[L2087,T31,P4] A759

4

[L2127,T32,P4] A760

4 [L2167,T33,P3] A761

3

[L2360,T34,P3] A762

3

[L2601,T35,P3] A763

3

[L2794,T36,P3] A764

3

[L2020,T29,P5] A766

[L2020,T29,P5] LOAD ACC_VALUE_13,#0

[L2021,T29,P5] ABORT RESET,A767

[L2022,T29,P5] A768

[L2022,T29,P5] EMIT ACC_0

[L2023,T29,P5] SETV ACC_0,ACC_VALUE_13

[L2121,T31,P1/4] PAUSE

d

[L2161,T32,P1/4] PAUSE

d

d

[L2124,T31,P4] LOAD VAL_0_0,?ACC_0

id

[L2164,T32,P4] LOAD VAL_0_1,?ACC_0

i

[L2024,T29,P1] PRIO 1

[L2025,T29,P1] ABORT ACC_SENS,A769

[L2026,T29,P1] A770

[L2026,T29,P5] PRIO 5

[L2027,T29,P1/5] PAUSE

[L2030,T29,P5] A769

ACC_SENSs

[L2036,T29,P5] A767

RESET

s

[L2028,T29,P1] PRIO 1

[L2029,T29,P1] GOTO A770[L2030,T29,P5] LOAD ACC_SENS_VAL,?ACC_SENS

[L2031,T29,P5] LOAD REG26,ACC_SENS_VAL

[L2032,T29,P5] SUB REG26,#127

[L2033,T29,P5] MUL REG26,#210

[L2034,T29,P5] LOAD ACC_VALUE_13,REG26

[L2035,T29,P5] GOTO A768

[L2036,T29,P5] GOTO A766

[L2037,T30,P1] A771

[L2037,T30,P1] LOAD SENS_VAL,#127

[L2038,T30,P1] LOAD ACC_OUT_TIME_0,#0

[L2039,T30,P1] LOAD ACC_OUT_R_TIME,#0

[L2040,T30,P1] LOAD ABNORM_NUM_0,#0

[L2041,T30,P1] ABORT RESET,A772

[L2042,T30,P1] A773

[L2042,T30,P1] ABORT ACC_SENS,A774

[L2043,T30,P1] A775

[L2043,T30,P3] PRIO 3

[L2044,T30,P1/3] PAUSE

[L2047,T30,P3] A774

ACC_SENS

s

[L2085,T30,P1] A772

RESET

s

[L2045,T30,P1] PRIO 1

[L2046,T30,P1] GOTO A775 [L2047,T30,P3] LOAD SENS_VAL,?ACC_SENS

[L2048,T30,P3] CMPS SENS_VAL,#168

[L2049,T30,P3] JW G,A778

[L2050,T30,P3] GOTO A777

t

[L2051,T30,P3] A778

f

[L2053,T30,P3] A777

[L2051,T30,P3] CMPS SENS_VAL,#52

[L2052,T30,P3] JW L,A776

t

[L2064,T30,P3] A776

f

[L2053,T30,P3] ADD ACC_OUT_R_TIME,#1

[L2054,T30,P3] ADD ACC_OUT_TIME_0,#1

[L2055,T30,P3] CMPS ACC_OUT_R_TIME,#166

[L2056,T30,P3] JW GE,A782

[L2057,T30,P3] GOTO A781

t

[L2058,T30,P3] A782

f

[L2060,T30,P3] A781

[L2058,T30,P3] CMPS ACC_OUT_TIME_0,#13

[L2059,T30,P3] JW GE,A780

t

[L2063,T30,P3] A780

f

[L2060,T30,P3] ADD ABNORM_NUM_0,#1

[L2061,T30,P3] LOAD ACC_OUT_R_TIME,#0

[L2062,T30,P3] LOAD ACC_OUT_TIME_0,#0

[L2063,T30,P3] GOTO A779

[L2077,T30,P3] A779

[L2064,T30,P3] LOAD ACC_OUT_R_TIME,#0

[L2065,T30,P3] CMPS SENS_VAL,#239

[L2066,T30,P3] JW G,A785

[L2067,T30,P3] GOTO A784

t

[L2068,T30,P3] A785

f

[L2070,T30,P3] A784

[L2068,T30,P3] CMPS SENS_VAL,#10

[L2069,T30,P3] JW L,A783

t

[L2076,T30,P3] A783

f

[L2070,T30,P3] ADD ACC_OUT_TIME_0,#1

[L2071,T30,P3] CMPS ACC_OUT_TIME_0,#13

[L2072,T30,P3] JW GE,A787

[L2073,T30,P3] ADD ABNORM_NUM_0,#1

t

[L2075,T30,P3] A787

f

[L2074,T30,P3] LOAD ACC_OUT_TIME_0,#0

[L2075,T30,P3] GOTO A786

[L2077,T30,P3] A786

[L2076,T30,P3] LOAD ACC_OUT_TIME_0,#0

[L2077,T30,P3] CMPS ABNORM_NUM_0,#4

[L2078,T30,P3] JW GE,A788

[L2079,T30,P3] EMIT VER_ACC_ERR

t

[L2083,T30,P1] A788

f

[L2080,T30,P1] A789

[L4504,T55,P2] PRESENT VER_ACC_ERR,A1692

i

[L2080,T30,P1] PRIO 1

[L2081,T30,P1/1] PAUSE

[L2082,T30,P1] GOTO A789

RESET

s

[L2083,T30,P1] PRIO 1

[L2084,T30,P1] GOTO A773

[L2085,T30,P1] PRIO 1

[L2086,T30,P1] GOTO A771

[L2087,T31,P4] A790

[L2087,T31,P4] LOAD VAL_0_0,#0

[L2088,T31,P4] LOAD VAL_1,#0

[L2089,T31,P4] LOAD VAL_2,#0

[L2090,T31,P4] LOAD FILT_VAL_0_0,#0

[L2091,T31,P4] LOAD FILT_VAL_1,#0

[L2092,T31,P4] LOAD FILT_VAL_2,#0

[L2093,T31,P4] ABORT RESET,A791

[L2094,T31,P4] A792

[L2094,T31,P4] LOAD REG27,VAL_0_0

[L2095,T31,P4] MUL REG27,#429

[L2096,T31,P4] LOAD REG28,VAL_1

[L2097,T31,P4] MUL REG28,#0

[L2098,T31,P4] ADD REG27,REG28

[L2099,T31,P4] LOAD REG28,#429

[L2100,T31,P4] MUL REG28,VAL_2

[L2101,T31,P4] ADD REG27,REG28

[L2102,T31,P4] LOAD REG28,FILT_VAL_1

[L2103,T31,P4] MUL REG28,#32031

[L2104,T31,P4] ADD REG27,REG28

[L2105,T31,P4] LOAD REG28,#15794

[L2106,T31,P4] MUL REG28,FILT_VAL_2

[L2107,T31,P4] ADD REG27,REG28

[L2108,T31,P4] LOAD R0,REG27

[L2109,T31,P4] LOAD R1,#14

[L2110,T31,P4] SR R0,R1

[L2111,T31,P4] LOAD FILT_VAL_0_0,R0

[L2112,T31,P4] EMIT ACC_FREQ_LOW

[L2113,T31,P4] SETV ACC_FREQ_LOW,FILT_VAL_0_0 [L2182,T33,P3] PRESENT ACC_FREQ_LOW,A808

i

[L2376,T34,P3] PRESENT ACC_FREQ_LOW,A886

i

[L2186,T33,P3] LOAD CURRENT_VALUE_5,?ACC_FREQ_LOW

i

[L2380,T34,P3] LOAD CURRENT_VALUE_6,?ACC_FREQ_LOW

i

[L2114,T31,P1] PRIO 1

[L2115,T31,P1] LOAD VAL_2,VAL_1

[L2116,T31,P1] LOAD VAL_1,VAL_0_0

[L2117,T31,P1] LOAD FILT_VAL_2,FILT_VAL_1

[L2118,T31,P1] LOAD FILT_VAL_1,FILT_VAL_0_0

[L2119,T31,P1] ABORT ACC_0,A793

[L2120,T31,P1] A794

[L2120,T31,P4] PRIO 4

[L2124,T31,P4] A793

ACC_0s

[L2126,T31,P4] A791

RESET

s

[L2122,T31,P1] PRIO 1

[L2123,T31,P1] GOTO A794

[L2125,T31,P4] GOTO A792

[L2126,T31,P4] GOTO A790

[L2127,T32,P4] A795

[L2127,T32,P4] LOAD VAL_0_1,#0

[L2128,T32,P4] LOAD VAL_1_0,#0

[L2129,T32,P4] LOAD VAL_2_0,#0

[L2130,T32,P4] LOAD FILT_VAL_0_1,#0

[L2131,T32,P4] LOAD FILT_VAL_1_0,#0

[L2132,T32,P4] LOAD FILT_VAL_2_0,#0

[L2133,T32,P4] ABORT RESET,A796

[L2134,T32,P4] A797

[L2134,T32,P4] LOAD REG29,VAL_0_1

[L2135,T32,P4] MUL REG29,#2130

[L2136,T32,P4] LOAD REG30,VAL_1_0

[L2137,T32,P4] MUL REG30,#0

[L2138,T32,P4] ADD REG29,REG30

[L2139,T32,P4] LOAD REG30,#2130

[L2140,T32,P4] MUL REG30,VAL_2_0

[L2141,T32,P4] ADD REG29,REG30

[L2142,T32,P4] LOAD REG30,FILT_VAL_1_0

[L2143,T32,P4] MUL REG30,#18923

[L2144,T32,P4] ADD REG29,REG30

[L2145,T32,P4] LOAD REG30,#13435

[L2146,T32,P4] MUL REG30,FILT_VAL_2_0

[L2147,T32,P4] ADD REG29,REG30

[L2148,T32,P4] LOAD R0,REG29

[L2149,T32,P4] LOAD R1,#14

[L2150,T32,P4] SR R0,R1

[L2151,T32,P4] LOAD FILT_VAL_0_1,R0

[L2152,T32,P4] EMIT VER_ACC_FREQ_MEDii

[L2153,T32,P4] SETV VER_ACC_FREQ_MED,FILT_VAL_0_1

[L2616,T35,P3] PRESENT VER_ACC_FREQ_MED,A972

i

[L2810,T36,P3] PRESENT VER_ACC_FREQ_MED,A1050

i

i

[L2620,T35,P3] LOAD CURRENT_VALUE_7,?VER_ACC_FREQ_MED

i

[L2814,T36,P3] LOAD CURRENT_VALUE_8,?VER_ACC_FREQ_MED

i

[L2154,T32,P1] PRIO 1

[L2155,T32,P1] LOAD VAL_2_0,VAL_1_0

[L2156,T32,P1] LOAD VAL_1_0,VAL_0_1

[L2157,T32,P1] LOAD FILT_VAL_2_0,FILT_VAL_1_0

[L2158,T32,P1] LOAD FILT_VAL_1_0,FILT_VAL_0_1

[L2159,T32,P1] ABORT ACC_0,A798

[L2160,T32,P1] A799

[L2160,T32,P4] PRIO 4

[L2164,T32,P4] A798

ACC_0

s

[L2166,T32,P4] A796

RESETs

[L2162,T32,P1] PRIO 1

[L2163,T32,P1] GOTO A799

[L2165,T32,P4] GOTO A797

[L2166,T32,P4] GOTO A795

[L2167,T33,P3] A800

[L2167,T33,P3] LOAD CURRENT_VALUE_5,#0

[L2168,T33,P3] LOAD OLD_VALUE_6,#0

[L2169,T33,P3] LOAD CONTROL_VALUE_5,#0

[L2170,T33,P3] LOAD DIRECTION_7,#1

[L2171,T33,P3] LOAD V1_5,#176

[L2172,T33,P3] LOAD V2_5,#192

[L2173,T33,P3] ABORT RESET,A801

[L2174,T33,P3] A802

[L2174,T33,P3] EMIT VER_ACC_LOW_MOT_FRONT

[L2175,T33,P3] SETV VER_ACC_LOW_MOT_FRONT,CONTROL_VALUE_5

[L4307,T53,P2] PRESENT VER_ACC_LOW_MOT_FRONT,A1612

i

[L4323,T53,P2] LOAD CTRL_5_VAL,?VER_ACC_LOW_MOT_FRONT

i

[L2176,T33,P1] PRIO 1

[L2177,T33,P1] LOAD OLD_VALUE_6,CURRENT_VALUE_5

[L2178,T33,P1] A803

[L2178,T33,P1] A804

[L2178,T33,P1] A805

[L2178,T33,P1] A806

[L2178,T33,P3] PRIO 3

[L2179,T33,P1/3] PAUSE

[L2359,T33,P3] A801

RESET

s

[L2181,T33,P3] EXIT AC_20,A804

t

[L2182,T33,P3] A807

f

[L2234,T33,P3] AC_20

[L2183,T33,P3] EXIT AC_21,A805

t

[L2184,T33,P1] A808

f

[L2186,T33,P3] AC_21 [L2184,T33,P1] PRIO 1

[L2185,T33,P1] GOTO A806

[L2187,T33,P3] CMPS CURRENT_VALUE_5,OLD_VALUE_6

[L2188,T33,P3] JW L,A809

[L2189,T33,P3] LOAD DIRECTION_7,#0

t

[L2191,T33,P3] A809

f

[L2190,T33,P3] GOTO A810

[L2194,T33,P3] A810

[L2191,T33,P3] CMPS CURRENT_VALUE_5,OLD_VALUE_6

[L2192,T33,P3] JW G,A811

[L2193,T33,P3] LOAD DIRECTION_7,#1

t

[L2194,T33,P3] A811

f

[L2194,T33,P3] CMPS DIRECTION_7,#1

[L2195,T33,P3] JW EE,A812

[L2196,T33,P3] CMPS CURRENT_VALUE_5,V1_5

t

[L2206,T33,P3] A812

f

[L2197,T33,P3] JW L,A814

[L2198,T33,P3] LOAD CONTROL_VALUE_5,#0

t

[L2200,T33,P3] A814

f

[L2199,T33,P3] GOTO A815

[L2205,T33,P3] A815

[L2200,T33,P3] CMPS CURRENT_VALUE_5,V2_5

[L2201,T33,P3] JW L,A816

[L2202,T33,P3] LOAD CONTROL_VALUE_5,#1

t

[L2204,T33,P3] A816

f

[L2203,T33,P3] GOTO A817

[L2205,T33,P3] A817

[L2204,T33,P3] LOAD CONTROL_VALUE_5,#2

[L2205,T33,P3] GOTO A813

[L2233,T33,P3] A813

[L2206,T33,P3] CMPS CURRENT_VALUE_5,V2_5

[L2207,T33,P3] JW G,A818

[L2208,T33,P3] LOAD CONTROL_VALUE_5,#2

t

[L2210,T33,P3] A818

f

[L2209,T33,P3] GOTO A819

[L2233,T33,P3] A819

[L2210,T33,P3] CMPS CURRENT_VALUE_5,V1_5

[L2211,T33,P3] JW G,A820

[L2212,T33,P3] CMPS CONTROL_VALUE_5,#1

t

[L2223,T33,P3] A820

f

[L2213,T33,P3] JW NE,A822

[L2214,T33,P3] CMPS OLD_VALUE_6,V2_5

t

[L2222,T33,P3] A822

f

[L2215,T33,P3] JW G,A823

[L2216,T33,P3] LOAD TIME1_5,#0

t

[L2218,T33,P3] A823

f

[L2217,T33,P3] GOTO A824

[L2222,T33,P3] A824

[L2218,T33,P3] ADD TIME1_5,#1

[L2219,T33,P3] CMPS TIME1_5,#34

[L2220,T33,P3] JW G,A825

[L2221,T33,P3] LOAD CONTROL_VALUE_5,#1

t

[L2222,T33,P3] A825

f

[L2222,T33,P3] GOTO A821

[L2233,T33,P3] A821

[L2223,T33,P3] CMPS CONTROL_VALUE_5,#0

[L2224,T33,P3] JW NE,A826

[L2225,T33,P3] CMPS OLD_VALUE_6,V1_5

t

[L2233,T33,P3] A826

f

[L2226,T33,P3] JW G,A827

[L2227,T33,P3] LOAD TIME2_5,#0

t

[L2229,T33,P3] A827

f

[L2228,T33,P3] GOTO A828

[L2233,T33,P3] A828

[L2229,T33,P3] ADD TIME2_5,#1

[L2230,T33,P3] CMPS TIME2_5,#16

[L2231,T33,P3] JW G,A829

[L2232,T33,P3] LOAD CONTROL_VALUE_5,#0

t

[L2233,T33,P3] A829

f

[L2233,T33,P3] EXIT AWAIT_CASE_10,A803

[L2358,T33,P3] AWAIT_CASE_10

[L2235,T33,P3] CMPS SPEED_VALUE_8,#10

[L2236,T33,P3] JW L,A830

[L2237,T33,P3] LOAD V1_5,#176

t

[L2240,T33,P3] A830

f

[L2238,T33,P3] LOAD V2_5,#192

[L2239,T33,P3] GOTO A831

[L2357,T33,P3] A831

[L2240,T33,P3] CMPS SPEED_VALUE_8,#20

[L2241,T33,P3] JW L,A832

[L2242,T33,P3] LOAD V1_5,#172

t [L2245,T33,P3] A832

f

[L2243,T33,P3] LOAD V2_5,#188

[L2244,T33,P3] GOTO A833

[L2357,T33,P3] A833

[L2245,T33,P3] CMPS SPEED_VALUE_8,#30

[L2246,T33,P3] JW L,A834

[L2247,T33,P3] LOAD V1_5,#170

t

[L2250,T33,P3] A834

f

[L2248,T33,P3] LOAD V2_5,#184

[L2249,T33,P3] GOTO A835

[L2357,T33,P3] A835

[L2250,T33,P3] CMPS SPEED_VALUE_8,#40

[L2251,T33,P3] JW L,A836

[L2252,T33,P3] LOAD V1_5,#164

t

[L2255,T33,P3] A836

f

[L2253,T33,P3] LOAD V2_5,#180

[L2254,T33,P3] GOTO A837

[L2357,T33,P3] A837

[L2255,T33,P3] CMPS SPEED_VALUE_8,#50

[L2256,T33,P3] JW L,A838

[L2257,T33,P3] LOAD V1_5,#159

t

[L2260,T33,P3] A838

f

[L2258,T33,P3] LOAD V2_5,#175

[L2259,T33,P3] GOTO A839

[L2357,T33,P3] A839

[L2260,T33,P3] CMPS SPEED_VALUE_8,#60

[L2261,T33,P3] JW L,A840

[L2262,T33,P3] LOAD V1_5,#156

t

[L2265,T33,P3] A840

f

[L2263,T33,P3] LOAD V2_5,#172

[L2264,T33,P3] GOTO A841

[L2357,T33,P3] A841

[L2265,T33,P3] CMPS SPEED_VALUE_8,#70

[L2266,T33,P3] JW L,A842

[L2267,T33,P3] LOAD V1_5,#154

t

[L2270,T33,P3] A842

f

[L2268,T33,P3] LOAD V2_5,#170

[L2269,T33,P3] GOTO A843

[L2357,T33,P3] A843

[L2270,T33,P3] CMPS SPEED_VALUE_8,#80

[L2271,T33,P3] JW L,A844

[L2272,T33,P3] LOAD V1_5,#152

t

[L2275,T33,P3] A844

f

[L2273,T33,P3] LOAD V2_5,#168

[L2274,T33,P3] GOTO A845

[L2357,T33,P3] A845

[L2275,T33,P3] CMPS SPEED_VALUE_8,#90

[L2276,T33,P3] JW L,A846

[L2277,T33,P3] LOAD V1_5,#151

t

[L2280,T33,P3] A846

f

[L2278,T33,P3] LOAD V2_5,#166

[L2279,T33,P3] GOTO A847

[L2357,T33,P3] A847

[L2280,T33,P3] CMPS SPEED_VALUE_8,#100

[L2281,T33,P3] JW L,A848

[L2282,T33,P3] LOAD V1_5,#150

t

[L2285,T33,P3] A848

f

[L2283,T33,P3] LOAD V2_5,#164

[L2284,T33,P3] GOTO A849

[L2357,T33,P3] A849

[L2285,T33,P3] CMPS SPEED_VALUE_8,#110

[L2286,T33,P3] JW L,A850

[L2287,T33,P3] LOAD V1_5,#150

t

[L2290,T33,P3] A850

f

[L2288,T33,P3] LOAD V2_5,#163

[L2289,T33,P3] GOTO A851

[L2357,T33,P3] A851

[L2290,T33,P3] CMPS SPEED_VALUE_8,#120

[L2291,T33,P3] JW L,A852

[L2292,T33,P3] LOAD V1_5,#149

t

[L2295,T33,P3] A852

f

[L2293,T33,P3] LOAD V2_5,#161

[L2294,T33,P3] GOTO A853

[L2357,T33,P3] A853

[L2295,T33,P3] CMPS SPEED_VALUE_8,#130

[L2296,T33,P3] JW L,A854

[L2297,T33,P3] LOAD V1_5,#148

t

[L2300,T33,P3] A854

f

[L2298,T33,P3] LOAD V2_5,#160

[L2299,T33,P3] GOTO A855

[L2357,T33,P3] A855

[L2300,T33,P3] CMPS SPEED_VALUE_8,#140

[L2301,T33,P3] JW L,A856

[L2302,T33,P3] LOAD V1_5,#148

t

[L2305,T33,P3] A856

f

[L2303,T33,P3] LOAD V2_5,#159

[L2304,T33,P3] GOTO A857

[L2357,T33,P3] A857

[L2305,T33,P3] CMPS SPEED_VALUE_8,#150

[L2306,T33,P3] JW L,A858

[L2307,T33,P3] LOAD V1_5,#148

t

[L2310,T33,P3] A858

f

[L2308,T33,P3] LOAD V2_5,#157

[L2309,T33,P3] GOTO A859

[L2357,T33,P3] A859

[L2310,T33,P3] CMPS SPEED_VALUE_8,#160

[L2311,T33,P3] JW L,A860

[L2312,T33,P3] LOAD V1_5,#147

t[L2315,T33,P3] A860

f

[L2313,T33,P3] LOAD V2_5,#157

[L2314,T33,P3] GOTO A861

[L2357,T33,P3] A861

[L2315,T33,P3] CMPS SPEED_VALUE_8,#170

[L2316,T33,P3] JW L,A862

[L2317,T33,P3] LOAD V1_5,#147

t

[L2320,T33,P3] A862

f

[L2318,T33,P3] LOAD V2_5,#156

[L2319,T33,P3] GOTO A863

[L2357,T33,P3] A863

[L2320,T33,P3] CMPS SPEED_VALUE_8,#180

[L2321,T33,P3] JW L,A864

[L2322,T33,P3] LOAD V1_5,#147

t

[L2325,T33,P3] A864

f

[L2323,T33,P3] LOAD V2_5,#156

[L2324,T33,P3] GOTO A865

[L2357,T33,P3] A865

[L2325,T33,P3] CMPS SPEED_VALUE_8,#190

[L2326,T33,P3] JW L,A866

[L2327,T33,P3] LOAD V1_5,#147

t

[L2330,T33,P3] A866

f

[L2328,T33,P3] LOAD V2_5,#155

[L2329,T33,P3] GOTO A867

[L2357,T33,P3] A867

[L2330,T33,P3] CMPS SPEED_VALUE_8,#200

[L2331,T33,P3] JW L,A868

[L2332,T33,P3] LOAD V1_5,#147

t

[L2335,T33,P3] A868

f

[L2333,T33,P3] LOAD V2_5,#155

[L2334,T33,P3] GOTO A869

[L2357,T33,P3] A869

[L2335,T33,P3] CMPS SPEED_VALUE_8,#210

[L2336,T33,P3] JW L,A870

[L2337,T33,P3] LOAD V1_5,#147

t

[L2340,T33,P3] A870

f

[L2338,T33,P3] LOAD V2_5,#155

[L2339,T33,P3] GOTO A871

[L2357,T33,P3] A871

[L2340,T33,P3] CMPS SPEED_VALUE_8,#220

[L2341,T33,P3] JW L,A872

[L2342,T33,P3] LOAD V1_5,#147

t

[L2345,T33,P3] A872

f

[L2343,T33,P3] LOAD V2_5,#155

[L2344,T33,P3] GOTO A873

[L2357,T33,P3] A873

[L2345,T33,P3] CMPS SPEED_VALUE_8,#230

[L2346,T33,P3] JW L,A874

[L2347,T33,P3] LOAD V1_5,#147

t

[L2350,T33,P3] A874

f

[L2348,T33,P3] LOAD V2_5,#155

[L2349,T33,P3] GOTO A875

[L2357,T33,P3] A875

[L2350,T33,P3] CMPS SPEED_VALUE_8,#240

[L2351,T33,P3] JW L,A876

[L2352,T33,P3] LOAD V1_5,#147

t

[L2355,T33,P3] A876

f

[L2353,T33,P3] LOAD V2_5,#155

[L2354,T33,P3] GOTO A877

[L2357,T33,P3] A877

[L2355,T33,P3] LOAD V1_5,#147

[L2356,T33,P3] LOAD V2_5,#155

[L2357,T33,P3] EXIT AWAIT_CASE_10,A803

[L2358,T33,P3] GOTO A802

[L2359,T33,P3] GOTO A800

[L2360,T34,P3] A878

[L2360,T34,P3] LOAD CURRENT_VALUE_6,#0

[L2361,T34,P3] LOAD OLD_VALUE_7,#0

[L2362,T34,P3] LOAD CONTROL_VALUE_6,#0

[L2363,T34,P3] LOAD DIRECTION_8,#1

[L2364,T34,P3] LOAD V1_6,#176

[L2365,T34,P3] LOAD V2_6,#192

[L2366,T34,P3] LOAD D,#45

[L2367,T34,P3] ABORT RESET,A879

[L2368,T34,P3] A880

[L2368,T34,P3] EMIT VER_ACC_LOW_MOT_REAR

[L2369,T34,P3] SETV VER_ACC_LOW_MOT_REAR,CONTROL_VALUE_6

[L4409,T54,P2] PRESENT VER_ACC_LOW_MOT_REAR,A1653

i

[L4425,T54,P2] LOAD CTRL_5_VAL_0,?VER_ACC_LOW_MOT_REAR

i

[L2370,T34,P1] PRIO 1

[L2371,T34,P1] LOAD OLD_VALUE_7,CURRENT_VALUE_6

[L2372,T34,P1] A881

[L2372,T34,P1] A882

[L2372,T34,P1] A883

[L2372,T34,P1] A884

[L2372,T34,P3] PRIO 3

[L2373,T34,P1/3] PAUSE

[L2600,T34,P3] A879

RESET

s

[L2375,T34,P3] EXIT AC_22,A882

t

[L2376,T34,P3] A885

f

[L2450,T34,P3] AC_22

[L2377,T34,P3] EXIT AC_23,A883

t

[L2378,T34,P1] A886

f

[L2380,T34,P3] AC_23 [L2378,T34,P1] PRIO 1

[L2379,T34,P1] GOTO A884

[L2381,T34,P3] CMPS CURRENT_VALUE_6,OLD_VALUE_7

[L2382,T34,P3] JW L,A887

[L2383,T34,P3] LOAD DIRECTION_8,#0

t

[L2385,T34,P3] A887

f

[L2384,T34,P3] GOTO A888

[L2388,T34,P3] A888

[L2385,T34,P3] CMPS CURRENT_VALUE_6,OLD_VALUE_7

[L2386,T34,P3] JW G,A889

[L2387,T34,P3] LOAD DIRECTION_8,#1

t

[L2388,T34,P3] A889

f

[L2388,T34,P3] CMPS DIRECTION_8,#1

[L2389,T34,P3] JW EE,A890

[L2390,T34,P3] CMPS CURRENT_VALUE_6,V1_6

t

[L2418,T34,P3] A890

f

[L2391,T34,P3] JW L,A892

[L2392,T34,P3] LOAD CONTROL_VALUE_6,#0

t

[L2394,T34,P3] A892

f

[L2393,T34,P3] GOTO A893

[L2417,T34,P3] A893

[L2394,T34,P3] CMPS CURRENT_VALUE_6,V2_6

[L2395,T34,P3] JW L,A894

[L2396,T34,P3] CMPS CONTROL_VALUE_6,#1

t

[L2407,T34,P3] A894

f

[L2397,T34,P3] JW NE,A896

[L2398,T34,P3] CMPS OLD_VALUE_7,V1_6

t

[L2406,T34,P3] A896

f

[L2399,T34,P3] JW L,A897

[L2400,T34,P3] LOAD TIME_1,#0

t

[L2402,T34,P3] A897

f

[L2401,T34,P3] GOTO A898

[L2406,T34,P3] A898

[L2402,T34,P3] ADD TIME_1,#1

[L2403,T34,P3] CMPS TIME_1,D

[L2404,T34,P3] JW G,A899

[L2405,T34,P3] LOAD CONTROL_VALUE_6,#1

t

[L2406,T34,P3] A899

f

[L2406,T34,P3] GOTO A895

[L2417,T34,P3] A895

[L2407,T34,P3] CMPS CONTROL_VALUE_6,#2

[L2408,T34,P3] JW NE,A900

[L2409,T34,P3] CMPS OLD_VALUE_7,V2_6

t

[L2417,T34,P3] A900

f

[L2410,T34,P3] JW L,A901

[L2411,T34,P3] LOAD TIME_1,#0

t

[L2413,T34,P3] A901

f

[L2412,T34,P3] GOTO A902

[L2417,T34,P3] A902

[L2413,T34,P3] ADD TIME_1,#1

[L2414,T34,P3] CMPS TIME_1,D

[L2415,T34,P3] JW G,A903

[L2416,T34,P3] LOAD CONTROL_VALUE_6,#2

t

[L2417,T34,P3] A903

f

[L2417,T34,P3] GOTO A891

[L2449,T34,P3] A891

[L2418,T34,P3] CMPS CURRENT_VALUE_6,V2_6

[L2419,T34,P3] JW G,A904

[L2420,T34,P3] LOAD CONTROL_VALUE_6,#2

t

[L2422,T34,P3] A904

f

[L2421,T34,P3] GOTO A905

[L2449,T34,P3] A905

[L2422,T34,P3] CMPS CURRENT_VALUE_6,V1_6

[L2423,T34,P3] JW G,A906

[L2424,T34,P3] CMPS CONTROL_VALUE_6,#1

t

[L2437,T34,P3] A906

f

[L2425,T34,P3] JW NE,A908

[L2426,T34,P3] CMPS OLD_VALUE_7,V2_6

t

[L2436,T34,P3] A908

f

[L2427,T34,P3] JW G,A909

[L2428,T34,P3] LOAD TIME_1,#0

t

[L2430,T34,P3] A909

f

[L2429,T34,P3] GOTO A910

[L2436,T34,P3] A910

[L2430,T34,P3] ADD TIME_1,#1

[L2431,T34,P3] LOAD REG31,D

[L2432,T34,P3] ADD REG31,#34

[L2433,T34,P3] CMPS TIME_1,REG31

[L2434,T34,P3] JW G,A911

[L2435,T34,P3] LOAD CONTROL_VALUE_6,#1

t

[L2436,T34,P3] A911

f

[L2436,T34,P3] GOTO A907

[L2449,T34,P3] A907

[L2437,T34,P3] CMPS CONTROL_VALUE_6,#0

[L2438,T34,P3] JW NE,A912

[L2439,T34,P3] CMPS OLD_VALUE_7,V1_6

t

[L2449,T34,P3] A912

f

[L2440,T34,P3] JW G,A913

[L2441,T34,P3] LOAD TIME_1,#0

t

[L2443,T34,P3] A913

f

[L2442,T34,P3] GOTO A914

[L2449,T34,P3] A914

[L2443,T34,P3] ADD TIME_1,#1

[L2444,T34,P3] LOAD REG32,D

[L2445,T34,P3] ADD REG32,#16

[L2446,T34,P3] CMPS TIME_1,REG32

[L2447,T34,P3] JW G,A915

[L2448,T34,P3] LOAD CONTROL_VALUE_6,#0

t

[L2449,T34,P3] A915

f

[L2449,T34,P3] EXIT AWAIT_CASE_11,A881

[L2599,T34,P3] AWAIT_CASE_11

[L2451,T34,P3] CMPS SPEED_VALUE_9,#10

[L2452,T34,P3] JW L,A916

[L2453,T34,P3] LOAD V1_6,#176

t

[L2457,T34,P3] A916

f

[L2454,T34,P3] LOAD V2_6,#192

[L2455,T34,P3] LOAD D,#45

[L2456,T34,P3] GOTO A917

[L2598,T34,P3] A917

[L2457,T34,P3] CMPS SPEED_VALUE_9,#20

[L2458,T34,P3] JW L,A918

[L2459,T34,P3] LOAD V1_6,#172

t

[L2463,T34,P3] A918

f

[L2460,T34,P3] LOAD V2_6,#188

[L2461,T34,P3] LOAD D,#23

[L2462,T34,P3] GOTO A919

[L2598,T34,P3] A919

[L2463,T34,P3] CMPS SPEED_VALUE_9,#30

[L2464,T34,P3] JW L,A920

[L2465,T34,P3] LOAD V1_6,#170

t

[L2469,T34,P3] A920

f

[L2466,T34,P3] LOAD V2_6,#184

[L2467,T34,P3] LOAD D,#15

[L2468,T34,P3] GOTO A921

[L2598,T34,P3] A921

[L2469,T34,P3] CMPS SPEED_VALUE_9,#40

[L2470,T34,P3] JW L,A922

[L2471,T34,P3] LOAD V1_6,#164

t

[L2475,T34,P3] A922

f

[L2472,T34,P3] LOAD V2_6,#180

[L2473,T34,P3] LOAD D,#11

[L2474,T34,P3] GOTO A923

[L2598,T34,P3] A923

[L2475,T34,P3] CMPS SPEED_VALUE_9,#50

[L2476,T34,P3] JW L,A924

[L2477,T34,P3] LOAD V1_6,#159

t

[L2481,T34,P3] A924

f

[L2478,T34,P3] LOAD V2_6,#175

[L2479,T34,P3] LOAD D,#9

[L2480,T34,P3] GOTO A925

[L2598,T34,P3] A925

[L2481,T34,P3] CMPS SPEED_VALUE_9,#60

[L2482,T34,P3] JW L,A926

[L2483,T34,P3] LOAD V1_6,#156

t

[L2487,T34,P3] A926

f

[L2484,T34,P3] LOAD V2_6,#172

[L2485,T34,P3] LOAD D,#7

[L2486,T34,P3] GOTO A927

[L2598,T34,P3] A927

[L2487,T34,P3] CMPS SPEED_VALUE_9,#70

[L2488,T34,P3] JW L,A928

[L2489,T34,P3] LOAD V1_6,#154

t

[L2493,T34,P3] A928

f

[L2490,T34,P3] LOAD V2_6,#170

[L2491,T34,P3] LOAD D,#5

[L2492,T34,P3] GOTO A929

[L2598,T34,P3] A929

[L2493,T34,P3] CMPS SPEED_VALUE_9,#80

[L2494,T34,P3] JW L,A930

[L2495,T34,P3] LOAD V1_6,#152

t

[L2499,T34,P3] A930

f

[L2496,T34,P3] LOAD V2_6,#168

[L2497,T34,P3] LOAD D,#4

[L2498,T34,P3] GOTO A931

[L2598,T34,P3] A931

[L2499,T34,P3] CMPS SPEED_VALUE_9,#90

[L2500,T34,P3] JW L,A932

[L2501,T34,P3] LOAD V1_6,#151

t

[L2505,T34,P3] A932

f

[L2502,T34,P3] LOAD V2_6,#166

[L2503,T34,P3] LOAD D,#4

[L2504,T34,P3] GOTO A933

[L2598,T34,P3] A933

[L2505,T34,P3] CMPS SPEED_VALUE_9,#100

[L2506,T34,P3] JW L,A934

[L2507,T34,P3] LOAD V1_6,#150

t

[L2511,T34,P3] A934

f

[L2508,T34,P3] LOAD V2_6,#164

[L2509,T34,P3] LOAD D,#3

[L2510,T34,P3] GOTO A935

[L2598,T34,P3] A935

[L2511,T34,P3] CMPS SPEED_VALUE_9,#110

[L2512,T34,P3] JW L,A936

[L2513,T34,P3] LOAD V1_6,#150

t

[L2517,T34,P3] A936

f

[L2514,T34,P3] LOAD V2_6,#163

[L2515,T34,P3] LOAD D,#2

[L2516,T34,P3] GOTO A937

[L2598,T34,P3] A937

[L2517,T34,P3] CMPS SPEED_VALUE_9,#120

[L2518,T34,P3] JW L,A938

[L2519,T34,P3] LOAD V1_6,#149

t

[L2523,T34,P3] A938

f

[L2520,T34,P3] LOAD V2_6,#161

[L2521,T34,P3] LOAD D,#1

[L2522,T34,P3] GOTO A939

[L2598,T34,P3] A939

[L2523,T34,P3] CMPS SPEED_VALUE_9,#130

[L2524,T34,P3] JW L,A940

[L2525,T34,P3] LOAD V1_6,#148

t

[L2529,T34,P3] A940

f

[L2526,T34,P3] LOAD V2_6,#160

[L2527,T34,P3] LOAD D,#0

[L2528,T34,P3] GOTO A941

[L2598,T34,P3] A941

[L2529,T34,P3] CMPS SPEED_VALUE_9,#140

[L2530,T34,P3] JW L,A942

[L2531,T34,P3] LOAD V1_6,#148

t

[L2535,T34,P3] A942

f

[L2532,T34,P3] LOAD V2_6,#159

[L2533,T34,P3] LOAD D,#0

[L2534,T34,P3] GOTO A943

[L2598,T34,P3] A943

[L2535,T34,P3] CMPS SPEED_VALUE_9,#150

[L2536,T34,P3] JW L,A944

[L2537,T34,P3] LOAD V1_6,#148

t

[L2541,T34,P3] A944

f

[L2538,T34,P3] LOAD V2_6,#157

[L2539,T34,P3] LOAD D,#0

[L2540,T34,P3] GOTO A945

[L2598,T34,P3] A945

[L2541,T34,P3] CMPS SPEED_VALUE_9,#160

[L2542,T34,P3] JW L,A946

[L2543,T34,P3] LOAD V1_6,#147

t

[L2547,T34,P3] A946

f

[L2544,T34,P3] LOAD V2_6,#157

[L2545,T34,P3] LOAD D,#0

[L2546,T34,P3] GOTO A947

[L2598,T34,P3] A947

[L2547,T34,P3] CMPS SPEED_VALUE_9,#170

[L2548,T34,P3] JW L,A948

[L2549,T34,P3] LOAD V1_6,#147

t

[L2553,T34,P3] A948

f

[L2550,T34,P3] LOAD V2_6,#156

[L2551,T34,P3] LOAD D,#0

[L2552,T34,P3] GOTO A949

[L2598,T34,P3] A949

[L2553,T34,P3] CMPS SPEED_VALUE_9,#180

[L2554,T34,P3] JW L,A950

[L2555,T34,P3] LOAD V1_6,#147

t

[L2559,T34,P3] A950

f

[L2556,T34,P3] LOAD V2_6,#156

[L2557,T34,P3] LOAD D,#0

[L2558,T34,P3] GOTO A951

[L2598,T34,P3] A951

[L2559,T34,P3] CMPS SPEED_VALUE_9,#190

[L2560,T34,P3] JW L,A952

[L2561,T34,P3] LOAD V1_6,#147

t

[L2565,T34,P3] A952

f

[L2562,T34,P3] LOAD V2_6,#155

[L2563,T34,P3] LOAD D,#0

[L2564,T34,P3] GOTO A953

[L2598,T34,P3] A953

[L2565,T34,P3] CMPS SPEED_VALUE_9,#200

[L2566,T34,P3] JW L,A954

[L2567,T34,P3] LOAD V1_6,#147

t

[L2571,T34,P3] A954

f

[L2568,T34,P3] LOAD V2_6,#155

[L2569,T34,P3] LOAD D,#0

[L2570,T34,P3] GOTO A955

[L2598,T34,P3] A955

[L2571,T34,P3] CMPS SPEED_VALUE_9,#210

[L2572,T34,P3] JW L,A956

[L2573,T34,P3] LOAD V1_6,#147

t

[L2577,T34,P3] A956

f

[L2574,T34,P3] LOAD V2_6,#155

[L2575,T34,P3] LOAD D,#0

[L2576,T34,P3] GOTO A957

[L2598,T34,P3] A957

[L2577,T34,P3] CMPS SPEED_VALUE_9,#220

[L2578,T34,P3] JW L,A958

[L2579,T34,P3] LOAD V1_6,#147

t

[L2583,T34,P3] A958

f

[L2580,T34,P3] LOAD V2_6,#155

[L2581,T34,P3] LOAD D,#0

[L2582,T34,P3] GOTO A959

[L2598,T34,P3] A959

[L2583,T34,P3] CMPS SPEED_VALUE_9,#230

[L2584,T34,P3] JW L,A960

[L2585,T34,P3] LOAD V1_6,#147

t

[L2589,T34,P3] A960

f

[L2586,T34,P3] LOAD V2_6,#155

[L2587,T34,P3] LOAD D,#0

[L2588,T34,P3] GOTO A961

[L2598,T34,P3] A961

[L2589,T34,P3] CMPS SPEED_VALUE_9,#240

[L2590,T34,P3] JW L,A962

[L2591,T34,P3] LOAD V1_6,#147

t

[L2595,T34,P3] A962

f

[L2592,T34,P3] LOAD V2_6,#155

[L2593,T34,P3] LOAD D,#0

[L2594,T34,P3] GOTO A963

[L2598,T34,P3] A963

[L2595,T34,P3] LOAD V1_6,#147

[L2596,T34,P3] LOAD V2_6,#155

[L2597,T34,P3] LOAD D,#0

[L2598,T34,P3] EXIT AWAIT_CASE_11,A881

[L2599,T34,P3] GOTO A880

[L2600,T34,P3] GOTO A878 [L2601,T35,P3] A964

[L2601,T35,P3] LOAD CURRENT_VALUE_7,#0

[L2602,T35,P3] LOAD OLD_VALUE_8,#0

[L2603,T35,P3] LOAD CONTROL_VALUE_7,#0

[L2604,T35,P3] LOAD DIRECTION_9,#1

[L2605,T35,P3] LOAD V1_7,#160

[L2606,T35,P3] LOAD V2_7,#180

[L2607,T35,P3] ABORT RESET,A965

[L2608,T35,P3] A966

[L2608,T35,P3] EMIT VER_ACC_MED_MOT_FRONT

[L2609,T35,P3] SETV VER_ACC_MED_MOT_FRONT,CONTROL_VALUE_7

[L4309,T53,P2] PRESENT VER_ACC_MED_MOT_FRONT,A1613

i

[L4321,T53,P2] LOAD CTRL_6_VAL,?VER_ACC_MED_MOT_FRONT

i

[L2610,T35,P1] PRIO 1

[L2611,T35,P1] LOAD OLD_VALUE_8,CURRENT_VALUE_7

[L2612,T35,P1] A967

[L2612,T35,P1] A968

[L2612,T35,P1] A969

[L2612,T35,P1] A970

[L2612,T35,P3] PRIO 3

[L2613,T35,P1/3] PAUSE

[L2793,T35,P3] A965

RESET

s

[L2615,T35,P3] EXIT AC_24,A968

t

[L2616,T35,P3] A971

f

[L2668,T35,P3] AC_24

[L2617,T35,P3] EXIT AC_25,A969

t

[L2618,T35,P1] A972

f

[L2620,T35,P3] AC_25 [L2618,T35,P1] PRIO 1

[L2619,T35,P1] GOTO A970

[L2621,T35,P3] CMPS CURRENT_VALUE_7,OLD_VALUE_8

[L2622,T35,P3] JW L,A973

[L2623,T35,P3] LOAD DIRECTION_9,#0

t

[L2625,T35,P3] A973

f

[L2624,T35,P3] GOTO A974

[L2628,T35,P3] A974

[L2625,T35,P3] CMPS CURRENT_VALUE_7,OLD_VALUE_8

[L2626,T35,P3] JW G,A975

[L2627,T35,P3] LOAD DIRECTION_9,#1

t

[L2628,T35,P3] A975

f

[L2628,T35,P3] CMPS DIRECTION_9,#1

[L2629,T35,P3] JW EE,A976

[L2630,T35,P3] CMPS CURRENT_VALUE_7,V1_7

t

[L2640,T35,P3] A976

f

[L2631,T35,P3] JW L,A978

[L2632,T35,P3] LOAD CONTROL_VALUE_7,#0

t

[L2634,T35,P3] A978

f

[L2633,T35,P3] GOTO A979

[L2639,T35,P3] A979

[L2634,T35,P3] CMPS CURRENT_VALUE_7,V2_7

[L2635,T35,P3] JW L,A980

[L2636,T35,P3] LOAD CONTROL_VALUE_7,#1

t

[L2638,T35,P3] A980

f

[L2637,T35,P3] GOTO A981

[L2639,T35,P3] A981

[L2638,T35,P3] LOAD CONTROL_VALUE_7,#2

[L2639,T35,P3] GOTO A977

[L2667,T35,P3] A977

[L2640,T35,P3] CMPS CURRENT_VALUE_7,V2_7

[L2641,T35,P3] JW G,A982

[L2642,T35,P3] LOAD CONTROL_VALUE_7,#2

t

[L2644,T35,P3] A982

f

[L2643,T35,P3] GOTO A983

[L2667,T35,P3] A983

[L2644,T35,P3] CMPS CURRENT_VALUE_7,V1_7

[L2645,T35,P3] JW G,A984

[L2646,T35,P3] CMPS CONTROL_VALUE_7,#1

t

[L2657,T35,P3] A984

f

[L2647,T35,P3] JW NE,A986

[L2648,T35,P3] CMPS OLD_VALUE_8,V2_7

t

[L2656,T35,P3] A986

f

[L2649,T35,P3] JW G,A987

[L2650,T35,P3] LOAD TIME1_6,#0

t

[L2652,T35,P3] A987

f

[L2651,T35,P3] GOTO A988

[L2656,T35,P3] A988

[L2652,T35,P3] ADD TIME1_6,#1

[L2653,T35,P3] CMPS TIME1_6,#2

[L2654,T35,P3] JW G,A989

[L2655,T35,P3] LOAD CONTROL_VALUE_7,#1

t

[L2656,T35,P3] A989

f

[L2656,T35,P3] GOTO A985

[L2667,T35,P3] A985

[L2657,T35,P3] CMPS CONTROL_VALUE_7,#0

[L2658,T35,P3] JW NE,A990

[L2659,T35,P3] CMPS OLD_VALUE_8,V1_7

t

[L2667,T35,P3] A990

f

[L2660,T35,P3] JW G,A991

[L2661,T35,P3] LOAD TIME2_6,#0

t

[L2663,T35,P3] A991

f

[L2662,T35,P3] GOTO A992

[L2667,T35,P3] A992

[L2663,T35,P3] ADD TIME2_6,#1

[L2664,T35,P3] CMPS TIME2_6,#6

[L2665,T35,P3] JW G,A993

[L2666,T35,P3] LOAD CONTROL_VALUE_7,#0

t

[L2667,T35,P3] A993

f

[L2667,T35,P3] EXIT AWAIT_CASE_12,A967

[L2792,T35,P3] AWAIT_CASE_12

[L2669,T35,P3] CMPS SPEED_VALUE_10,#10

[L2670,T35,P3] JW L,A994

[L2671,T35,P3] LOAD V1_7,#160

t

[L2674,T35,P3] A994

f

[L2672,T35,P3] LOAD V2_7,#180

[L2673,T35,P3] GOTO A995

[L2791,T35,P3] A995

[L2674,T35,P3] CMPS SPEED_VALUE_10,#20

[L2675,T35,P3] JW L,A996

[L2676,T35,P3] LOAD V1_7,#160

t[L2679,T35,P3] A996

f

[L2677,T35,P3] LOAD V2_7,#180

[L2678,T35,P3] GOTO A997

[L2791,T35,P3] A997

[L2679,T35,P3] CMPS SPEED_VALUE_10,#30

[L2680,T35,P3] JW L,A998

[L2681,T35,P3] LOAD V1_7,#160

t

[L2684,T35,P3] A998

f

[L2682,T35,P3] LOAD V2_7,#180

[L2683,T35,P3] GOTO A999

[L2791,T35,P3] A999

[L2684,T35,P3] CMPS SPEED_VALUE_10,#40

[L2685,T35,P3] JW L,A1000

[L2686,T35,P3] LOAD V1_7,#160

t

[L2689,T35,P3] A1000

f

[L2687,T35,P3] LOAD V2_7,#180

[L2688,T35,P3] GOTO A1001

[L2791,T35,P3] A1001

[L2689,T35,P3] CMPS SPEED_VALUE_10,#50

[L2690,T35,P3] JW L,A1002

[L2691,T35,P3] LOAD V1_7,#160

t

[L2694,T35,P3] A1002

f

[L2692,T35,P3] LOAD V2_7,#180

[L2693,T35,P3] GOTO A1003

[L2791,T35,P3] A1003

[L2694,T35,P3] CMPS SPEED_VALUE_10,#60

[L2695,T35,P3] JW L,A1004

[L2696,T35,P3] LOAD V1_7,#160

t[L2699,T35,P3] A1004

f

[L2697,T35,P3] LOAD V2_7,#180

[L2698,T35,P3] GOTO A1005

[L2791,T35,P3] A1005

[L2699,T35,P3] CMPS SPEED_VALUE_10,#70

[L2700,T35,P3] JW L,A1006

[L2701,T35,P3] LOAD V1_7,#160

t

[L2704,T35,P3] A1006

f

[L2702,T35,P3] LOAD V2_7,#180

[L2703,T35,P3] GOTO A1007

[L2791,T35,P3] A1007

[L2704,T35,P3] CMPS SPEED_VALUE_10,#80

[L2705,T35,P3] JW L,A1008

[L2706,T35,P3] LOAD V1_7,#160

t[L2709,T35,P3] A1008

f

[L2707,T35,P3] LOAD V2_7,#180

[L2708,T35,P3] GOTO A1009

[L2791,T35,P3] A1009

[L2709,T35,P3] CMPS SPEED_VALUE_10,#90

[L2710,T35,P3] JW L,A1010

[L2711,T35,P3] LOAD V1_7,#160

t

[L2714,T35,P3] A1010

f

[L2712,T35,P3] LOAD V2_7,#180

[L2713,T35,P3] GOTO A1011

[L2791,T35,P3] A1011

[L2714,T35,P3] CMPS SPEED_VALUE_10,#100

[L2715,T35,P3] JW L,A1012

[L2716,T35,P3] LOAD V1_7,#160

t[L2719,T35,P3] A1012

f

[L2717,T35,P3] LOAD V2_7,#180

[L2718,T35,P3] GOTO A1013

[L2791,T35,P3] A1013

[L2719,T35,P3] CMPS SPEED_VALUE_10,#110

[L2720,T35,P3] JW L,A1014

[L2721,T35,P3] LOAD V1_7,#160

t

[L2724,T35,P3] A1014

f

[L2722,T35,P3] LOAD V2_7,#180

[L2723,T35,P3] GOTO A1015

[L2791,T35,P3] A1015

[L2724,T35,P3] CMPS SPEED_VALUE_10,#120

[L2725,T35,P3] JW L,A1016

[L2726,T35,P3] LOAD V1_7,#157

t [L2729,T35,P3] A1016

f

[L2727,T35,P3] LOAD V2_7,#179

[L2728,T35,P3] GOTO A1017

[L2791,T35,P3] A1017

[L2729,T35,P3] CMPS SPEED_VALUE_10,#130

[L2730,T35,P3] JW L,A1018

[L2731,T35,P3] LOAD V1_7,#155

t

[L2734,T35,P3] A1018

f

[L2732,T35,P3] LOAD V2_7,#178

[L2733,T35,P3] GOTO A1019

[L2791,T35,P3] A1019

[L2734,T35,P3] CMPS SPEED_VALUE_10,#140

[L2735,T35,P3] JW L,A1020

[L2736,T35,P3] LOAD V1_7,#154

t

[L2739,T35,P3] A1020

f

[L2737,T35,P3] LOAD V2_7,#175

[L2738,T35,P3] GOTO A1021

[L2791,T35,P3] A1021

[L2739,T35,P3] CMPS SPEED_VALUE_10,#150

[L2740,T35,P3] JW L,A1022

[L2741,T35,P3] LOAD V1_7,#151

t

[L2744,T35,P3] A1022

f

[L2742,T35,P3] LOAD V2_7,#174

[L2743,T35,P3] GOTO A1023

[L2791,T35,P3] A1023

[L2744,T35,P3] CMPS SPEED_VALUE_10,#160

[L2745,T35,P3] JW L,A1024

[L2746,T35,P3] LOAD V1_7,#148

t

[L2749,T35,P3] A1024

f

[L2747,T35,P3] LOAD V2_7,#172

[L2748,T35,P3] GOTO A1025

[L2791,T35,P3] A1025

[L2749,T35,P3] CMPS SPEED_VALUE_10,#170

[L2750,T35,P3] JW L,A1026

[L2751,T35,P3] LOAD V1_7,#148

t

[L2754,T35,P3] A1026

f

[L2752,T35,P3] LOAD V2_7,#170

[L2753,T35,P3] GOTO A1027

[L2791,T35,P3] A1027

[L2754,T35,P3] CMPS SPEED_VALUE_10,#180

[L2755,T35,P3] JW L,A1028

[L2756,T35,P3] LOAD V1_7,#148

t

[L2759,T35,P3] A1028

f

[L2757,T35,P3] LOAD V2_7,#170

[L2758,T35,P3] GOTO A1029

[L2791,T35,P3] A1029

[L2759,T35,P3] CMPS SPEED_VALUE_10,#190

[L2760,T35,P3] JW L,A1030

[L2761,T35,P3] LOAD V1_7,#148

t

[L2764,T35,P3] A1030

f

[L2762,T35,P3] LOAD V2_7,#170

[L2763,T35,P3] GOTO A1031

[L2791,T35,P3] A1031

[L2764,T35,P3] CMPS SPEED_VALUE_10,#200

[L2765,T35,P3] JW L,A1032

[L2766,T35,P3] LOAD V1_7,#148

t

[L2769,T35,P3] A1032

f

[L2767,T35,P3] LOAD V2_7,#170

[L2768,T35,P3] GOTO A1033

[L2791,T35,P3] A1033

[L2769,T35,P3] CMPS SPEED_VALUE_10,#210

[L2770,T35,P3] JW L,A1034

[L2771,T35,P3] LOAD V1_7,#148

t

[L2774,T35,P3] A1034

f

[L2772,T35,P3] LOAD V2_7,#170

[L2773,T35,P3] GOTO A1035

[L2791,T35,P3] A1035

[L2774,T35,P3] CMPS SPEED_VALUE_10,#220

[L2775,T35,P3] JW L,A1036

[L2776,T35,P3] LOAD V1_7,#148

t

[L2779,T35,P3] A1036

f

[L2777,T35,P3] LOAD V2_7,#170

[L2778,T35,P3] GOTO A1037

[L2791,T35,P3] A1037

[L2779,T35,P3] CMPS SPEED_VALUE_10,#230

[L2780,T35,P3] JW L,A1038

[L2781,T35,P3] LOAD V1_7,#148

t

[L2784,T35,P3] A1038

f

[L2782,T35,P3] LOAD V2_7,#170

[L2783,T35,P3] GOTO A1039

[L2791,T35,P3] A1039

[L2784,T35,P3] CMPS SPEED_VALUE_10,#240

[L2785,T35,P3] JW L,A1040

[L2786,T35,P3] LOAD V1_7,#148

t

[L2789,T35,P3] A1040

f

[L2787,T35,P3] LOAD V2_7,#170

[L2788,T35,P3] GOTO A1041

[L2791,T35,P3] A1041

[L2789,T35,P3] LOAD V1_7,#148

[L2790,T35,P3] LOAD V2_7,#170

[L2791,T35,P3] EXIT AWAIT_CASE_12,A967

[L2792,T35,P3] GOTO A966

[L2793,T35,P3] GOTO A964

[L2794,T36,P3] A1042

[L2794,T36,P3] LOAD CURRENT_VALUE_8,#0

[L2795,T36,P3] LOAD OLD_VALUE_9,#0

[L2796,T36,P3] LOAD CONTROL_VALUE_8,#0

[L2797,T36,P3] LOAD DIRECTION_10,#1

[L2798,T36,P3] LOAD V1_8,#160

[L2799,T36,P3] LOAD V2_8,#180

[L2800,T36,P3] LOAD D_0,#45

[L2801,T36,P3] ABORT RESET,A1043

[L2802,T36,P3] A1044

[L2802,T36,P3] EMIT VER_ACC_MED_MOT_REAR

[L2803,T36,P3] SETV VER_ACC_MED_MOT_REAR,CONTROL_VALUE_8

[L4411,T54,P2] PRESENT VER_ACC_MED_MOT_REAR,A1654

i

[L4423,T54,P2] LOAD CTRL_6_VAL_0,?VER_ACC_MED_MOT_REAR

i

[L2804,T36,P1] PRIO 1

[L2805,T36,P1] LOAD OLD_VALUE_9,CURRENT_VALUE_8

[L2806,T36,P1] A1045

[L2806,T36,P1] A1046

[L2806,T36,P1] A1047

[L2806,T36,P1] A1048

[L2806,T36,P3] PRIO 3

[L2807,T36,P1/3] PAUSE

[L3034,T36,P3] A1043

RESET

s

[L2809,T36,P3] EXIT AC_26,A1046

t

[L2810,T36,P3] A1049

f

[L2884,T36,P3] AC_26

[L2811,T36,P3] EXIT AC_27,A1047

t

[L2812,T36,P1] A1050

f

[L2814,T36,P3] AC_27 [L2812,T36,P1] PRIO 1

[L2813,T36,P1] GOTO A1048

[L2815,T36,P3] CMPS CURRENT_VALUE_8,OLD_VALUE_9

[L2816,T36,P3] JW L,A1051

[L2817,T36,P3] LOAD DIRECTION_10,#0

t

[L2819,T36,P3] A1051

f

[L2818,T36,P3] GOTO A1052

[L2822,T36,P3] A1052

[L2819,T36,P3] CMPS CURRENT_VALUE_8,OLD_VALUE_9

[L2820,T36,P3] JW G,A1053

[L2821,T36,P3] LOAD DIRECTION_10,#1

t

[L2822,T36,P3] A1053

f

[L2822,T36,P3] CMPS DIRECTION_10,#1

[L2823,T36,P3] JW EE,A1054

[L2824,T36,P3] CMPS CURRENT_VALUE_8,V1_8

t

[L2852,T36,P3] A1054

f

[L2825,T36,P3] JW L,A1056

[L2826,T36,P3] LOAD CONTROL_VALUE_8,#0

t[L2828,T36,P3] A1056

f

[L2827,T36,P3] GOTO A1057

[L2851,T36,P3] A1057

[L2828,T36,P3] CMPS CURRENT_VALUE_8,V2_8

[L2829,T36,P3] JW L,A1058

[L2830,T36,P3] CMPS CONTROL_VALUE_8,#1

t

[L2841,T36,P3] A1058

f

[L2831,T36,P3] JW NE,A1060

[L2832,T36,P3] CMPS OLD_VALUE_9,V1_8

t

[L2840,T36,P3] A1060

f

[L2833,T36,P3] JW L,A1061

[L2834,T36,P3] LOAD TIME_2,#0

t

[L2836,T36,P3] A1061

f

[L2835,T36,P3] GOTO A1062

[L2840,T36,P3] A1062

[L2836,T36,P3] ADD TIME_2,#1

[L2837,T36,P3] CMPS TIME_2,D_0

[L2838,T36,P3] JW G,A1063

[L2839,T36,P3] LOAD CONTROL_VALUE_8,#1

t

[L2840,T36,P3] A1063

f

[L2840,T36,P3] GOTO A1059

[L2851,T36,P3] A1059

[L2841,T36,P3] CMPS CONTROL_VALUE_8,#2

[L2842,T36,P3] JW NE,A1064

[L2843,T36,P3] CMPS OLD_VALUE_9,V2_8

t

[L2851,T36,P3] A1064

f

[L2844,T36,P3] JW L,A1065

[L2845,T36,P3] LOAD TIME_2,#0

t

[L2847,T36,P3] A1065

f

[L2846,T36,P3] GOTO A1066

[L2851,T36,P3] A1066

[L2847,T36,P3] ADD TIME_2,#1

[L2848,T36,P3] CMPS TIME_2,D_0

[L2849,T36,P3] JW G,A1067

[L2850,T36,P3] LOAD CONTROL_VALUE_8,#2

t

[L2851,T36,P3] A1067

f

[L2851,T36,P3] GOTO A1055

[L2883,T36,P3] A1055

[L2852,T36,P3] CMPS CURRENT_VALUE_8,V2_8

[L2853,T36,P3] JW G,A1068

[L2854,T36,P3] LOAD CONTROL_VALUE_8,#2

t

[L2856,T36,P3] A1068

f

[L2855,T36,P3] GOTO A1069

[L2883,T36,P3] A1069

[L2856,T36,P3] CMPS CURRENT_VALUE_8,V1_8

[L2857,T36,P3] JW G,A1070

[L2858,T36,P3] CMPS CONTROL_VALUE_8,#1

t

[L2871,T36,P3] A1070

f

[L2859,T36,P3] JW NE,A1072

[L2860,T36,P3] CMPS OLD_VALUE_9,V2_8

t

[L2870,T36,P3] A1072

f

[L2861,T36,P3] JW G,A1073

[L2862,T36,P3] LOAD TIME_2,#0

t

[L2864,T36,P3] A1073

f

[L2863,T36,P3] GOTO A1074

[L2870,T36,P3] A1074

[L2864,T36,P3] ADD TIME_2,#1

[L2865,T36,P3] LOAD REG33,D_0

[L2866,T36,P3] ADD REG33,#2

[L2867,T36,P3] CMPS TIME_2,REG33

[L2868,T36,P3] JW G,A1075

[L2869,T36,P3] LOAD CONTROL_VALUE_8,#1

t

[L2870,T36,P3] A1075

f

[L2870,T36,P3] GOTO A1071

[L2883,T36,P3] A1071

[L2871,T36,P3] CMPS CONTROL_VALUE_8,#0

[L2872,T36,P3] JW NE,A1076

[L2873,T36,P3] CMPS OLD_VALUE_9,V1_8

t

[L2883,T36,P3] A1076

f

[L2874,T36,P3] JW G,A1077

[L2875,T36,P3] LOAD TIME_2,#0

t

[L2877,T36,P3] A1077

f

[L2876,T36,P3] GOTO A1078

[L2883,T36,P3] A1078

[L2877,T36,P3] ADD TIME_2,#1

[L2878,T36,P3] LOAD REG34,D_0

[L2879,T36,P3] ADD REG34,#6

[L2880,T36,P3] CMPS TIME_2,REG34

[L2881,T36,P3] JW G,A1079

[L2882,T36,P3] LOAD CONTROL_VALUE_8,#0

t

[L2883,T36,P3] A1079

f

[L2883,T36,P3] EXIT AWAIT_CASE_13,A1045

[L3033,T36,P3] AWAIT_CASE_13

[L2885,T36,P3] CMPS SPEED_VALUE_11,#10

[L2886,T36,P3] JW L,A1080

[L2887,T36,P3] LOAD V1_8,#160

t

[L2891,T36,P3] A1080

f

[L2888,T36,P3] LOAD V2_8,#180

[L2889,T36,P3] LOAD D_0,#45

[L2890,T36,P3] GOTO A1081

[L3032,T36,P3] A1081

[L2891,T36,P3] CMPS SPEED_VALUE_11,#20

[L2892,T36,P3] JW L,A1082

[L2893,T36,P3] LOAD V1_8,#160

t

[L2897,T36,P3] A1082

f

[L2894,T36,P3] LOAD V2_8,#180

[L2895,T36,P3] LOAD D_0,#23

[L2896,T36,P3] GOTO A1083

[L3032,T36,P3] A1083

[L2897,T36,P3] CMPS SPEED_VALUE_11,#30

[L2898,T36,P3] JW L,A1084

[L2899,T36,P3] LOAD V1_8,#160

t

[L2903,T36,P3] A1084

f

[L2900,T36,P3] LOAD V2_8,#180

[L2901,T36,P3] LOAD D_0,#15

[L2902,T36,P3] GOTO A1085

[L3032,T36,P3] A1085

[L2903,T36,P3] CMPS SPEED_VALUE_11,#40

[L2904,T36,P3] JW L,A1086

[L2905,T36,P3] LOAD V1_8,#160

t

[L2909,T36,P3] A1086

f

[L2906,T36,P3] LOAD V2_8,#180

[L2907,T36,P3] LOAD D_0,#11

[L2908,T36,P3] GOTO A1087

[L3032,T36,P3] A1087

[L2909,T36,P3] CMPS SPEED_VALUE_11,#50

[L2910,T36,P3] JW L,A1088

[L2911,T36,P3] LOAD V1_8,#160

t

[L2915,T36,P3] A1088

f

[L2912,T36,P3] LOAD V2_8,#180

[L2913,T36,P3] LOAD D_0,#9

[L2914,T36,P3] GOTO A1089

[L3032,T36,P3] A1089

[L2915,T36,P3] CMPS SPEED_VALUE_11,#60

[L2916,T36,P3] JW L,A1090

[L2917,T36,P3] LOAD V1_8,#160

t

[L2921,T36,P3] A1090

f

[L2918,T36,P3] LOAD V2_8,#180

[L2919,T36,P3] LOAD D_0,#7

[L2920,T36,P3] GOTO A1091

[L3032,T36,P3] A1091

[L2921,T36,P3] CMPS SPEED_VALUE_11,#70

[L2922,T36,P3] JW L,A1092

[L2923,T36,P3] LOAD V1_8,#160

t

[L2927,T36,P3] A1092

f

[L2924,T36,P3] LOAD V2_8,#180

[L2925,T36,P3] LOAD D_0,#5

[L2926,T36,P3] GOTO A1093

[L3032,T36,P3] A1093

[L2927,T36,P3] CMPS SPEED_VALUE_11,#80

[L2928,T36,P3] JW L,A1094

[L2929,T36,P3] LOAD V1_8,#160

t

[L2933,T36,P3] A1094

f

[L2930,T36,P3] LOAD V2_8,#180

[L2931,T36,P3] LOAD D_0,#4

[L2932,T36,P3] GOTO A1095

[L3032,T36,P3] A1095

[L2933,T36,P3] CMPS SPEED_VALUE_11,#90

[L2934,T36,P3] JW L,A1096

[L2935,T36,P3] LOAD V1_8,#160

t

[L2939,T36,P3] A1096

f

[L2936,T36,P3] LOAD V2_8,#180

[L2937,T36,P3] LOAD D_0,#4

[L2938,T36,P3] GOTO A1097

[L3032,T36,P3] A1097

[L2939,T36,P3] CMPS SPEED_VALUE_11,#100

[L2940,T36,P3] JW L,A1098

[L2941,T36,P3] LOAD V1_8,#160

t

[L2945,T36,P3] A1098

f

[L2942,T36,P3] LOAD V2_8,#180

[L2943,T36,P3] LOAD D_0,#4

[L2944,T36,P3] GOTO A1099

[L3032,T36,P3] A1099

[L2945,T36,P3] CMPS SPEED_VALUE_11,#110

[L2946,T36,P3] JW L,A1100

[L2947,T36,P3] LOAD V1_8,#160

t

[L2951,T36,P3] A1100

f

[L2948,T36,P3] LOAD V2_8,#180

[L2949,T36,P3] LOAD D_0,#3

[L2950,T36,P3] GOTO A1101

[L3032,T36,P3] A1101

[L2951,T36,P3] CMPS SPEED_VALUE_11,#120

[L2952,T36,P3] JW L,A1102

[L2953,T36,P3] LOAD V1_8,#157

t

[L2957,T36,P3] A1102

f

[L2954,T36,P3] LOAD V2_8,#179

[L2955,T36,P3] LOAD D_0,#3

[L2956,T36,P3] GOTO A1103

[L3032,T36,P3] A1103

[L2957,T36,P3] CMPS SPEED_VALUE_11,#130

[L2958,T36,P3] JW L,A1104

[L2959,T36,P3] LOAD V1_8,#155

t

[L2963,T36,P3] A1104

f

[L2960,T36,P3] LOAD V2_8,#178

[L2961,T36,P3] LOAD D_0,#2

[L2962,T36,P3] GOTO A1105

[L3032,T36,P3] A1105

[L2963,T36,P3] CMPS SPEED_VALUE_11,#140

[L2964,T36,P3] JW L,A1106

[L2965,T36,P3] LOAD V1_8,#154

t

[L2969,T36,P3] A1106

f

[L2966,T36,P3] LOAD V2_8,#175

[L2967,T36,P3] LOAD D_0,#2

[L2968,T36,P3] GOTO A1107

[L3032,T36,P3] A1107

[L2969,T36,P3] CMPS SPEED_VALUE_11,#150

[L2970,T36,P3] JW L,A1108

[L2971,T36,P3] LOAD V1_8,#151

t

[L2975,T36,P3] A1108

f

[L2972,T36,P3] LOAD V2_8,#174

[L2973,T36,P3] LOAD D_0,#1

[L2974,T36,P3] GOTO A1109

[L3032,T36,P3] A1109

[L2975,T36,P3] CMPS SPEED_VALUE_11,#160

[L2976,T36,P3] JW L,A1110

[L2977,T36,P3] LOAD V1_8,#148

t

[L2981,T36,P3] A1110

f

[L2978,T36,P3] LOAD V2_8,#172

[L2979,T36,P3] LOAD D_0,#0

[L2980,T36,P3] GOTO A1111

[L3032,T36,P3] A1111

[L2981,T36,P3] CMPS SPEED_VALUE_11,#170

[L2982,T36,P3] JW L,A1112

[L2983,T36,P3] LOAD V1_8,#148

t

[L2987,T36,P3] A1112

f

[L2984,T36,P3] LOAD V2_8,#170

[L2985,T36,P3] LOAD D_0,#0

[L2986,T36,P3] GOTO A1113

[L3032,T36,P3] A1113

[L2987,T36,P3] CMPS SPEED_VALUE_11,#180

[L2988,T36,P3] JW L,A1114

[L2989,T36,P3] LOAD V1_8,#148

t

[L2993,T36,P3] A1114

f

[L2990,T36,P3] LOAD V2_8,#170

[L2991,T36,P3] LOAD D_0,#0

[L2992,T36,P3] GOTO A1115

[L3032,T36,P3] A1115

[L2993,T36,P3] CMPS SPEED_VALUE_11,#190

[L2994,T36,P3] JW L,A1116

[L2995,T36,P3] LOAD V1_8,#148

t

[L2999,T36,P3] A1116

f

[L2996,T36,P3] LOAD V2_8,#170

[L2997,T36,P3] LOAD D_0,#0

[L2998,T36,P3] GOTO A1117

[L3032,T36,P3] A1117

[L2999,T36,P3] CMPS SPEED_VALUE_11,#200

[L3000,T36,P3] JW L,A1118

[L3001,T36,P3] LOAD V1_8,#148

t

[L3005,T36,P3] A1118

f

[L3002,T36,P3] LOAD V2_8,#170

[L3003,T36,P3] LOAD D_0,#0

[L3004,T36,P3] GOTO A1119

[L3032,T36,P3] A1119

[L3005,T36,P3] CMPS SPEED_VALUE_11,#210

[L3006,T36,P3] JW L,A1120

[L3007,T36,P3] LOAD V1_8,#148

t

[L3011,T36,P3] A1120

f

[L3008,T36,P3] LOAD V2_8,#170

[L3009,T36,P3] LOAD D_0,#0

[L3010,T36,P3] GOTO A1121

[L3032,T36,P3] A1121

[L3011,T36,P3] CMPS SPEED_VALUE_11,#220

[L3012,T36,P3] JW L,A1122

[L3013,T36,P3] LOAD V1_8,#148

t

[L3017,T36,P3] A1122

f

[L3014,T36,P3] LOAD V2_8,#170

[L3015,T36,P3] LOAD D_0,#0

[L3016,T36,P3] GOTO A1123

[L3032,T36,P3] A1123

[L3017,T36,P3] CMPS SPEED_VALUE_11,#230

[L3018,T36,P3] JW L,A1124

[L3019,T36,P3] LOAD V1_8,#148

t

[L3023,T36,P3] A1124

f

[L3020,T36,P3] LOAD V2_8,#170

[L3021,T36,P3] LOAD D_0,#0

[L3022,T36,P3] GOTO A1125

[L3032,T36,P3] A1125

[L3023,T36,P3] CMPS SPEED_VALUE_11,#240

[L3024,T36,P3] JW L,A1126

[L3025,T36,P3] LOAD V1_8,#148

t

[L3029,T36,P3] A1126

f

[L3026,T36,P3] LOAD V2_8,#170

[L3027,T36,P3] LOAD D_0,#0

[L3028,T36,P3] GOTO A1127

[L3032,T36,P3] A1127

[L3029,T36,P3] LOAD V1_8,#148

[L3030,T36,P3] LOAD V2_8,#170

[L3031,T36,P3] LOAD D_0,#0

[L3032,T36,P3] EXIT AWAIT_CASE_13,A1045

[L3033,T36,P3] GOTO A1044

[L3034,T36,P3] GOTO A1042

[L3035,T28,P5] JOIN 0

[L3036,T37,P4] SIGNAL CORR_ERR

[L3037,T37,P4] SIGNALV ANG

[L3038,T37,P4] SIGNALV ANG_CORR

[L3039,T37,P4] SIGNAL CAL_ERR

[L3040,T37,P4] SIGNAL DIAG_ERR

[L3041,T37,P4] SIGNAL IGNORED_5

[L3048,T37,P4/4] PAR*

[L3049,T38,P1] A1128

1

[L3209,T41,P4] A1129

4

[L3293,T42,P3] A1130

3

[L3486,T43,P3] A1131

3

[L3679,T44,P3] A1132

3

[L3757,T45,P1] A1133

1

[L3049,T38,P1] SIGNAL INIT

[L3050,T38,P1] SIGNAL IGNORED_6

[L3053,T38,P1/1] PAR*

[L3054,T39,P1] A1135

1

[L3116,T40,P1] A1136

1

[L3054,T39,P1] A1138

[L3054,T39,P1] LOAD STEER1_VALUE,#0

[L3055,T39,P1] LOAD STEER2_VALUE,#0

[L3056,T39,P1] LOAD STEER_VALUE,#0

[L3057,T39,P1] LOAD SPEED_VALUE_12,#0

[L3058,T39,P1] LOAD INIT_TIME,#0

[L3059,T39,P1] ABORT RESET,A1139

[L3060,T39,P1] A1140

[L3060,T39,P1] A1141

[L3060,T39,P1] A1142

[L3060,T39,P6] PRIO 6

[L3061,T39,P1/6] PAUSE

[L3114,T39,P1] A1139

RESET

s

[L3063,T39,P6] GOTO A1144

t

[L3064,T39,P6] A1148

f

[L3071,T39,P6] A1144

[L3065,T39,P6] GOTO A1144

t

[L3066,T39,P6] A1147

f

[L3067,T39,P6] GOTO A1144

t

[L3068,T39,P6] A1146

f

[L3069,T39,P6] GOTO A1144

t

[L3070,T39,P6] A1145

f

[L3070,T39,P6] PRESENT CLOCK_24,A1143

t

[L3072,T39,P1] A1143

f

[L3071,T39,P6] EXIT AWAIT_OP_2,A1141

[L3074,T39,P6] AWAIT_OP_2

[L3072,T39,P1] PRIO 1

[L3073,T39,P1] GOTO A1142

t

[L3076,T39,P6] A1149

f

t

[L3078,T39,P6] A1150

f

t

[L3080,T39,P6] A1151

f

t

[L3082,T39,P6] A1152

f

[L3082,T39,P6] PRESENT CLOCK_24,A1153

[L3083,T39,P6] ADD INIT_TIME,#1

t

[L3084,T39,P6] A1153

f

[L3084,T39,P6] LOAD REG35,#0

[L3085,T39,P6] CMPS REG35,#1

[L3086,T39,P6] JW EE,A1154

[L3087,T39,P6] CMPS STEER1_VALUE,#1

t

[L3112,T39,P1] A1154

f

[L3088,T39,P6] JW EE,A1154

[L3089,T39,P6] LOAD REG35,#0

t

f

[L3090,T39,P6] CMPS REG35,#1

[L3091,T39,P6] JW EE,A1154

[L3092,T39,P6] CMPS STEER2_VALUE,#1

t

f

[L3093,T39,P6] JW EE,A1154

[L3094,T39,P6] LOAD REG35,#0

t

f

[L3095,T39,P6] CMPS REG35,#1

[L3096,T39,P6] JW EE,A1154

[L3097,T39,P6] CMPS STEER_VALUE,#1

t

f

[L3098,T39,P6] JW EE,A1154

[L3099,T39,P6] CMPS INIT_TIME,#65000

t

f

[L3100,T39,P6] JW L,A1157

[L3101,T39,P6] CMPS SPEED_VALUE_12,#12850

t

[L3104,T39,P6] A1157

f

[L3102,T39,P6] JW G,A1157

[L3103,T39,P6] GOTO A1156

t f

[L3108,T39,P6] A1156

[L3104,T39,P6] CMPS INIT_TIME,#65000

[L3105,T39,P6] JW GE,A1155

[L3106,T39,P6] CMPS SPEED_VALUE_12,#7710

t

[L3112,T39,P1] A1155

f

[L3107,T39,P6] JW G,A1155

t f

[L3108,T39,P6] EMIT INIT

[L3109,T39,P1] A1158[L3125,T40,P1/5] PAUSE

d

[L3109,T39,P1] PRIO 1

[L3110,T39,P1/1] PAUSE

[L3111,T39,P1] GOTO A1158

RESET

s

[L3112,T39,P1] PRIO 1

[L3113,T39,P1] GOTO A1140

[L3114,T39,P1] PRIO 1

[L3115,T39,P1] GOTO A1138

[L3116,T40,P1] A1159

[L3116,T40,P1] LOAD STEER1_VALUE_0,#0

[L3117,T40,P1] LOAD STEER2_VALUE_0,#0

[L3118,T40,P1] LOAD STEER1_VALUE_OLD,#0

[L3119,T40,P1] LOAD STEER2_VALUE_OLD,#0

[L3120,T40,P1] LOAD STEER_VALUE_0,#0

[L3121,T40,P1] LOAD INCR,#5

[L3122,T40,P1] LOAD ANG_VALUE,#0

[L3123,T40,P1] ABORT INIT,A1160

[L3124,T40,P1] A1161

[L3124,T40,P5] PRIO 5

[L3128,T40,P5] A1160

INIT

s

[L3126,T40,P1] PRIO 1

[L3127,T40,P1] GOTO A1161

[L3128,T40,P5] ABORT RESET,A1162

[L3129,T40,P5] EMIT ANG

[L3130,T40,P5] SETV ANG,ANG_VALUE

[L3227,T41,P4] PRESENT ANG,A1190

i

[L3241,T41,P4] PRESENT ANG,A1195

i

[L3131,T40,P1] A1163

[L3242,T41,P4] LOAD ANG_VALUE_0,?ANG

i

[L3131,T40,P1] A1164

[L3131,T40,P1] A1165

[L3131,T40,P1] PRIO 1

[L3133,T40,P1/5] PAUSE

[L3134,T40,P5] PRESENT CLOCK_24,A1170

[L3206,T40,P1] A1162

RESET

s

[L3135,T40,P5] GOTO A1167

t

[L3136,T40,P5] A1170

f

[L3141,T40,P5] A1167

[L3137,T40,P5] GOTO A1167

t

[L3138,T40,P5] A1169

f

[L3139,T40,P5] GOTO A1167

t

[L3140,T40,P5] A1168

f

t

[L3142,T40,P1] A1166

f

[L3141,T40,P5] EXIT AWAIT_OP_3,A1164

[L3144,T40,P5] AWAIT_OP_3

[L3142,T40,P1] PRIO 1

[L3143,T40,P1] GOTO A1165

t

[L3164,T40,P5] A1171

f

[L3146,T40,P5] LOAD REG36,#0

[L3147,T40,P5] CMPS REG36,#1

[L3148,T40,P5] JW EE,A1172

[L3149,T40,P5] CMPS STEER1_VALUE_OLD,#1

t

[L3163,T40,P5] A1172

f

[L3150,T40,P5] JW EE,A1172

[L3151,T40,P5] LOAD REG36,#1

t

f

[L3152,T40,P5] CMPS REG36,#1

[L3153,T40,P5] JW EE,A1172

[L3154,T40,P5] CMPS STEER1_VALUE_0,#1

t

f

[L3155,T40,P5] JW EE,A1172

[L3156,T40,P5] CMPS STEER2_VALUE_0,#1

t

f

[L3157,T40,P5] JW EE,A1173

[L3158,T40,P5] CMPS STEER1_VALUE_OLD,#1

t

[L3162,T40,P5] A1173

f

[L3159,T40,P5] JW EE,A1173

[L3160,T40,P5] ADD ANG_VALUE,INCR

t f

[L3161,T40,P5] GOTO A1174

[L3163,T40,P5] A1174

[L3162,T40,P5] SUB ANG_VALUE,INCR

[L3163,T40,P5] LOAD STEER1_VALUE_OLD,STEER1_VALUE_0

t

[L3184,T40,P5] A1175

f

[L3166,T40,P5] LOAD REG36,#0

[L3167,T40,P5] CMPS REG36,#1

[L3168,T40,P5] JW EE,A1176

[L3169,T40,P5] CMPS STEER2_VALUE_OLD,#1

t

[L3183,T40,P5] A1176

f

[L3170,T40,P5] JW EE,A1176

[L3171,T40,P5] LOAD REG36,#1

t

f

[L3172,T40,P5] CMPS REG36,#1

[L3173,T40,P5] JW EE,A1176

[L3174,T40,P5] CMPS STEER2_VALUE_0,#1

t

f

[L3175,T40,P5] JW EE,A1176

[L3176,T40,P5] CMPS STEER2_VALUE_OLD,#1

t

f

[L3177,T40,P5] JW EE,A1177

[L3178,T40,P5] CMPS STEER1_VALUE_0,#1

t

[L3182,T40,P5] A1177

f

[L3179,T40,P5] JW EE,A1177

[L3180,T40,P5] SUB ANG_VALUE,INCR

tf

[L3181,T40,P5] GOTO A1178

[L3183,T40,P5] A1178

[L3182,T40,P5] ADD ANG_VALUE,INCR

[L3183,T40,P5] LOAD STEER2_VALUE_OLD,STEER2_VALUE_0

t

[L3186,T40,P5] A1179

f

[L3186,T40,P5] CMPS STEER_VALUE_0,#1

[L3187,T40,P5] JW EE,A1181

[L3188,T40,P5] GOTO A1180

t

[L3189,T40,P5] A1181

f

[L3201,T40,P5] A1180

[L3189,T40,P5] LOAD REG36,#36

[L3190,T40,P5] CMPS ANG_VALUE,REG36

[L3191,T40,P5] JW L,A1183

[L3194,T40,P5] A1183

f

[L3192,T40,P4] PRIO 4

t

[L3193,T40,P4] GOTO A1182

[L3196,T40,P4] A1182

[L3194,T40,P5] CMPS ANG_VALUE,#36

[L3195,T40,P5] JW G,A1180

tf

[L3196,T40,P4] PRIO 4

[L3197,T40,P4] EMIT CAL_ERR

[L3198,T40,P1] A1184

[L3759,T45,P3] PRESENT CAL_ERR,A1393

i

[L3198,T40,P1] PRIO 1

[L3199,T40,P1/1] PAUSE

[L3200,T40,P1] GOTO A1184

RESET

s

[L3201,T40,P5] EMIT ANG

[L3202,T40,P5] SETV ANG,ANG_VALUE

ii

i

[L3203,T40,P1] PRIO 1

[L3204,T40,P1] LOAD INCR,#9

[L3205,T40,P1] GOTO A1163

[L3206,T40,P1] PRIO 1

[L3207,T40,P1] GOTO A1159

[L3208,T38,P1] JOIN 0

[L3209,T41,P4] A1185

[L3209,T41,P4] LOAD ANG_CORR_VALUE,#0

[L3210,T41,P4] LOAD SPEED_VALUE_OLD,#0

[L3211,T41,P4] LOAD SPEED_VALUE_13,#0

[L3212,T41,P4] LOAD ANG_VALUE_0,#0

[L3213,T41,P4] LOAD ZVOL,#0

[L3214,T41,P4] LOAD ZVOL_KT,#0

[L3215,T41,P4] LOAD ZVOLM,#0

[L3216,T41,P4] LOAD K,#5

[L3217,T41,P4] LOAD T_K,#7500

[L3218,T41,P4] LOAD MIN_CORR_K,#384

[L3219,T41,P4] ABORT RESET,A1186

[L3220,T41,P4] A1187

[L3220,T41,P4] EMIT ANG_CORR

[L3221,T41,P4] SETV ANG_CORR,ANG_CORR_VALUE[L3308,T42,P3] PRESENT ANG_CORR,A1212

i

[L3501,T43,P3] PRESENT ANG_CORR,A1290

i

[L3222,T41,P1] A1188

[L3312,T42,P3] LOAD CURRENT_VALUE_9,?ANG_CORR

i

[L3505,T43,P3] LOAD CURRENT_VALUE_10,?ANG_CORR

i

[L3222,T41,P1] A1189

[L3222,T41,P1] PRIO 1

[L3224,T41,P1/4] PAUSE

[L3292,T41,P4] A1186

RESET

s

[L3226,T41,P4] GOTO A1191

t

[L3227,T41,P4] A1192

f

[L3228,T41,P4] A1191

t

[L3229,T41,P1] A1190

f

[L3228,T41,P4] EXIT AWAIT_OP_4,A1188

[L3231,T41,P4] AWAIT_OP_4

[L3229,T41,P1] PRIO 1

[L3230,T41,P1] GOTO A1189

[L3232,T41,P4] LOAD SPEED_VALUE_OLD,SPEED_VALUE_13

t

[L3241,T41,P4] A1193

f

[L3234,T41,P4] CMPS SPEED_VALUE_OLD,#25700

[L3235,T41,P4] JW L,A1194

[L3236,T41,P4] CMPS SPEED_VALUE_13,#25700

t

[L3241,T41,P4] A1194

f

[L3237,T41,P4] JW G,A1194

[L3238,T41,P4] LOAD INIT_0,#1

t

f [L3239,T41,P4] LOAD TIME_3,#0

[L3240,T41,P4] LOAD TIME_KT,#0

t

[L3291,T41,P4] A1195

f

[L3243,T41,P4] CMPS SPEED_VALUE_13,#25700

[L3244,T41,P4] JW G,A1196

[L3245,T41,P4] ADD TIME_KT,#1

t

[L3290,T41,P4] A1196

f

[L3246,T41,P4] CMPS TIME_KT,#90

[L3247,T41,P4] JW EE,A1198

[L3248,T41,P4] LOAD R0,ZVOL_KT

t

[L3266,T41,P4] A1198

f

[L3249,T41,P4] LOAD R1,#8

[L3250,T41,P4] SR R0,R1

[L3251,T41,P4] LOAD REG37,ANG_VALUE_0

[L3252,T41,P4] SUB REG37,R0

[L3253,T41,P4] MUL REG37,K

[L3254,T41,P4] ADD REG37,ZVOL_KT

[L3255,T41,P4] LOAD ZVOL,REG37

[L3256,T41,P4] CMPS ZVOL,#2560

[L3257,T41,P4] JW G,A1199

[L3258,T41,P4] EMIT CORR_ERR

t

[L3264,T41,P4] A1199

f

[L3259,T41,P1] A1200 [L3761,T45,P3] PRESENT CORR_ERR,A1394

i

[L3259,T41,P1] PRIO 1

[L3261,T41,P1/4] PAUSE

RESET

s

[L3262,T41,P1] PRIO 1

[L3263,T41,P1] GOTO A1200

[L3264,T41,P4] LOAD ZVOL_KT,ZVOL

[L3265,T41,P4] LOAD TIME_KT,#0

[L3266,T41,P4] ADD TIME_3,#1

[L3267,T41,P4] CMPS TIME_3,T_K

[L3268,T41,P4] JW EE,A1201

[L3269,T41,P4] CMPS ZVOL,MIN_CORR_K

t

[L3283,T41,P4] A1201

f

[L3270,T41,P4] JW G,A1202

[L3271,T41,P4] ADD ZVOLM,ZVOL

t

[L3273,T41,P4] A1202

f

[L3272,T41,P4] LOAD ZVOL_KT,#0

[L3273,T41,P4] LOAD REG38,#1

[L3274,T41,P4] CMPS REG38,#1

[L3275,T41,P4] JW EE,A1203

[L3276,T41,P4] CMPS INIT_0,#1

t

[L3282,T41,P4] A1203

f

[L3277,T41,P4] JW EE,A1203

[L3278,T41,P4] LOAD INIT_0,#0

t

f

[L3279,T41,P4] LOAD K,#1

[L3280,T41,P4] LOAD T_K,#50000

[L3281,T41,P4] LOAD MIN_CORR_K,#128

[L3282,T41,P4] LOAD TIME_3,#0

[L3283,T41,P4] LOAD R0,ZVOLM

[L3284,T41,P4] LOAD R1,#8

[L3285,T41,P4] SR R0,R1

[L3286,T41,P4] LOAD REG38,R0

[L3287,T41,P4] ADD REG38,ANG_VALUE_0

[L3288,T41,P4] LOAD ANG_CORR_VALUE,REG38

[L3289,T41,P4] GOTO A1197

[L3291,T41,P4] A1197

[L3290,T41,P4] LOAD ANG_CORR_VALUE,ANG_VALUE_0

[L3291,T41,P4] GOTO A1187

[L3292,T41,P4] GOTO A1185

[L3293,T42,P3] A1204

[L3293,T42,P3] LOAD CURRENT_VALUE_9,#0

[L3294,T42,P3] LOAD OLD_VALUE_10,#0

[L3295,T42,P3] LOAD CONTROL_VALUE_9,#0

[L3296,T42,P3] LOAD DIRECTION_11,#1

[L3297,T42,P3] LOAD V1_9,#2040

[L3298,T42,P3] LOAD V2_9,#2040

[L3299,T42,P3] ABORT RESET,A1205

[L3300,T42,P3] A1206

[L3300,T42,P3] EMIT STEER_ANG_MOT_FRONT

[L3301,T42,P3] SETV STEER_ANG_MOT_FRONT,CONTROL_VALUE_9 [L4311,T53,P2] PRESENT STEER_ANG_MOT_FRONT,A1614

i

[L4319,T53,P2] LOAD CTRL_7_VAL,?STEER_ANG_MOT_FRONT

i

[L3302,T42,P1] PRIO 1

[L3303,T42,P1] LOAD OLD_VALUE_10,CURRENT_VALUE_9

[L3304,T42,P1] A1207

[L3304,T42,P1] A1208

[L3304,T42,P1] A1209

[L3304,T42,P1] A1210

[L3304,T42,P3] PRIO 3

[L3305,T42,P1/3] PAUSE

[L3485,T42,P3] A1205

RESETs

[L3307,T42,P3] EXIT AC_28,A1208

t

[L3308,T42,P3] A1211

f

[L3360,T42,P3] AC_28

[L3309,T42,P3] EXIT AC_29,A1209

t

[L3310,T42,P1] A1212

f

[L3312,T42,P3] AC_29 [L3310,T42,P1] PRIO 1

[L3311,T42,P1] GOTO A1210

[L3313,T42,P3] CMPS CURRENT_VALUE_9,OLD_VALUE_10

[L3314,T42,P3] JW L,A1213

[L3315,T42,P3] LOAD DIRECTION_11,#0

t

[L3317,T42,P3] A1213

f

[L3316,T42,P3] GOTO A1214

[L3320,T42,P3] A1214

[L3317,T42,P3] CMPS CURRENT_VALUE_9,OLD_VALUE_10

[L3318,T42,P3] JW G,A1215

[L3319,T42,P3] LOAD DIRECTION_11,#1

t

[L3320,T42,P3] A1215

f

[L3320,T42,P3] CMPS DIRECTION_11,#1

[L3321,T42,P3] JW EE,A1216

[L3322,T42,P3] CMPS CURRENT_VALUE_9,V1_9

t

[L3332,T42,P3] A1216

f

[L3323,T42,P3] JW L,A1218

[L3324,T42,P3] LOAD CONTROL_VALUE_9,#0

t

[L3326,T42,P3] A1218

f

[L3325,T42,P3] GOTO A1219

[L3331,T42,P3] A1219

[L3326,T42,P3] CMPS CURRENT_VALUE_9,V2_9

[L3327,T42,P3] JW L,A1220

[L3328,T42,P3] LOAD CONTROL_VALUE_9,#1

t

[L3330,T42,P3] A1220

f

[L3329,T42,P3] GOTO A1221

[L3331,T42,P3] A1221

[L3330,T42,P3] LOAD CONTROL_VALUE_9,#2

[L3331,T42,P3] GOTO A1217

[L3359,T42,P3] A1217

[L3332,T42,P3] CMPS CURRENT_VALUE_9,V2_9

[L3333,T42,P3] JW G,A1222

[L3334,T42,P3] LOAD CONTROL_VALUE_9,#2

t

[L3336,T42,P3] A1222

f

[L3335,T42,P3] GOTO A1223

[L3359,T42,P3] A1223

[L3336,T42,P3] CMPS CURRENT_VALUE_9,V1_9

[L3337,T42,P3] JW G,A1224

[L3338,T42,P3] CMPS CONTROL_VALUE_9,#1

t

[L3349,T42,P3] A1224

f

[L3339,T42,P3] JW NE,A1226

[L3340,T42,P3] CMPS OLD_VALUE_10,V2_9

t

[L3348,T42,P3] A1226

f

[L3341,T42,P3] JW G,A1227

[L3342,T42,P3] LOAD TIME1_7,#0

t

[L3344,T42,P3] A1227

f

[L3343,T42,P3] GOTO A1228

[L3348,T42,P3] A1228

[L3344,T42,P3] ADD TIME1_7,#1

[L3345,T42,P3] CMPS TIME1_7,#17

[L3346,T42,P3] JW G,A1229

[L3347,T42,P3] LOAD CONTROL_VALUE_9,#1

t

[L3348,T42,P3] A1229

f

[L3348,T42,P3] GOTO A1225

[L3359,T42,P3] A1225

[L3349,T42,P3] CMPS CONTROL_VALUE_9,#0

[L3350,T42,P3] JW NE,A1230

[L3351,T42,P3] CMPS OLD_VALUE_10,V1_9

t

[L3359,T42,P3] A1230

f

[L3352,T42,P3] JW G,A1231

[L3353,T42,P3] LOAD TIME2_7,#0

t

[L3355,T42,P3] A1231

f

[L3354,T42,P3] GOTO A1232

[L3359,T42,P3] A1232

[L3355,T42,P3] ADD TIME2_7,#1

[L3356,T42,P3] CMPS TIME2_7,#30

[L3357,T42,P3] JW G,A1233

[L3358,T42,P3] LOAD CONTROL_VALUE_9,#0

t

[L3359,T42,P3] A1233

f

[L3359,T42,P3] EXIT AWAIT_CASE_14,A1207

[L3484,T42,P3] AWAIT_CASE_14

[L3361,T42,P3] CMPS SPEED_VALUE_14,#10

[L3362,T42,P3] JW L,A1234

[L3363,T42,P3] LOAD V1_9,#2040

t

[L3366,T42,P3] A1234

f

[L3364,T42,P3] LOAD V2_9,#2040

[L3365,T42,P3] GOTO A1235

[L3483,T42,P3] A1235

[L3366,T42,P3] CMPS SPEED_VALUE_14,#20

[L3367,T42,P3] JW L,A1236

[L3368,T42,P3] LOAD V1_9,#2040

t

[L3371,T42,P3] A1236

f

[L3369,T42,P3] LOAD V2_9,#2040

[L3370,T42,P3] GOTO A1237

[L3483,T42,P3] A1237

[L3371,T42,P3] CMPS SPEED_VALUE_14,#30

[L3372,T42,P3] JW L,A1238

[L3373,T42,P3] LOAD V1_9,#500

t

[L3376,T42,P3] A1238

f

[L3374,T42,P3] LOAD V2_9,#900

[L3375,T42,P3] GOTO A1239

[L3483,T42,P3] A1239

[L3376,T42,P3] CMPS SPEED_VALUE_14,#40

[L3377,T42,P3] JW L,A1240

[L3378,T42,P3] LOAD V1_9,#260

t

[L3381,T42,P3] A1240

f

[L3379,T42,P3] LOAD V2_9,#428

[L3380,T42,P3] GOTO A1241

[L3483,T42,P3] A1241

[L3381,T42,P3] CMPS SPEED_VALUE_14,#50

[L3382,T42,P3] JW L,A1242

[L3383,T42,P3] LOAD V1_9,#156

t

[L3386,T42,P3] A1242

f

[L3384,T42,P3] LOAD V2_9,#276

[L3385,T42,P3] GOTO A1243

[L3483,T42,P3] A1243

[L3386,T42,P3] CMPS SPEED_VALUE_14,#60

[L3387,T42,P3] JW L,A1244

[L3388,T42,P3] LOAD V1_9,#100

t

[L3391,T42,P3] A1244

f

[L3389,T42,P3] LOAD V2_9,#156

[L3390,T42,P3] GOTO A1245

[L3483,T42,P3] A1245

[L3391,T42,P3] CMPS SPEED_VALUE_14,#70

[L3392,T42,P3] JW L,A1246

[L3393,T42,P3] LOAD V1_9,#68

t

[L3396,T42,P3] A1246

f

[L3394,T42,P3] LOAD V2_9,#108

[L3395,T42,P3] GOTO A1247

[L3483,T42,P3] A1247

[L3396,T42,P3] CMPS SPEED_VALUE_14,#80

[L3397,T42,P3] JW L,A1248

[L3398,T42,P3] LOAD V1_9,#52

t

[L3401,T42,P3] A1248

f

[L3399,T42,P3] LOAD V2_9,#78

[L3400,T42,P3] GOTO A1249

[L3483,T42,P3] A1249

[L3401,T42,P3] CMPS SPEED_VALUE_14,#90

[L3402,T42,P3] JW L,A1250

[L3403,T42,P3] LOAD V1_9,#40

t

[L3406,T42,P3] A1250

f

[L3404,T42,P3] LOAD V2_9,#56

[L3405,T42,P3] GOTO A1251

[L3483,T42,P3] A1251

[L3406,T42,P3] CMPS SPEED_VALUE_14,#100

[L3407,T42,P3] JW L,A1252

[L3408,T42,P3] LOAD V1_9,#30

t

[L3411,T42,P3] A1252

f

[L3409,T42,P3] LOAD V2_9,#42

[L3410,T42,P3] GOTO A1253

[L3483,T42,P3] A1253

[L3411,T42,P3] CMPS SPEED_VALUE_14,#110

[L3412,T42,P3] JW L,A1254

[L3413,T42,P3] LOAD V1_9,#24

t

[L3416,T42,P3] A1254

f

[L3414,T42,P3] LOAD V2_9,#36

[L3415,T42,P3] GOTO A1255

[L3483,T42,P3] A1255

[L3416,T42,P3] CMPS SPEED_VALUE_14,#120

[L3417,T42,P3] JW L,A1256

[L3418,T42,P3] LOAD V1_9,#22

t

[L3421,T42,P3] A1256

f

[L3419,T42,P3] LOAD V2_9,#32

[L3420,T42,P3] GOTO A1257

[L3483,T42,P3] A1257

[L3421,T42,P3] CMPS SPEED_VALUE_14,#130

[L3422,T42,P3] JW L,A1258

[L3423,T42,P3] LOAD V1_9,#20

t

[L3426,T42,P3] A1258

f

[L3424,T42,P3] LOAD V2_9,#28

[L3425,T42,P3] GOTO A1259

[L3483,T42,P3] A1259

[L3426,T42,P3] CMPS SPEED_VALUE_14,#140

[L3427,T42,P3] JW L,A1260

[L3428,T42,P3] LOAD V1_9,#18

t

[L3431,T42,P3] A1260

f

[L3429,T42,P3] LOAD V2_9,#26

[L3430,T42,P3] GOTO A1261

[L3483,T42,P3] A1261

[L3431,T42,P3] CMPS SPEED_VALUE_14,#150

[L3432,T42,P3] JW L,A1262

[L3433,T42,P3] LOAD V1_9,#16

t

[L3436,T42,P3] A1262

f

[L3434,T42,P3] LOAD V2_9,#24

[L3435,T42,P3] GOTO A1263

[L3483,T42,P3] A1263

[L3436,T42,P3] CMPS SPEED_VALUE_14,#160

[L3437,T42,P3] JW L,A1264

[L3438,T42,P3] LOAD V1_9,#14

t

[L3441,T42,P3] A1264

f

[L3439,T42,P3] LOAD V2_9,#22

[L3440,T42,P3] GOTO A1265

[L3483,T42,P3] A1265

[L3441,T42,P3] CMPS SPEED_VALUE_14,#170

[L3442,T42,P3] JW L,A1266

[L3443,T42,P3] LOAD V1_9,#12

t

[L3446,T42,P3] A1266

f

[L3444,T42,P3] LOAD V2_9,#20

[L3445,T42,P3] GOTO A1267

[L3483,T42,P3] A1267

[L3446,T42,P3] CMPS SPEED_VALUE_14,#180

[L3447,T42,P3] JW L,A1268

[L3448,T42,P3] LOAD V1_9,#12

t

[L3451,T42,P3] A1268

f

[L3449,T42,P3] LOAD V2_9,#18

[L3450,T42,P3] GOTO A1269

[L3483,T42,P3] A1269

[L3451,T42,P3] CMPS SPEED_VALUE_14,#190

[L3452,T42,P3] JW L,A1270

[L3453,T42,P3] LOAD V1_9,#12

t

[L3456,T42,P3] A1270

f

[L3454,T42,P3] LOAD V2_9,#16

[L3455,T42,P3] GOTO A1271

[L3483,T42,P3] A1271

[L3456,T42,P3] CMPS SPEED_VALUE_14,#200

[L3457,T42,P3] JW L,A1272

[L3458,T42,P3] LOAD V1_9,#12

t

[L3461,T42,P3] A1272

f

[L3459,T42,P3] LOAD V2_9,#14

[L3460,T42,P3] GOTO A1273

[L3483,T42,P3] A1273

[L3461,T42,P3] CMPS SPEED_VALUE_14,#210

[L3462,T42,P3] JW L,A1274

[L3463,T42,P3] LOAD V1_9,#12

t

[L3466,T42,P3] A1274

f

[L3464,T42,P3] LOAD V2_9,#12

[L3465,T42,P3] GOTO A1275

[L3483,T42,P3] A1275

[L3466,T42,P3] CMPS SPEED_VALUE_14,#220

[L3467,T42,P3] JW L,A1276

[L3468,T42,P3] LOAD V1_9,#12

t

[L3471,T42,P3] A1276

f

[L3469,T42,P3] LOAD V2_9,#12

[L3470,T42,P3] GOTO A1277

[L3483,T42,P3] A1277

[L3471,T42,P3] CMPS SPEED_VALUE_14,#230

[L3472,T42,P3] JW L,A1278

[L3473,T42,P3] LOAD V1_9,#12

t

[L3476,T42,P3] A1278

f

[L3474,T42,P3] LOAD V2_9,#12

[L3475,T42,P3] GOTO A1279

[L3483,T42,P3] A1279

[L3476,T42,P3] CMPS SPEED_VALUE_14,#240

[L3477,T42,P3] JW L,A1280

[L3478,T42,P3] LOAD V1_9,#12

t

[L3481,T42,P3] A1280

f

[L3479,T42,P3] LOAD V2_9,#12

[L3480,T42,P3] GOTO A1281

[L3483,T42,P3] A1281

[L3481,T42,P3] LOAD V1_9,#12

[L3482,T42,P3] LOAD V2_9,#12

[L3483,T42,P3] EXIT AWAIT_CASE_14,A1207

[L3484,T42,P3] GOTO A1206

[L3485,T42,P3] GOTO A1204

[L3486,T43,P3] A1282

[L3486,T43,P3] LOAD CURRENT_VALUE_10,#0

[L3487,T43,P3] LOAD OLD_VALUE_11,#0

[L3488,T43,P3] LOAD CONTROL_VALUE_10,#0

[L3489,T43,P3] LOAD DIRECTION_12,#1

[L3490,T43,P3] LOAD V1_10,#2040

[L3491,T43,P3] LOAD V2_10,#2040

[L3492,T43,P3] ABORT RESET,A1283

[L3493,T43,P3] A1284

[L3493,T43,P3] EMIT STEER_ANG_MOT_REAR

[L3494,T43,P3] SETV STEER_ANG_MOT_REAR,CONTROL_VALUE_10[L4413,T54,P2] PRESENT STEER_ANG_MOT_REAR,A1655

i

[L4421,T54,P2] LOAD CTRL_7_VAL_0,?STEER_ANG_MOT_REAR

i

[L3495,T43,P1] PRIO 1

[L3496,T43,P1] LOAD OLD_VALUE_11,CURRENT_VALUE_10

[L3497,T43,P1] A1285

[L3497,T43,P1] A1286

[L3497,T43,P1] A1287

[L3497,T43,P1] A1288

[L3497,T43,P3] PRIO 3

[L3498,T43,P1/3] PAUSE

[L3678,T43,P3] A1283

RESETs

[L3500,T43,P3] EXIT AC_30,A1286

t

[L3501,T43,P3] A1289

f

[L3553,T43,P3] AC_30

[L3502,T43,P3] EXIT AC_31,A1287

t

[L3503,T43,P1] A1290

f

[L3505,T43,P3] AC_31 [L3503,T43,P1] PRIO 1

[L3504,T43,P1] GOTO A1288

[L3506,T43,P3] CMPS CURRENT_VALUE_10,OLD_VALUE_11

[L3507,T43,P3] JW L,A1291

[L3508,T43,P3] LOAD DIRECTION_12,#0

t

[L3510,T43,P3] A1291

f

[L3509,T43,P3] GOTO A1292

[L3513,T43,P3] A1292

[L3510,T43,P3] CMPS CURRENT_VALUE_10,OLD_VALUE_11

[L3511,T43,P3] JW G,A1293

[L3512,T43,P3] LOAD DIRECTION_12,#1

t

[L3513,T43,P3] A1293

f

[L3513,T43,P3] CMPS DIRECTION_12,#1

[L3514,T43,P3] JW EE,A1294

[L3515,T43,P3] CMPS CURRENT_VALUE_10,V1_10

t

[L3525,T43,P3] A1294

f

[L3516,T43,P3] JW L,A1296

[L3517,T43,P3] LOAD CONTROL_VALUE_10,#0

t

[L3519,T43,P3] A1296

f

[L3518,T43,P3] GOTO A1297

[L3524,T43,P3] A1297

[L3519,T43,P3] CMPS CURRENT_VALUE_10,V2_10

[L3520,T43,P3] JW L,A1298

[L3521,T43,P3] LOAD CONTROL_VALUE_10,#1

t

[L3523,T43,P3] A1298

f

[L3522,T43,P3] GOTO A1299

[L3524,T43,P3] A1299

[L3523,T43,P3] LOAD CONTROL_VALUE_10,#2

[L3524,T43,P3] GOTO A1295

[L3552,T43,P3] A1295

[L3525,T43,P3] CMPS CURRENT_VALUE_10,V2_10

[L3526,T43,P3] JW G,A1300

[L3527,T43,P3] LOAD CONTROL_VALUE_10,#2

t

[L3529,T43,P3] A1300

f

[L3528,T43,P3] GOTO A1301

[L3552,T43,P3] A1301

[L3529,T43,P3] CMPS CURRENT_VALUE_10,V1_10

[L3530,T43,P3] JW G,A1302

[L3531,T43,P3] CMPS CONTROL_VALUE_10,#1

t

[L3542,T43,P3] A1302

f

[L3532,T43,P3] JW NE,A1304

[L3533,T43,P3] CMPS OLD_VALUE_11,V2_10

t

[L3541,T43,P3] A1304

f

[L3534,T43,P3] JW G,A1305

[L3535,T43,P3] LOAD TIME1_8,#0

t

[L3537,T43,P3] A1305

f

[L3536,T43,P3] GOTO A1306

[L3541,T43,P3] A1306

[L3537,T43,P3] ADD TIME1_8,#1

[L3538,T43,P3] CMPS TIME1_8,#13

[L3539,T43,P3] JW G,A1307

[L3540,T43,P3] LOAD CONTROL_VALUE_10,#1

t

[L3541,T43,P3] A1307

f

[L3541,T43,P3] GOTO A1303

[L3552,T43,P3] A1303

[L3542,T43,P3] CMPS CONTROL_VALUE_10,#0

[L3543,T43,P3] JW NE,A1308

[L3544,T43,P3] CMPS OLD_VALUE_11,V1_10

t

[L3552,T43,P3] A1308

f

[L3545,T43,P3] JW G,A1309

[L3546,T43,P3] LOAD TIME2_8,#0

t

[L3548,T43,P3] A1309

f

[L3547,T43,P3] GOTO A1310

[L3552,T43,P3] A1310

[L3548,T43,P3] ADD TIME2_8,#1

[L3549,T43,P3] CMPS TIME2_8,#25

[L3550,T43,P3] JW G,A1311

[L3551,T43,P3] LOAD CONTROL_VALUE_10,#0

t

[L3552,T43,P3] A1311

f

[L3552,T43,P3] EXIT AWAIT_CASE_15,A1285

[L3677,T43,P3] AWAIT_CASE_15

[L3554,T43,P3] CMPS SPEED_VALUE_15,#10

[L3555,T43,P3] JW L,A1312

[L3556,T43,P3] LOAD V1_10,#2040

t

[L3559,T43,P3] A1312

f

[L3557,T43,P3] LOAD V2_10,#2040

[L3558,T43,P3] GOTO A1313

[L3676,T43,P3] A1313

[L3559,T43,P3] CMPS SPEED_VALUE_15,#20

[L3560,T43,P3] JW L,A1314

[L3561,T43,P3] LOAD V1_10,#2040

t

[L3564,T43,P3] A1314

f

[L3562,T43,P3] LOAD V2_10,#2040

[L3563,T43,P3] GOTO A1315

[L3676,T43,P3] A1315

[L3564,T43,P3] CMPS SPEED_VALUE_15,#30

[L3565,T43,P3] JW L,A1316

[L3566,T43,P3] LOAD V1_10,#400

t

[L3569,T43,P3] A1316

f

[L3567,T43,P3] LOAD V2_10,#800

[L3568,T43,P3] GOTO A1317

[L3676,T43,P3] A1317

[L3569,T43,P3] CMPS SPEED_VALUE_15,#40

[L3570,T43,P3] JW L,A1318

[L3571,T43,P3] LOAD V1_10,#200

t

[L3574,T43,P3] A1318

f

[L3572,T43,P3] LOAD V2_10,#400

[L3573,T43,P3] GOTO A1319

[L3676,T43,P3] A1319

[L3574,T43,P3] CMPS SPEED_VALUE_15,#50

[L3575,T43,P3] JW L,A1320

[L3576,T43,P3] LOAD V1_10,#132

t

[L3579,T43,P3] A1320

f

[L3577,T43,P3] LOAD V2_10,#200

[L3578,T43,P3] GOTO A1321

[L3676,T43,P3] A1321

[L3579,T43,P3] CMPS SPEED_VALUE_15,#60

[L3580,T43,P3] JW L,A1322

[L3581,T43,P3] LOAD V1_10,#88

t

[L3584,T43,P3] A1322

f

[L3582,T43,P3] LOAD V2_10,#124

[L3583,T43,P3] GOTO A1323

[L3676,T43,P3] A1323

[L3584,T43,P3] CMPS SPEED_VALUE_15,#70

[L3585,T43,P3] JW L,A1324

[L3586,T43,P3] LOAD V1_10,#56

t

[L3589,T43,P3] A1324

f

[L3587,T43,P3] LOAD V2_10,#88

[L3588,T43,P3] GOTO A1325

[L3676,T43,P3] A1325

[L3589,T43,P3] CMPS SPEED_VALUE_15,#80

[L3590,T43,P3] JW L,A1326

[L3591,T43,P3] LOAD V1_10,#42

t

[L3594,T43,P3] A1326

f

[L3592,T43,P3] LOAD V2_10,#66

[L3593,T43,P3] GOTO A1327

[L3676,T43,P3] A1327

[L3594,T43,P3] CMPS SPEED_VALUE_15,#90

[L3595,T43,P3] JW L,A1328

[L3596,T43,P3] LOAD V1_10,#34

t

[L3599,T43,P3] A1328

f

[L3597,T43,P3] LOAD V2_10,#52

[L3598,T43,P3] GOTO A1329

[L3676,T43,P3] A1329

[L3599,T43,P3] CMPS SPEED_VALUE_15,#100

[L3600,T43,P3] JW L,A1330

[L3601,T43,P3] LOAD V1_10,#28

t

[L3604,T43,P3] A1330

f

[L3602,T43,P3] LOAD V2_10,#42

[L3603,T43,P3] GOTO A1331

[L3676,T43,P3] A1331

[L3604,T43,P3] CMPS SPEED_VALUE_15,#110

[L3605,T43,P3] JW L,A1332

[L3606,T43,P3] LOAD V1_10,#24

t

[L3609,T43,P3] A1332

f

[L3607,T43,P3] LOAD V2_10,#36

[L3608,T43,P3] GOTO A1333

[L3676,T43,P3] A1333

[L3609,T43,P3] CMPS SPEED_VALUE_15,#120

[L3610,T43,P3] JW L,A1334

[L3611,T43,P3] LOAD V1_10,#22

t

[L3614,T43,P3] A1334

f

[L3612,T43,P3] LOAD V2_10,#32

[L3613,T43,P3] GOTO A1335

[L3676,T43,P3] A1335

[L3614,T43,P3] CMPS SPEED_VALUE_15,#130

[L3615,T43,P3] JW L,A1336

[L3616,T43,P3] LOAD V1_10,#20

t

[L3619,T43,P3] A1336

f

[L3617,T43,P3] LOAD V2_10,#28

[L3618,T43,P3] GOTO A1337

[L3676,T43,P3] A1337

[L3619,T43,P3] CMPS SPEED_VALUE_15,#140

[L3620,T43,P3] JW L,A1338

[L3621,T43,P3] LOAD V1_10,#18

t[L3624,T43,P3] A1338

f

[L3622,T43,P3] LOAD V2_10,#26

[L3623,T43,P3] GOTO A1339

[L3676,T43,P3] A1339

[L3624,T43,P3] CMPS SPEED_VALUE_15,#150

[L3625,T43,P3] JW L,A1340

[L3626,T43,P3] LOAD V1_10,#16

t

[L3629,T43,P3] A1340

f

[L3627,T43,P3] LOAD V2_10,#24

[L3628,T43,P3] GOTO A1341

[L3676,T43,P3] A1341

[L3629,T43,P3] CMPS SPEED_VALUE_15,#160

[L3630,T43,P3] JW L,A1342

[L3631,T43,P3] LOAD V1_10,#14

t

[L3634,T43,P3] A1342

f

[L3632,T43,P3] LOAD V2_10,#22

[L3633,T43,P3] GOTO A1343

[L3676,T43,P3] A1343

[L3634,T43,P3] CMPS SPEED_VALUE_15,#170

[L3635,T43,P3] JW L,A1344

[L3636,T43,P3] LOAD V1_10,#12

t

[L3639,T43,P3] A1344

f

[L3637,T43,P3] LOAD V2_10,#20

[L3638,T43,P3] GOTO A1345

[L3676,T43,P3] A1345

[L3639,T43,P3] CMPS SPEED_VALUE_15,#180

[L3640,T43,P3] JW L,A1346

[L3641,T43,P3] LOAD V1_10,#12

t

[L3644,T43,P3] A1346

f

[L3642,T43,P3] LOAD V2_10,#18

[L3643,T43,P3] GOTO A1347

[L3676,T43,P3] A1347

[L3644,T43,P3] CMPS SPEED_VALUE_15,#190

[L3645,T43,P3] JW L,A1348

[L3646,T43,P3] LOAD V1_10,#12

t

[L3649,T43,P3] A1348

f

[L3647,T43,P3] LOAD V2_10,#16

[L3648,T43,P3] GOTO A1349

[L3676,T43,P3] A1349

[L3649,T43,P3] CMPS SPEED_VALUE_15,#200

[L3650,T43,P3] JW L,A1350

[L3651,T43,P3] LOAD V1_10,#12

t

[L3654,T43,P3] A1350

f

[L3652,T43,P3] LOAD V2_10,#14

[L3653,T43,P3] GOTO A1351

[L3676,T43,P3] A1351

[L3654,T43,P3] CMPS SPEED_VALUE_15,#210

[L3655,T43,P3] JW L,A1352

[L3656,T43,P3] LOAD V1_10,#12

t

[L3659,T43,P3] A1352

f

[L3657,T43,P3] LOAD V2_10,#12

[L3658,T43,P3] GOTO A1353

[L3676,T43,P3] A1353

[L3659,T43,P3] CMPS SPEED_VALUE_15,#220

[L3660,T43,P3] JW L,A1354

[L3661,T43,P3] LOAD V1_10,#12

t

[L3664,T43,P3] A1354

f

[L3662,T43,P3] LOAD V2_10,#12

[L3663,T43,P3] GOTO A1355

[L3676,T43,P3] A1355

[L3664,T43,P3] CMPS SPEED_VALUE_15,#230

[L3665,T43,P3] JW L,A1356

[L3666,T43,P3] LOAD V1_10,#12

t

[L3669,T43,P3] A1356

f

[L3667,T43,P3] LOAD V2_10,#12

[L3668,T43,P3] GOTO A1357

[L3676,T43,P3] A1357

[L3669,T43,P3] CMPS SPEED_VALUE_15,#240

[L3670,T43,P3] JW L,A1358

[L3671,T43,P3] LOAD V1_10,#12

t

[L3674,T43,P3] A1358

f

[L3672,T43,P3] LOAD V2_10,#12

[L3673,T43,P3] GOTO A1359

[L3676,T43,P3] A1359

[L3674,T43,P3] LOAD V1_10,#12

[L3675,T43,P3] LOAD V2_10,#12

[L3676,T43,P3] EXIT AWAIT_CASE_15,A1285

[L3677,T43,P3] GOTO A1284

[L3678,T43,P3] GOTO A1282

[L3679,T44,P3] A1360

[L3679,T44,P3] LOAD TIME_STEER1,#0

[L3680,T44,P3] LOAD TIME_STEER2,#0

[L3681,T44,P3] LOAD SPEED_VALUE_16,#0

[L3682,T44,P3] LOAD STEER_ANG_DAMAGE_VALUE,#0

[L3683,T44,P3] ABORT RESET,A1361

[L3684,T44,P3] A1362

[L3684,T44,P3] EMIT STEER_ANG_DAMAGE

[L3685,T44,P3] SETV STEER_ANG_DAMAGE,STEER_ANG_DAMAGE_VALUE

[L4518,T55,P2] PRESENT STEER_ANG_DAMAGE,A1699

i

[L3686,T44,P1] A1363

[L4522,T55,P2] LOAD STEER_ANG_DAMAGE_VALUE_0,?STEER_ANG_DAMAGE

i

[L3686,T44,P1] A1364

[L3686,T44,P1] A1365

[L3686,T44,P1] A1366

[L3686,T44,P1] A1367

[L3686,T44,P1] A1368

[L3686,T44,P1] PRIO 1

[L3688,T44,P1/4] PAUSE

[L3755,T44,P3] A1361

RESET

s

[L3690,T44,P4] EXIT AC_32,A1364

t

[L3691,T44,P4] A1369

f

[L3706,T44,P4] AC_32

[L3692,T44,P4] EXIT AC_33,A1365

t

[L3693,T44,P4] A1370

f

[L3704,T44,P4] AC_33

[L3694,T44,P4] EXIT AC_34,A1366

t

[L3695,T44,P4] A1371

f

[L3702,T44,P4] AC_34 [L3695,T44,P4] PRESENT CLOCK_24,A1372

[L3696,T44,P4] EXIT AC_35,A1367

t

[L3697,T44,P1] A1372

f

[L3699,T44,P4] AC_35[L3697,T44,P1] PRIO 1

[L3698,T44,P1] GOTO A1368 [L3699,T44,P4] ADD TIME_STEER1,#1

[L3700,T44,P4] ADD TIME_STEER2,#1

[L3701,T44,P4] EXIT AWAIT_CASE_16,A1363

[L3712,T44,P4] AWAIT_CASE_16

[L3702,T44,P4] LOAD TIME_STEER2,#0

[L3703,T44,P4] EXIT AWAIT_CASE_16,A1363

[L3704,T44,P4] LOAD TIME_STEER1,#0

[L3705,T44,P4] EXIT AWAIT_CASE_16,A1363

[L3707,T44,P4] CMPS SPEED_VALUE_16,#0

[L3708,T44,P4] JW EE,A1373

[L3709,T44,P4] LOAD TIME_STEER1,#0

t

[L3711,T44,P4] A1373

f

[L3710,T44,P4] LOAD TIME_STEER2,#0

[L3711,T44,P4] EXIT AWAIT_CASE_16,A1363

[L3712,T44,P4] CMPS TIME_STEER1,#500

[L3713,T44,P4] JW G,A1377

[L3714,T44,P4] CMPS TIME_STEER2,#500

t

[L3717,T44,P4] A1377

f

[L3715,T44,P4] JW G,A1377

[L3716,T44,P4] GOTO A1375

t

f

[L3722,T44,P4] A1375

[L3717,T44,P4] CMPS TIME_STEER1,#1000

[L3718,T44,P4] JW G,A1376

[L3719,T44,P4] GOTO A1375

t

[L3720,T44,P4] A1376

f

[L3720,T44,P4] CMPS TIME_STEER1,#1000

[L3721,T44,P4] JW G,A1374

t

[L3728,T44,P3] A1374

f

[L3722,T44,P4] EMIT DIAG_ERR

[L3723,T44,P1] A1379

[L3763,T45,P3] PRESENT DIAG_ERR,A1395

i

[L3723,T44,P1] PRIO 1

[L3725,T44,P1/3] PAUSE

RESET

s

[L3726,T44,P1] PRIO 1

[L3727,T44,P1] GOTO A1379

[L3728,T44,P3] PRIO 3

[L3729,T44,P3] CMPS TIME_STEER1,#167

[L3730,T44,P3] JW G,A1383

[L3731,T44,P3] CMPS TIME_STEER2,#167

t

[L3734,T44,P3] A1383

f

[L3732,T44,P3] JW G,A1383

[L3733,T44,P3] GOTO A1381

t f

[L3739,T44,P3] A1381

[L3734,T44,P3] CMPS TIME_STEER1,#333

[L3735,T44,P3] JW G,A1382

[L3736,T44,P3] GOTO A1381

t

[L3737,T44,P3] A1382

f

[L3737,T44,P3] CMPS TIME_STEER1,#333

[L3738,T44,P3] JW G,A1380

t

[L3741,T44,P3] A1380

f

[L3739,T44,P3] LOAD STEER_ANG_DAMAGE_VALUE,#2

[L3740,T44,P3] GOTO A1384

[L3754,T44,P3] A1384

[L3741,T44,P3] CMPS TIME_STEER1,#42

[L3742,T44,P3] JW G,A1388

[L3743,T44,P3] CMPS TIME_STEER2,#42

t

[L3746,T44,P3] A1388

f

[L3744,T44,P3] JW G,A1388

[L3745,T44,P3] GOTO A1386

t

f

[L3751,T44,P3] A1386

[L3746,T44,P3] CMPS TIME_STEER1,#83

[L3747,T44,P3] JW G,A1387

[L3748,T44,P3] GOTO A1386

t

[L3749,T44,P3] A1387

f

[L3749,T44,P3] CMPS TIME_STEER1,#83

[L3750,T44,P3] JW G,A1385

t

[L3753,T44,P3] A1385

f

[L3751,T44,P3] LOAD STEER_ANG_DAMAGE_VALUE,#1

[L3752,T44,P3] GOTO A1389

[L3754,T44,P3] A1389

[L3753,T44,P3] LOAD STEER_ANG_DAMAGE_VALUE,#0

[L3754,T44,P3] GOTO A1362

[L3755,T44,P3] PRIO 3

[L3756,T44,P3] GOTO A1360

[L3757,T45,P1] A1390

[L3757,T45,P1] A1391

[L3757,T45,P1] A1392

[L3757,T45,P3] PRIO 3

[L3758,T45,P1/3] PAUSE

[L3760,T45,P3] EXIT AWAIT_CASE_17,A1391

t

[L3761,T45,P3] A1393

f

[L3767,T45,P3] AWAIT_CASE_17

[L3762,T45,P3] EXIT AWAIT_CASE_17,A1391

t

[L3763,T45,P3] A1394

f

[L3764,T45,P3] EXIT AWAIT_CASE_17,A1391

t

[L3765,T45,P1] A1395

f

[L3765,T45,P1] PRIO 1

[L3766,T45,P1] GOTO A1392

[L3767,T45,P3] EMIT STEER_ANG_ERR

[L4506,T55,P2] PRESENT STEER_ANG_ERR,A1693

i

[L3768,T45,P1] PRIO 1

[L3769,T45,P1] GOTO A1390

[L3770,T37,P4] JOIN 0

[L3771,T46,P4] SIGNALV SPEED

[L3772,T46,P4] SIGNALV SPEED_FILT

[L3773,T46,P4] SIGNAL IGNORED_7

[L3779,T46,P4/4] PAR*

[L3780,T47,P1] A1396

1

[L3841,T48,P4] A1397

4

[L3862,T49,P1] A1398

1

[L3885,T50,P3] A1399

3

[L4078,T51,P3] A1400

3

[L3780,T47,P1] A1402

[L3780,T47,P1] LOAD TIME_ANG,#0

[L3781,T47,P1] LOAD STEER1_VAL,#0

[L3782,T47,P1] LOAD STEER1_VAL_OLD,#0

[L3783,T47,P1] LOAD STEER2_VAL,#0

[L3784,T47,P1] LOAD STEER2_VAL_OLD,#0

[L3785,T47,P1] LOAD SPEED_VALUE_17,#0

[L3786,T47,P1] ABORT RESET,A1403

[L3787,T47,P1] A1404

[L3787,T47,P1] A1405

[L3787,T47,P1] A1406

[L3787,T47,P5] PRIO 5

[L3788,T47,P1/5] PAUSE

[L3789,T47,P5] PRESENT CLOCK_16,A1410[L3839,T47,P1] A1403

RESET

s

[L3790,T47,P5] GOTO A1408

t

[L3791,T47,P5] A1410

f

[L3794,T47,P5] A1408

[L3792,T47,P5] GOTO A1408

t

[L3793,T47,P5] A1409

f

t

[L3795,T47,P1] A1407

f

[L3794,T47,P5] EXIT AWAIT_OP_5,A1405

[L3797,T47,P5] AWAIT_OP_5

[L3795,T47,P1] PRIO 1

[L3796,T47,P1] GOTO A1406

[L3797,T47,P5] PRESENT CLOCK_16,A1411

[L3798,T47,P5] ADD TIME_ANG,#1

t

[L3801,T47,P1] A1411

f[L3799,T47,P5] EMIT SPEED

[L3800,T47,P5] SETV SPEED,SPEED_VALUE_17

[L3848,T48,P1/4] PAUSE

d

[L3867,T49,P1/3] PAUSE

d

d

[L3851,T48,P4] LOAD VAL_3,?SPEED

i d

[L3870,T49,P3] LOAD SPEED_VALUE_18,?SPEED

i

[L3801,T47,P1] PRIO 1

t

[L3820,T47,P1] A1412

f

[L3804,T47,P1] CMPS STEER1_VAL,#1

[L3805,T47,P1] JW EE,A1414

[L3806,T47,P1] CMPS STEER1_VAL_OLD,#1

t

[L3809,T47,P1] A1414

f

[L3807,T47,P1] JW EE,A1414

[L3808,T47,P1] GOTO A1413

t

f

[L3819,T47,P1] A1413

[L3809,T47,P1] CMPS TIME_ANG,#0

[L3810,T47,P1] JW NE,A1413

[L3811,T47,P1] LOAD REG39,#2

t

f

[L3812,T47,P1] MUL REG39,TIME_ANG

[L3813,T47,P1] LOAD R0,REG39

[L3814,T47,P1] LOAD R1,#9221311

[L3815,T47,P1] CALL DIV

[L3816,T47,P1] LOAD REG39,R0

[L3817,T47,P1] LOAD SPEED_VALUE_17,REG39

[L3818,T47,P1] LOAD TIME_ANG,#0

[L3819,T47,P1] LOAD STEER1_VAL_OLD,STEER1_VAL

t

[L3838,T47,P1] A1415

f

[L3822,T47,P1] CMPS STEER2_VAL,#1

[L3823,T47,P1] JW EE,A1417

[L3824,T47,P1] CMPS STEER2_VAL_OLD,#1

t

[L3827,T47,P1] A1417

f

[L3825,T47,P1] JW EE,A1417

[L3826,T47,P1] GOTO A1416

t

f

[L3837,T47,P1] A1416

[L3827,T47,P1] CMPS TIME_ANG,#0

[L3828,T47,P1] JW NE,A1416

[L3829,T47,P1] LOAD REG40,#2

t

f

[L3830,T47,P1] MUL REG40,TIME_ANG

[L3831,T47,P1] LOAD R0,REG40

[L3832,T47,P1] LOAD R1,#9221311

[L3833,T47,P1] CALL DIV

[L3834,T47,P1] LOAD REG40,R0

[L3835,T47,P1] LOAD SPEED_VALUE_17,REG40

[L3836,T47,P1] LOAD TIME_ANG,#0

[L3837,T47,P1] LOAD STEER2_VAL_OLD,STEER2_VAL

[L3838,T47,P1] GOTO A1404

[L3839,T47,P1] PRIO 1

[L3840,T47,P1] GOTO A1402

[L3841,T48,P4] A1418

[L3841,T48,P4] LOAD FILT_VAL_3,#0

[L3842,T48,P4] ABORT RESET,A1419

[L3843,T48,P4] A1420

[L3843,T48,P4] EMIT SPEED_FILT

[L3844,T48,P4] SETV SPEED_FILT,FILT_VAL_3[L3900,T50,P3] PRESENT SPEED_FILT,A1439

i

[L4093,T51,P3] PRESENT SPEED_FILT,A1517

i

[L3904,T50,P3] LOAD CURRENT_VALUE_11,?SPEED_FILT

i

[L4097,T51,P3] LOAD CURRENT_VALUE_12,?SPEED_FILT

i

[L3845,T48,P1] PRIO 1

[L3846,T48,P1] ABORT SPEED,A1421

[L3847,T48,P1] A1422

[L3847,T48,P4] PRIO 4

[L3851,T48,P4] A1421

SPEED

s

[L3861,T48,P4] A1419

RESET

s

[L3849,T48,P1] PRIO 1

[L3850,T48,P1] GOTO A1422

[L3852,T48,P4] LOAD REG41,VAL_3

[L3853,T48,P4] SUB REG41,FILT_VAL_3

[L3854,T48,P4] LOAD R0,REG41

[L3855,T48,P4] LOAD R1,#153

[L3856,T48,P4] CALL DIV

[L3857,T48,P4] LOAD REG41,R0

[L3858,T48,P4] ADD REG41,FILT_VAL_3

[L3859,T48,P4] LOAD FILT_VAL_3,REG41

[L3860,T48,P4] GOTO A1420

[L3861,T48,P4] GOTO A1418

[L3862,T49,P1] A1423

[L3862,T49,P1] LOAD NUM_SPEED_VAL_OUT,#0

[L3863,T49,P1] LOAD SPEED_VALUE_18,#0

[L3864,T49,P1] ABORT RESET,A1424

[L3865,T49,P1] A1425

[L3865,T49,P1] ABORT SPEED,A1426

[L3866,T49,P1] A1427

[L3866,T49,P3] PRIO 3

[L3870,T49,P3] A1426

SPEED

s

[L3883,T49,P1] A1424

RESET

s

[L3868,T49,P1] PRIO 1

[L3869,T49,P1] GOTO A1427

[L3871,T49,P3] CMPS SPEED_VALUE_18,#63333

[L3872,T49,P3] JW G,A1428

[L3873,T49,P3] EMIT STEER_SPEED_NO_SOFT

t

[L3881,T49,P1] A1428

f

[L3874,T49,P3] ADD NUM_SPEED_VAL_OUT,#1

[L4516,T55,P2] PRESENT STEER_SPEED_NO_SOFT,A1698

i

[L3875,T49,P3] CMPS NUM_SPEED_VAL_OUT,#3

[L3876,T49,P3] JW G,A1429

[L3877,T49,P3] EMIT STEER_SPEED_ERR

t

[L3881,T49,P1] A1429

f

[L3878,T49,P1] A1430

[L4508,T55,P2] PRESENT STEER_SPEED_ERR,A1694

i

[L3878,T49,P1] PRIO 1

[L3879,T49,P1/1] PAUSE

[L3880,T49,P1] GOTO A1430

RESET

s

[L3881,T49,P1] PRIO 1

[L3882,T49,P1] GOTO A1425

[L3883,T49,P1] PRIO 1

[L3884,T49,P1] GOTO A1423

[L3885,T50,P3] A1431

[L3885,T50,P3] LOAD CURRENT_VALUE_11,#0

[L3886,T50,P3] LOAD OLD_VALUE_12,#0

[L3887,T50,P3] LOAD CONTROL_VALUE_11,#0

[L3888,T50,P3] LOAD DIRECTION_13,#1

[L3889,T50,P3] LOAD V1_11,#63755

[L3890,T50,P3] LOAD V2_11,#63755

[L3891,T50,P3] ABORT RESET,A1432

[L3892,T50,P3] A1433

[L3892,T50,P3] EMIT STEER_SPEED_MOT_FRONT

[L3893,T50,P3] SETV STEER_SPEED_MOT_FRONT,CONTROL_VALUE_11

[L4313,T53,P2] PRESENT STEER_SPEED_MOT_FRONT,A1615

i

[L4317,T53,P2] LOAD CTRL_8_VAL,?STEER_SPEED_MOT_FRONT

i

[L3894,T50,P1] PRIO 1

[L3895,T50,P1] LOAD OLD_VALUE_12,CURRENT_VALUE_11

[L3896,T50,P1] A1434

[L3896,T50,P1] A1435

[L3896,T50,P1] A1436

[L3896,T50,P1] A1437

[L3896,T50,P3] PRIO 3

[L3897,T50,P1/3] PAUSE

[L4077,T50,P3] A1432

RESET

s

[L3899,T50,P3] EXIT AC_36,A1435

t

[L3900,T50,P3] A1438

f

[L3952,T50,P3] AC_36

[L3901,T50,P3] EXIT AC_37,A1436

t

[L3902,T50,P1] A1439

f

[L3904,T50,P3] AC_37[L3902,T50,P1] PRIO 1

[L3903,T50,P1] GOTO A1437

[L3905,T50,P3] CMPS CURRENT_VALUE_11,OLD_VALUE_12

[L3906,T50,P3] JW L,A1440

[L3907,T50,P3] LOAD DIRECTION_13,#0

t

[L3909,T50,P3] A1440

f

[L3908,T50,P3] GOTO A1441

[L3912,T50,P3] A1441

[L3909,T50,P3] CMPS CURRENT_VALUE_11,OLD_VALUE_12

[L3910,T50,P3] JW G,A1442

[L3911,T50,P3] LOAD DIRECTION_13,#1

t

[L3912,T50,P3] A1442

f

[L3912,T50,P3] CMPS DIRECTION_13,#1

[L3913,T50,P3] JW EE,A1443

[L3914,T50,P3] CMPS CURRENT_VALUE_11,V1_11

t

[L3924,T50,P3] A1443

f

[L3915,T50,P3] JW L,A1445

[L3916,T50,P3] LOAD CONTROL_VALUE_11,#0

t

[L3918,T50,P3] A1445

f

[L3917,T50,P3] GOTO A1446

[L3923,T50,P3] A1446

[L3918,T50,P3] CMPS CURRENT_VALUE_11,V2_11

[L3919,T50,P3] JW L,A1447

[L3920,T50,P3] LOAD CONTROL_VALUE_11,#1

t

[L3922,T50,P3] A1447

f

[L3921,T50,P3] GOTO A1448

[L3923,T50,P3] A1448

[L3922,T50,P3] LOAD CONTROL_VALUE_11,#2

[L3923,T50,P3] GOTO A1444

[L3951,T50,P3] A1444

[L3924,T50,P3] CMPS CURRENT_VALUE_11,V2_11

[L3925,T50,P3] JW G,A1449

[L3926,T50,P3] LOAD CONTROL_VALUE_11,#2

t

[L3928,T50,P3] A1449

f

[L3927,T50,P3] GOTO A1450

[L3951,T50,P3] A1450

[L3928,T50,P3] CMPS CURRENT_VALUE_11,V1_11

[L3929,T50,P3] JW G,A1451

[L3930,T50,P3] CMPS CONTROL_VALUE_11,#1

t

[L3941,T50,P3] A1451

f

[L3931,T50,P3] JW NE,A1453

[L3932,T50,P3] CMPS OLD_VALUE_12,V2_11

t

[L3940,T50,P3] A1453

f

[L3933,T50,P3] JW G,A1454

[L3934,T50,P3] LOAD TIME1_9,#0

t

[L3936,T50,P3] A1454

f

[L3935,T50,P3] GOTO A1455

[L3940,T50,P3] A1455

[L3936,T50,P3] ADD TIME1_9,#1

[L3937,T50,P3] CMPS TIME1_9,#8

[L3938,T50,P3] JW G,A1456

[L3939,T50,P3] LOAD CONTROL_VALUE_11,#1

t

[L3940,T50,P3] A1456

f

[L3940,T50,P3] GOTO A1452

[L3951,T50,P3] A1452

[L3941,T50,P3] CMPS CONTROL_VALUE_11,#0

[L3942,T50,P3] JW NE,A1457

[L3943,T50,P3] CMPS OLD_VALUE_12,V1_11

t

[L3951,T50,P3] A1457

f

[L3944,T50,P3] JW G,A1458

[L3945,T50,P3] LOAD TIME2_9,#0

t

[L3947,T50,P3] A1458

f

[L3946,T50,P3] GOTO A1459

[L3951,T50,P3] A1459

[L3947,T50,P3] ADD TIME2_9,#1

[L3948,T50,P3] CMPS TIME2_9,#24

[L3949,T50,P3] JW G,A1460

[L3950,T50,P3] LOAD CONTROL_VALUE_11,#0

t

[L3951,T50,P3] A1460

f

[L3951,T50,P3] EXIT AWAIT_CASE_18,A1434

[L4076,T50,P3] AWAIT_CASE_18

[L3953,T50,P3] CMPS SPEED_VALUE_19,#10

[L3954,T50,P3] JW L,A1461

[L3955,T50,P3] LOAD V1_11,#63755

t

[L3958,T50,P3] A1461

f

[L3956,T50,P3] LOAD V2_11,#63755

[L3957,T50,P3] GOTO A1462

[L4075,T50,P3] A1462

[L3958,T50,P3] CMPS SPEED_VALUE_19,#20

[L3959,T50,P3] JW L,A1463

[L3960,T50,P3] LOAD V1_11,#63755

t

[L3963,T50,P3] A1463

f

[L3961,T50,P3] LOAD V2_11,#63755

[L3962,T50,P3] GOTO A1464

[L4075,T50,P3] A1464

[L3963,T50,P3] CMPS SPEED_VALUE_19,#30

[L3964,T50,P3] JW L,A1465

[L3965,T50,P3] LOAD V1_11,#3932

t

[L3968,T50,P3] A1465

f

[L3966,T50,P3] LOAD V2_11,#5898

[L3967,T50,P3] GOTO A1466

[L4075,T50,P3] A1466

[L3968,T50,P3] CMPS SPEED_VALUE_19,#40

[L3969,T50,P3] JW L,A1467

[L3970,T50,P3] LOAD V1_11,#2621

t

[L3973,T50,P3] A1467

f

[L3971,T50,P3] LOAD V2_11,#3932

[L3972,T50,P3] GOTO A1468

[L4075,T50,P3] A1468

[L3973,T50,P3] CMPS SPEED_VALUE_19,#50

[L3974,T50,P3] JW L,A1469

[L3975,T50,P3] LOAD V1_11,#1802

t

[L3978,T50,P3] A1469

f

[L3976,T50,P3] LOAD V2_11,#2785

[L3977,T50,P3] GOTO A1470

[L4075,T50,P3] A1470

[L3978,T50,P3] CMPS SPEED_VALUE_19,#60

[L3979,T50,P3] JW L,A1471

[L3980,T50,P3] LOAD V1_11,#1310

t[L3983,T50,P3] A1471

f

[L3981,T50,P3] LOAD V2_11,#2130

[L3982,T50,P3] GOTO A1472

[L4075,T50,P3] A1472

[L3983,T50,P3] CMPS SPEED_VALUE_19,#70

[L3984,T50,P3] JW L,A1473

[L3985,T50,P3] LOAD V1_11,#1049

t

[L3988,T50,P3] A1473

f

[L3986,T50,P3] LOAD V2_11,#1638

[L3987,T50,P3] GOTO A1474

[L4075,T50,P3] A1474

[L3988,T50,P3] CMPS SPEED_VALUE_19,#80

[L3989,T50,P3] JW L,A1475

[L3990,T50,P3] LOAD V1_11,#852

t [L3993,T50,P3] A1475

f

[L3991,T50,P3] LOAD V2_11,#1343

[L3992,T50,P3] GOTO A1476

[L4075,T50,P3] A1476

[L3993,T50,P3] CMPS SPEED_VALUE_19,#90

[L3994,T50,P3] JW L,A1477

[L3995,T50,P3] LOAD V1_11,#688

t

[L3998,T50,P3] A1477

f

[L3996,T50,P3] LOAD V2_11,#1114

[L3997,T50,P3] GOTO A1478

[L4075,T50,P3] A1478

[L3998,T50,P3] CMPS SPEED_VALUE_19,#100

[L3999,T50,P3] JW L,A1479

[L4000,T50,P3] LOAD V1_11,#557

t

[L4003,T50,P3] A1479

f

[L4001,T50,P3] LOAD V2_11,#655

[L4002,T50,P3] GOTO A1480

[L4075,T50,P3] A1480

[L4003,T50,P3] CMPS SPEED_VALUE_19,#110

[L4004,T50,P3] JW L,A1481

[L4005,T50,P3] LOAD V1_11,#459

t

[L4008,T50,P3] A1481

f

[L4006,T50,P3] LOAD V2_11,#557

[L4007,T50,P3] GOTO A1482

[L4075,T50,P3] A1482

[L4008,T50,P3] CMPS SPEED_VALUE_19,#120

[L4009,T50,P3] JW L,A1483

[L4010,T50,P3] LOAD V1_11,#393

t

[L4013,T50,P3] A1483

f

[L4011,T50,P3] LOAD V2_11,#459

[L4012,T50,P3] GOTO A1484

[L4075,T50,P3] A1484

[L4013,T50,P3] CMPS SPEED_VALUE_19,#130

[L4014,T50,P3] JW L,A1485

[L4015,T50,P3] LOAD V1_11,#328

t

[L4018,T50,P3] A1485

f

[L4016,T50,P3] LOAD V2_11,#393

[L4017,T50,P3] GOTO A1486

[L4075,T50,P3] A1486

[L4018,T50,P3] CMPS SPEED_VALUE_19,#140

[L4019,T50,P3] JW L,A1487

[L4020,T50,P3] LOAD V1_11,#262

t [L4023,T50,P3] A1487

f

[L4021,T50,P3] LOAD V2_11,#328

[L4022,T50,P3] GOTO A1488

[L4075,T50,P3] A1488

[L4023,T50,P3] CMPS SPEED_VALUE_19,#150

[L4024,T50,P3] JW L,A1489

[L4025,T50,P3] LOAD V1_11,#197

t

[L4028,T50,P3] A1489

f

[L4026,T50,P3] LOAD V2_11,#295

[L4027,T50,P3] GOTO A1490

[L4075,T50,P3] A1490

[L4028,T50,P3] CMPS SPEED_VALUE_19,#160

[L4029,T50,P3] JW L,A1491

[L4030,T50,P3] LOAD V1_11,#164

t

[L4033,T50,P3] A1491

f

[L4031,T50,P3] LOAD V2_11,#262

[L4032,T50,P3] GOTO A1492

[L4075,T50,P3] A1492

[L4033,T50,P3] CMPS SPEED_VALUE_19,#170

[L4034,T50,P3] JW L,A1493

[L4035,T50,P3] LOAD V1_11,#164

t

[L4038,T50,P3] A1493

f

[L4036,T50,P3] LOAD V2_11,#229

[L4037,T50,P3] GOTO A1494

[L4075,T50,P3] A1494

[L4038,T50,P3] CMPS SPEED_VALUE_19,#180

[L4039,T50,P3] JW L,A1495

[L4040,T50,P3] LOAD V1_11,#164

t

[L4043,T50,P3] A1495

f

[L4041,T50,P3] LOAD V2_11,#197

[L4042,T50,P3] GOTO A1496

[L4075,T50,P3] A1496

[L4043,T50,P3] CMPS SPEED_VALUE_19,#190

[L4044,T50,P3] JW L,A1497

[L4045,T50,P3] LOAD V1_11,#164

t

[L4048,T50,P3] A1497

f

[L4046,T50,P3] LOAD V2_11,#164

[L4047,T50,P3] GOTO A1498

[L4075,T50,P3] A1498

[L4048,T50,P3] CMPS SPEED_VALUE_19,#200

[L4049,T50,P3] JW L,A1499

[L4050,T50,P3] LOAD V1_11,#164

t

[L4053,T50,P3] A1499

f

[L4051,T50,P3] LOAD V2_11,#164

[L4052,T50,P3] GOTO A1500

[L4075,T50,P3] A1500

[L4053,T50,P3] CMPS SPEED_VALUE_19,#210

[L4054,T50,P3] JW L,A1501

[L4055,T50,P3] LOAD V1_11,#164

t

[L4058,T50,P3] A1501

f

[L4056,T50,P3] LOAD V2_11,#164

[L4057,T50,P3] GOTO A1502

[L4075,T50,P3] A1502

[L4058,T50,P3] CMPS SPEED_VALUE_19,#220

[L4059,T50,P3] JW L,A1503

[L4060,T50,P3] LOAD V1_11,#164

t

[L4063,T50,P3] A1503

f

[L4061,T50,P3] LOAD V2_11,#164

[L4062,T50,P3] GOTO A1504

[L4075,T50,P3] A1504

[L4063,T50,P3] CMPS SPEED_VALUE_19,#230

[L4064,T50,P3] JW L,A1505

[L4065,T50,P3] LOAD V1_11,#164

t

[L4068,T50,P3] A1505

f

[L4066,T50,P3] LOAD V2_11,#164

[L4067,T50,P3] GOTO A1506

[L4075,T50,P3] A1506

[L4068,T50,P3] CMPS SPEED_VALUE_19,#240

[L4069,T50,P3] JW L,A1507

[L4070,T50,P3] LOAD V1_11,#164

t

[L4073,T50,P3] A1507

f

[L4071,T50,P3] LOAD V2_11,#164

[L4072,T50,P3] GOTO A1508

[L4075,T50,P3] A1508

[L4073,T50,P3] LOAD V1_11,#164

[L4074,T50,P3] LOAD V2_11,#164

[L4075,T50,P3] EXIT AWAIT_CASE_18,A1434

[L4076,T50,P3] GOTO A1433

[L4077,T50,P3] GOTO A1431

[L4078,T51,P3] A1509

[L4078,T51,P3] LOAD CURRENT_VALUE_12,#0

[L4079,T51,P3] LOAD OLD_VALUE_13,#0

[L4080,T51,P3] LOAD CONTROL_VALUE_12,#0

[L4081,T51,P3] LOAD DIRECTION_14,#1

[L4082,T51,P3] LOAD V1_12,#63755

[L4083,T51,P3] LOAD V2_12,#63755

[L4084,T51,P3] ABORT RESET,A1510

[L4085,T51,P3] A1511

[L4085,T51,P3] EMIT STEER_SPEED_MOT_REAR

[L4086,T51,P3] SETV STEER_SPEED_MOT_REAR,CONTROL_VALUE_12

[L4415,T54,P2] PRESENT STEER_SPEED_MOT_REAR,A1656

i

[L4419,T54,P2] LOAD CTRL_8_VAL_0,?STEER_SPEED_MOT_REAR

i

[L4087,T51,P1] PRIO 1

[L4088,T51,P1] LOAD OLD_VALUE_13,CURRENT_VALUE_12

[L4089,T51,P1] A1512

[L4089,T51,P1] A1513

[L4089,T51,P1] A1514

[L4089,T51,P1] A1515

[L4089,T51,P3] PRIO 3

[L4090,T51,P1/3] PAUSE

[L4270,T51,P3] A1510

RESET

s

[L4092,T51,P3] EXIT AC_38,A1513

t

[L4093,T51,P3] A1516

f

[L4145,T51,P3] AC_38

[L4094,T51,P3] EXIT AC_39,A1514

t

[L4095,T51,P1] A1517

f

[L4097,T51,P3] AC_39[L4095,T51,P1] PRIO 1

[L4096,T51,P1] GOTO A1515

[L4098,T51,P3] CMPS CURRENT_VALUE_12,OLD_VALUE_13

[L4099,T51,P3] JW L,A1518

[L4100,T51,P3] LOAD DIRECTION_14,#0

t

[L4102,T51,P3] A1518

f

[L4101,T51,P3] GOTO A1519

[L4105,T51,P3] A1519

[L4102,T51,P3] CMPS CURRENT_VALUE_12,OLD_VALUE_13

[L4103,T51,P3] JW G,A1520

[L4104,T51,P3] LOAD DIRECTION_14,#1

t

[L4105,T51,P3] A1520

f

[L4105,T51,P3] CMPS DIRECTION_14,#1

[L4106,T51,P3] JW EE,A1521

[L4107,T51,P3] CMPS CURRENT_VALUE_12,V1_12

t

[L4117,T51,P3] A1521

f

[L4108,T51,P3] JW L,A1523

[L4109,T51,P3] LOAD CONTROL_VALUE_12,#0

t

[L4111,T51,P3] A1523

f

[L4110,T51,P3] GOTO A1524

[L4116,T51,P3] A1524

[L4111,T51,P3] CMPS CURRENT_VALUE_12,V2_12

[L4112,T51,P3] JW L,A1525

[L4113,T51,P3] LOAD CONTROL_VALUE_12,#1

t

[L4115,T51,P3] A1525

f

[L4114,T51,P3] GOTO A1526

[L4116,T51,P3] A1526

[L4115,T51,P3] LOAD CONTROL_VALUE_12,#2

[L4116,T51,P3] GOTO A1522

[L4144,T51,P3] A1522

[L4117,T51,P3] CMPS CURRENT_VALUE_12,V2_12

[L4118,T51,P3] JW G,A1527

[L4119,T51,P3] LOAD CONTROL_VALUE_12,#2

t

[L4121,T51,P3] A1527

f

[L4120,T51,P3] GOTO A1528

[L4144,T51,P3] A1528

[L4121,T51,P3] CMPS CURRENT_VALUE_12,V1_12

[L4122,T51,P3] JW G,A1529

[L4123,T51,P3] CMPS CONTROL_VALUE_12,#1

t

[L4134,T51,P3] A1529

f

[L4124,T51,P3] JW NE,A1531

[L4125,T51,P3] CMPS OLD_VALUE_13,V2_12

t

[L4133,T51,P3] A1531

f

[L4126,T51,P3] JW G,A1532

[L4127,T51,P3] LOAD TIME1_10,#0

t

[L4129,T51,P3] A1532

f

[L4128,T51,P3] GOTO A1533

[L4133,T51,P3] A1533

[L4129,T51,P3] ADD TIME1_10,#1

[L4130,T51,P3] CMPS TIME1_10,#7

[L4131,T51,P3] JW G,A1534

[L4132,T51,P3] LOAD CONTROL_VALUE_12,#1

t

[L4133,T51,P3] A1534

f

[L4133,T51,P3] GOTO A1530

[L4144,T51,P3] A1530

[L4134,T51,P3] CMPS CONTROL_VALUE_12,#0

[L4135,T51,P3] JW NE,A1535

[L4136,T51,P3] CMPS OLD_VALUE_13,V1_12

t

[L4144,T51,P3] A1535

f

[L4137,T51,P3] JW G,A1536

[L4138,T51,P3] LOAD TIME2_10,#0

t

[L4140,T51,P3] A1536

f

[L4139,T51,P3] GOTO A1537

[L4144,T51,P3] A1537

[L4140,T51,P3] ADD TIME2_10,#1

[L4141,T51,P3] CMPS TIME2_10,#22

[L4142,T51,P3] JW G,A1538

[L4143,T51,P3] LOAD CONTROL_VALUE_12,#0

t

[L4144,T51,P3] A1538

f

[L4144,T51,P3] EXIT AWAIT_CASE_19,A1512

[L4269,T51,P3] AWAIT_CASE_19

[L4146,T51,P3] CMPS SPEED_VALUE_20,#10

[L4147,T51,P3] JW L,A1539

[L4148,T51,P3] LOAD V1_12,#63755

t

[L4151,T51,P3] A1539

f

[L4149,T51,P3] LOAD V2_12,#63755

[L4150,T51,P3] GOTO A1540

[L4268,T51,P3] A1540

[L4151,T51,P3] CMPS SPEED_VALUE_20,#20

[L4152,T51,P3] JW L,A1541

[L4153,T51,P3] LOAD V1_12,#63755

t

[L4156,T51,P3] A1541

f

[L4154,T51,P3] LOAD V2_12,#63755

[L4155,T51,P3] GOTO A1542

[L4268,T51,P3] A1542

[L4156,T51,P3] CMPS SPEED_VALUE_20,#30

[L4157,T51,P3] JW L,A1543

[L4158,T51,P3] LOAD V1_12,#2785

t

[L4161,T51,P3] A1543

f

[L4159,T51,P3] LOAD V2_12,#4588

[L4160,T51,P3] GOTO A1544

[L4268,T51,P3] A1544

[L4161,T51,P3] CMPS SPEED_VALUE_20,#40

[L4162,T51,P3] JW L,A1545

[L4163,T51,P3] LOAD V1_12,#1901

t[L4166,T51,P3] A1545

f

[L4164,T51,P3] LOAD V2_12,#2949

[L4165,T51,P3] GOTO A1546

[L4268,T51,P3] A1546

[L4166,T51,P3] CMPS SPEED_VALUE_20,#50

[L4167,T51,P3] JW L,A1547

[L4168,T51,P3] LOAD V1_12,#1376

t

[L4171,T51,P3] A1547

f

[L4169,T51,P3] LOAD V2_12,#2064

[L4170,T51,P3] GOTO A1548

[L4268,T51,P3] A1548

[L4171,T51,P3] CMPS SPEED_VALUE_20,#60

[L4172,T51,P3] JW L,A1549

[L4173,T51,P3] LOAD V1_12,#1114

t

[L4176,T51,P3] A1549

f

[L4174,T51,P3] LOAD V2_12,#1671

[L4175,T51,P3] GOTO A1550

[L4268,T51,P3] A1550

[L4176,T51,P3] CMPS SPEED_VALUE_20,#70

[L4177,T51,P3] JW L,A1551

[L4178,T51,P3] LOAD V1_12,#885

t

[L4181,T51,P3] A1551

f

[L4179,T51,P3] LOAD V2_12,#1311

[L4180,T51,P3] GOTO A1552

[L4268,T51,P3] A1552

[L4181,T51,P3] CMPS SPEED_VALUE_20,#80

[L4182,T51,P3] JW L,A1553

[L4183,T51,P3] LOAD V1_12,#688

t

[L4186,T51,P3] A1553

f

[L4184,T51,P3] LOAD V2_12,#1081

[L4185,T51,P3] GOTO A1554

[L4268,T51,P3] A1554

[L4186,T51,P3] CMPS SPEED_VALUE_20,#90

[L4187,T51,P3] JW L,A1555

[L4188,T51,P3] LOAD V1_12,#557

t

[L4191,T51,P3] A1555

f

[L4189,T51,P3] LOAD V2_12,#918

[L4190,T51,P3] GOTO A1556

[L4268,T51,P3] A1556

[L4191,T51,P3] CMPS SPEED_VALUE_20,#100

[L4192,T51,P3] JW L,A1557

[L4193,T51,P3] LOAD V1_12,#459

t

[L4196,T51,P3] A1557

f

[L4194,T51,P3] LOAD V2_12,#786

[L4195,T51,P3] GOTO A1558

[L4268,T51,P3] A1558

[L4196,T51,P3] CMPS SPEED_VALUE_20,#110

[L4197,T51,P3] JW L,A1559

[L4198,T51,P3] LOAD V1_12,#393

t

[L4201,T51,P3] A1559

f

[L4199,T51,P3] LOAD V2_12,#688

[L4200,T51,P3] GOTO A1560

[L4268,T51,P3] A1560

[L4201,T51,P3] CMPS SPEED_VALUE_20,#120

[L4202,T51,P3] JW L,A1561

[L4203,T51,P3] LOAD V1_12,#328

t

[L4206,T51,P3] A1561

f

[L4204,T51,P3] LOAD V2_12,#590

[L4205,T51,P3] GOTO A1562

[L4268,T51,P3] A1562

[L4206,T51,P3] CMPS SPEED_VALUE_20,#130

[L4207,T51,P3] JW L,A1563

[L4208,T51,P3] LOAD V1_12,#262

t

[L4211,T51,P3] A1563

f

[L4209,T51,P3] LOAD V2_12,#524

[L4210,T51,P3] GOTO A1564

[L4268,T51,P3] A1564

[L4211,T51,P3] CMPS SPEED_VALUE_20,#140

[L4212,T51,P3] JW L,A1565

[L4213,T51,P3] LOAD V1_12,#229

t

[L4216,T51,P3] A1565

f

[L4214,T51,P3] LOAD V2_12,#459

[L4215,T51,P3] GOTO A1566

[L4268,T51,P3] A1566

[L4216,T51,P3] CMPS SPEED_VALUE_20,#150

[L4217,T51,P3] JW L,A1567

[L4218,T51,P3] LOAD V1_12,#197

t

[L4221,T51,P3] A1567

f

[L4219,T51,P3] LOAD V2_12,#393

[L4220,T51,P3] GOTO A1568

[L4268,T51,P3] A1568

[L4221,T51,P3] CMPS SPEED_VALUE_20,#160

[L4222,T51,P3] JW L,A1569

[L4223,T51,P3] LOAD V1_12,#164

t

[L4226,T51,P3] A1569

f

[L4224,T51,P3] LOAD V2_12,#328

[L4225,T51,P3] GOTO A1570

[L4268,T51,P3] A1570

[L4226,T51,P3] CMPS SPEED_VALUE_20,#170

[L4227,T51,P3] JW L,A1571

[L4228,T51,P3] LOAD V1_12,#164

t

[L4231,T51,P3] A1571

f

[L4229,T51,P3] LOAD V2_12,#295

[L4230,T51,P3] GOTO A1572

[L4268,T51,P3] A1572

[L4231,T51,P3] CMPS SPEED_VALUE_20,#180

[L4232,T51,P3] JW L,A1573

[L4233,T51,P3] LOAD V1_12,#164

t

[L4236,T51,P3] A1573

f

[L4234,T51,P3] LOAD V2_12,#262

[L4235,T51,P3] GOTO A1574

[L4268,T51,P3] A1574

[L4236,T51,P3] CMPS SPEED_VALUE_20,#190

[L4237,T51,P3] JW L,A1575

[L4238,T51,P3] LOAD V1_12,#164

t

[L4241,T51,P3] A1575

f

[L4239,T51,P3] LOAD V2_12,#229

[L4240,T51,P3] GOTO A1576

[L4268,T51,P3] A1576

[L4241,T51,P3] CMPS SPEED_VALUE_20,#200

[L4242,T51,P3] JW L,A1577

[L4243,T51,P3] LOAD V1_12,#164

t

[L4246,T51,P3] A1577

f

[L4244,T51,P3] LOAD V2_12,#197

[L4245,T51,P3] GOTO A1578

[L4268,T51,P3] A1578

[L4246,T51,P3] CMPS SPEED_VALUE_20,#210

[L4247,T51,P3] JW L,A1579

[L4248,T51,P3] LOAD V1_12,#164

t

[L4251,T51,P3] A1579

f

[L4249,T51,P3] LOAD V2_12,#164

[L4250,T51,P3] GOTO A1580

[L4268,T51,P3] A1580

[L4251,T51,P3] CMPS SPEED_VALUE_20,#220

[L4252,T51,P3] JW L,A1581

[L4253,T51,P3] LOAD V1_12,#164

t

[L4256,T51,P3] A1581

f

[L4254,T51,P3] LOAD V2_12,#164

[L4255,T51,P3] GOTO A1582

[L4268,T51,P3] A1582

[L4256,T51,P3] CMPS SPEED_VALUE_20,#230

[L4257,T51,P3] JW L,A1583

[L4258,T51,P3] LOAD V1_12,#164

t

[L4261,T51,P3] A1583

f

[L4259,T51,P3] LOAD V2_12,#164

[L4260,T51,P3] GOTO A1584

[L4268,T51,P3] A1584

[L4261,T51,P3] CMPS SPEED_VALUE_20,#240

[L4262,T51,P3] JW L,A1585

[L4263,T51,P3] LOAD V1_12,#164

t

[L4266,T51,P3] A1585

f

[L4264,T51,P3] LOAD V2_12,#164

[L4265,T51,P3] GOTO A1586

[L4268,T51,P3] A1586

[L4266,T51,P3] LOAD V1_12,#164

[L4267,T51,P3] LOAD V2_12,#164

[L4268,T51,P3] EXIT AWAIT_CASE_19,A1512

[L4269,T51,P3] GOTO A1511

[L4270,T51,P3] GOTO A1509

[L4271,T46,P4] JOIN 0

[L4272,T52,P2] SIGNALV MOT_DAMAGE

[L4273,T52,P2] SIGNALV MOT_REAR

[L4274,T52,P2] SIGNALV MOT_FRONT

[L4275,T52,P2] SIGNAL IGNORED_8

[L4283,T52,P2/2] PAR*

[L4284,T53,P2] A1587

2

[L4386,T54,P2] A1588

2

[L4488,T55,P2] A1589

2

[L4572,T56,P1] A1590

1

[L4690,T57,P1] A1591

1

[L4808,T58,P1] A1592

1

[L4926,T59,P1] A1593

1

[L4284,T53,P2] A1595

[L4284,T53,P2] LOAD CTRL_1_VAL,#0

[L4285,T53,P2] LOAD CTRL_2_VAL,#0

[L4286,T53,P2] LOAD CTRL_3_VAL,#0

[L4287,T53,P2] LOAD CTRL_4_VAL,#0

[L4288,T53,P2] LOAD CTRL_5_VAL,#0

[L4289,T53,P2] LOAD CTRL_6_VAL,#0

[L4290,T53,P2] LOAD CTRL_7_VAL,#0

[L4291,T53,P2] LOAD CTRL_8_VAL,#0

[L4292,T53,P2] LOAD CTRL_VAL,#0

[L4293,T53,P2] ABORT RESET,A1596

[L4294,T53,P2] A1597

[L4294,T53,P2] EMIT MOT_FRONT

[L4295,T53,P2] SETV MOT_FRONT,CTRL_VAL

[L4587,T56,P1] PRESENT MOT_FRONT,A1725

i

[L4705,T57,P1] PRESENT MOT_FRONT,A1773

i

[L4296,T53,P1] A1598

[L4652,T56,P1] LOAD COM_VALUE,?MOT_FRONT

i

[L4770,T57,P1] LOAD COM_VALUE_0,?MOT_FRONT

i

[L4296,T53,P1] A1599

[L4296,T53,P1] A1600

[L4296,T53,P1] A1601

[L4296,T53,P1] A1602

[L4296,T53,P1] A1603

[L4296,T53,P1] A1604

[L4296,T53,P1] A1605

[L4296,T53,P1] A1606

[L4296,T53,P1] A1607

[L4296,T53,P1] PRIO 1

[L4298,T53,P1/2] PAUSE

[L4385,T53,P2] A1596

RESET

s

[L4300,T53,P2] EXIT AC_40,A1599

t

[L4301,T53,P2] A1608

f

[L4331,T53,P2] AC_40

[L4302,T53,P2] EXIT AC_41,A1600

t

[L4303,T53,P2] A1609

f

[L4329,T53,P2] AC_41

[L4304,T53,P2] EXIT AC_42,A1601

t

[L4305,T53,P2] A1610

f

[L4327,T53,P2] AC_42

[L4306,T53,P2] EXIT AC_43,A1602

t

[L4307,T53,P2] A1611

f

[L4325,T53,P2] AC_43

[L4308,T53,P2] EXIT AC_44,A1603

t

[L4309,T53,P2] A1612

f

[L4323,T53,P2] AC_44

[L4310,T53,P2] EXIT AC_45,A1604

t

[L4311,T53,P2] A1613

f

[L4321,T53,P2] AC_45

[L4312,T53,P2] EXIT AC_46,A1605

t

[L4313,T53,P2] A1614

f

[L4319,T53,P2] AC_46

[L4314,T53,P2] EXIT AC_47,A1606

t

[L4315,T53,P1] A1615

f

[L4317,T53,P2] AC_47[L4315,T53,P1] PRIO 1

[L4316,T53,P1] GOTO A1607

[L4318,T53,P2] EXIT AWAIT_CASE_20,A1598

[L4333,T53,P2] AWAIT_CASE_20

[L4320,T53,P2] EXIT AWAIT_CASE_20,A1598

[L4322,T53,P2] EXIT AWAIT_CASE_20,A1598

[L4324,T53,P2] EXIT AWAIT_CASE_20,A1598

[L4326,T53,P2] EXIT AWAIT_CASE_20,A1598

[L4328,T53,P2] EXIT AWAIT_CASE_20,A1598

[L4330,T53,P2] EXIT AWAIT_CASE_20,A1598

[L4332,T53,P2] EXIT AWAIT_CASE_20,A1598

[L4333,T53,P2] CMPS CTRL_1_VAL,#2

[L4334,T53,P2] JW EE,A1624

[L4335,T53,P2] GOTO A1617

t

[L4336,T53,P2] A1624

f

[L4356,T53,P2] A1617

[L4336,T53,P2] CMPS CTRL_2_VAL,#2

[L4337,T53,P2] JW EE,A1623

[L4338,T53,P2] GOTO A1617

t

[L4339,T53,P2] A1623

f

[L4339,T53,P2] CMPS CTRL_3_VAL,#2

[L4340,T53,P2] JW EE,A1622

[L4341,T53,P2] GOTO A1617

t

[L4342,T53,P2] A1622

f

[L4342,T53,P2] CMPS CTRL_4_VAL,#2

[L4343,T53,P2] JW EE,A1621

[L4344,T53,P2] GOTO A1617

t

[L4345,T53,P2] A1621

f

[L4345,T53,P2] CMPS CTRL_5_VAL,#2

[L4346,T53,P2] JW EE,A1620

[L4347,T53,P2] GOTO A1617

t

[L4348,T53,P2] A1620

f

[L4348,T53,P2] CMPS CTRL_6_VAL,#2

[L4349,T53,P2] JW EE,A1619

[L4350,T53,P2] GOTO A1617

t

[L4351,T53,P2] A1619

f

[L4351,T53,P2] CMPS CTRL_7_VAL,#2

[L4352,T53,P2] JW EE,A1618

[L4353,T53,P2] GOTO A1617

t

[L4354,T53,P2] A1618

f

[L4354,T53,P2] CMPS CTRL_8_VAL,#2

[L4355,T53,P2] JW EE,A1616

t

[L4358,T53,P2] A1616

f

[L4356,T53,P2] LOAD CTRL_VAL,#2

[L4357,T53,P2] GOTO A1625

[L4384,T53,P2] A1625

[L4358,T53,P2] CMPS CTRL_1_VAL,#1

[L4359,T53,P2] JW EE,A1634

[L4360,T53,P2] GOTO A1627

t

[L4361,T53,P2] A1634

f

[L4381,T53,P2] A1627

[L4361,T53,P2] CMPS CTRL_2_VAL,#1

[L4362,T53,P2] JW EE,A1633

[L4363,T53,P2] GOTO A1627

t [L4364,T53,P2] A1633

f

[L4364,T53,P2] CMPS CTRL_3_VAL,#1

[L4365,T53,P2] JW EE,A1632

[L4366,T53,P2] GOTO A1627

t[L4367,T53,P2] A1632

f

[L4367,T53,P2] CMPS CTRL_4_VAL,#1

[L4368,T53,P2] JW EE,A1631

[L4369,T53,P2] GOTO A1627

t

[L4370,T53,P2] A1631

f

[L4370,T53,P2] CMPS CTRL_5_VAL,#1

[L4371,T53,P2] JW EE,A1630

[L4372,T53,P2] GOTO A1627

t

[L4373,T53,P2] A1630

f

[L4373,T53,P2] CMPS CTRL_6_VAL,#1

[L4374,T53,P2] JW EE,A1629

[L4375,T53,P2] GOTO A1627

t

[L4376,T53,P2] A1629

f

[L4376,T53,P2] CMPS CTRL_7_VAL,#1

[L4377,T53,P2] JW EE,A1628

[L4378,T53,P2] GOTO A1627

t

[L4379,T53,P2] A1628

f

[L4379,T53,P2] CMPS CTRL_8_VAL,#1

[L4380,T53,P2] JW EE,A1626

t

[L4383,T53,P2] A1626

f

[L4381,T53,P2] LOAD CTRL_VAL,#1

[L4382,T53,P2] GOTO A1635

[L4384,T53,P2] A1635

[L4383,T53,P2] LOAD CTRL_VAL,#0

[L4384,T53,P2] GOTO A1597

[L4385,T53,P2] GOTO A1595

[L4386,T54,P2] A1636

[L4386,T54,P2] LOAD CTRL_1_VAL_0,#0

[L4387,T54,P2] LOAD CTRL_2_VAL_0,#0

[L4388,T54,P2] LOAD CTRL_3_VAL_0,#0

[L4389,T54,P2] LOAD CTRL_4_VAL_0,#0

[L4390,T54,P2] LOAD CTRL_5_VAL_0,#0

[L4391,T54,P2] LOAD CTRL_6_VAL_0,#0

[L4392,T54,P2] LOAD CTRL_7_VAL_0,#0

[L4393,T54,P2] LOAD CTRL_8_VAL_0,#0

[L4394,T54,P2] LOAD CTRL_VAL_0,#0

[L4395,T54,P2] ABORT RESET,A1637

[L4396,T54,P2] A1638

[L4396,T54,P2] EMIT MOT_REAR

[L4397,T54,P2] SETV MOT_REAR,CTRL_VAL_0

[L4823,T58,P1] PRESENT MOT_REAR,A1821

i

[L4941,T59,P1] PRESENT MOT_REAR,A1869

i

[L4398,T54,P1] A1639

[L4888,T58,P1] LOAD COM_VALUE_1,?MOT_REAR

i

[L5006,T59,P1] LOAD COM_VALUE_2,?MOT_REAR

i

[L4398,T54,P1] A1640

[L4398,T54,P1] A1641

[L4398,T54,P1] A1642

[L4398,T54,P1] A1643

[L4398,T54,P1] A1644

[L4398,T54,P1] A1645

[L4398,T54,P1] A1646

[L4398,T54,P1] A1647

[L4398,T54,P1] A1648

[L4398,T54,P1] PRIO 1

[L4400,T54,P1/2] PAUSE

[L4487,T54,P2] A1637

RESET

s

[L4402,T54,P2] EXIT AC_48,A1640

t

[L4403,T54,P2] A1649

f

[L4433,T54,P2] AC_48

[L4404,T54,P2] EXIT AC_49,A1641

t

[L4405,T54,P2] A1650

f

[L4431,T54,P2] AC_49

[L4406,T54,P2] EXIT AC_50,A1642

t

[L4407,T54,P2] A1651

f

[L4429,T54,P2] AC_50

[L4408,T54,P2] EXIT AC_51,A1643

t

[L4409,T54,P2] A1652

f

[L4427,T54,P2] AC_51

[L4410,T54,P2] EXIT AC_52,A1644

t

[L4411,T54,P2] A1653

f

[L4425,T54,P2] AC_52

[L4412,T54,P2] EXIT AC_53,A1645

t

[L4413,T54,P2] A1654

f

[L4423,T54,P2] AC_53

[L4414,T54,P2] EXIT AC_54,A1646

t

[L4415,T54,P2] A1655

f

[L4421,T54,P2] AC_54

[L4416,T54,P2] EXIT AC_55,A1647

t

[L4417,T54,P1] A1656

f

[L4419,T54,P2] AC_55 [L4417,T54,P1] PRIO 1

[L4418,T54,P1] GOTO A1648

[L4420,T54,P2] EXIT AWAIT_CASE_21,A1639

[L4435,T54,P2] AWAIT_CASE_21

[L4422,T54,P2] EXIT AWAIT_CASE_21,A1639

[L4424,T54,P2] EXIT AWAIT_CASE_21,A1639

[L4426,T54,P2] EXIT AWAIT_CASE_21,A1639

[L4428,T54,P2] EXIT AWAIT_CASE_21,A1639

[L4430,T54,P2] EXIT AWAIT_CASE_21,A1639

[L4432,T54,P2] EXIT AWAIT_CASE_21,A1639

[L4434,T54,P2] EXIT AWAIT_CASE_21,A1639

[L4435,T54,P2] CMPS CTRL_1_VAL_0,#2

[L4436,T54,P2] JW EE,A1665

[L4437,T54,P2] GOTO A1658

t[L4438,T54,P2] A1665

f

[L4458,T54,P2] A1658

[L4438,T54,P2] CMPS CTRL_2_VAL_0,#2

[L4439,T54,P2] JW EE,A1664

[L4440,T54,P2] GOTO A1658

t

[L4441,T54,P2] A1664

f

[L4441,T54,P2] CMPS CTRL_3_VAL_0,#2

[L4442,T54,P2] JW EE,A1663

[L4443,T54,P2] GOTO A1658

t

[L4444,T54,P2] A1663

f

[L4444,T54,P2] CMPS CTRL_4_VAL_0,#2

[L4445,T54,P2] JW EE,A1662

[L4446,T54,P2] GOTO A1658

t [L4447,T54,P2] A1662

f

[L4447,T54,P2] CMPS CTRL_5_VAL_0,#2

[L4448,T54,P2] JW EE,A1661

[L4449,T54,P2] GOTO A1658

t

[L4450,T54,P2] A1661

f

[L4450,T54,P2] CMPS CTRL_6_VAL_0,#2

[L4451,T54,P2] JW EE,A1660

[L4452,T54,P2] GOTO A1658

t[L4453,T54,P2] A1660

f

[L4453,T54,P2] CMPS CTRL_7_VAL_0,#2

[L4454,T54,P2] JW EE,A1659

[L4455,T54,P2] GOTO A1658

t

[L4456,T54,P2] A1659

f

[L4456,T54,P2] CMPS CTRL_8_VAL_0,#2

[L4457,T54,P2] JW EE,A1657

t

[L4460,T54,P2] A1657

f

[L4458,T54,P2] LOAD CTRL_VAL_0,#2

[L4459,T54,P2] GOTO A1666

[L4486,T54,P2] A1666

[L4460,T54,P2] CMPS CTRL_1_VAL_0,#1

[L4461,T54,P2] JW EE,A1675

[L4462,T54,P2] GOTO A1668

t

[L4463,T54,P2] A1675

f

[L4483,T54,P2] A1668

[L4463,T54,P2] CMPS CTRL_2_VAL_0,#1

[L4464,T54,P2] JW EE,A1674

[L4465,T54,P2] GOTO A1668

t

[L4466,T54,P2] A1674

f

[L4466,T54,P2] CMPS CTRL_3_VAL_0,#1

[L4467,T54,P2] JW EE,A1673

[L4468,T54,P2] GOTO A1668

t

[L4469,T54,P2] A1673

f

[L4469,T54,P2] CMPS CTRL_4_VAL_0,#1

[L4470,T54,P2] JW EE,A1672

[L4471,T54,P2] GOTO A1668

t

[L4472,T54,P2] A1672

f

[L4472,T54,P2] CMPS CTRL_5_VAL_0,#1

[L4473,T54,P2] JW EE,A1671

[L4474,T54,P2] GOTO A1668

t

[L4475,T54,P2] A1671

f

[L4475,T54,P2] CMPS CTRL_6_VAL_0,#1

[L4476,T54,P2] JW EE,A1670

[L4477,T54,P2] GOTO A1668

t

[L4478,T54,P2] A1670

f

[L4478,T54,P2] CMPS CTRL_7_VAL_0,#1

[L4479,T54,P2] JW EE,A1669

[L4480,T54,P2] GOTO A1668

t

[L4481,T54,P2] A1669

f

[L4481,T54,P2] CMPS CTRL_8_VAL_0,#1

[L4482,T54,P2] JW EE,A1667

t

[L4485,T54,P2] A1667

f

[L4483,T54,P2] LOAD CTRL_VAL_0,#1

[L4484,T54,P2] GOTO A1676

[L4486,T54,P2] A1676

[L4485,T54,P2] LOAD CTRL_VAL_0,#0

[L4486,T54,P2] GOTO A1638

[L4487,T54,P2] GOTO A1636

[L4488,T55,P2] A1677

[L4488,T55,P2] LOAD LONG_SPEED_ERR_VALUE,#0

[L4489,T55,P2] LOAD VER_ACC_ERR_VALUE,#0

[L4490,T55,P2] LOAD STEER_ANG_ERR_VALUE,#0

[L4491,T55,P2] LOAD STEER_SPEED_ERR_VALUE,#0

[L4492,T55,P2] LOAD BAT_ERR_VALUE,#0

[L4493,T55,P2] LOAD BAT_MOT_HARD_VALUE,#0

[L4494,T55,P2] LOAD STEER_ANG_DAMAGE_VALUE_0,#0

[L4495,T55,P2] LOAD MOT_DAMAGE_VALUE,#0

[L4496,T55,P2] ABORT RESET,A1678

[L4497,T55,P2] A1679

[L4497,T55,P2] EMIT MOT_DAMAGE

[L4498,T55,P2] SETV MOT_DAMAGE,MOT_DAMAGE_VALUE

[L4589,T56,P1] PRESENT MOT_DAMAGE,A1726

i

[L4707,T57,P1] PRESENT MOT_DAMAGE,A1774

i

[L4825,T58,P1] PRESENT MOT_DAMAGE,A1822

i

[L4943,T59,P1] PRESENT MOT_DAMAGE,A1870

i

[L4499,T55,P1] A1680 [L4647,T56,P1] LOAD DAM_VALUE,?MOT_DAMAGE

i

[L4765,T57,P1] LOAD DAM_VALUE_0,?MOT_DAMAGE

i

[L4883,T58,P1] LOAD DAM_VALUE_1,?MOT_DAMAGE

i

[L5001,T59,P1] LOAD DAM_VALUE_2,?MOT_DAMAGE

i

[L4499,T55,P1] A1681

[L4499,T55,P1] A1682

[L4499,T55,P1] A1683

[L4499,T55,P1] A1684

[L4499,T55,P1] A1685

[L4499,T55,P1] A1686

[L4499,T55,P1] A1687

[L4499,T55,P1] A1688

[L4499,T55,P1] A1689

[L4499,T55,P1] A1690

[L4499,T55,P1] PRIO 1

[L4501,T55,P1/2] PAUSE

[L4571,T55,P2] A1678

RESETs

[L4503,T55,P2] EXIT AC_56,A1681

t

[L4504,T55,P2] A1691

f

[L4541,T55,P2] AC_56

[L4505,T55,P2] EXIT AC_57,A1682

t

[L4506,T55,P2] A1692

f

[L4539,T55,P2] AC_57

[L4507,T55,P2] EXIT AC_58,A1683

t

[L4508,T55,P2] A1693

f

[L4537,T55,P2] AC_58

[L4509,T55,P2] EXIT AC_59,A1684

t

[L4510,T55,P2] A1694

f

[L4535,T55,P2] AC_59

[L4511,T55,P2] EXIT AC_60,A1685

t

[L4512,T55,P2] A1695

f

[L4533,T55,P2] AC_60

[L4513,T55,P2] EXIT AC_61,A1686

t

[L4514,T55,P2] A1696

f

[L4531,T55,P2] AC_61

[L4515,T55,P2] EXIT AC_62,A1687

t

[L4516,T55,P2] A1697

f

[L4528,T55,P2] AC_62

[L4517,T55,P2] EXIT AC_63,A1688

t

[L4518,T55,P2] A1698

f

[L4524,T55,P2] AC_63

[L4519,T55,P2] EXIT AC_64,A1689

t

[L4520,T55,P1] A1699

f

[L4522,T55,P2] AC_64

[L4520,T55,P1] PRIO 1

[L4521,T55,P1] GOTO A1690

[L4523,T55,P2] EXIT AWAIT_CASE_22,A1680

[L4543,T55,P2] AWAIT_CASE_22

[L4524,T55,P2] CMPS STEER_SPEED_ERR_VALUE,#2

[L4525,T55,P2] JW NE,A1700

[L4526,T55,P2] LOAD STEER_SPEED_ERR_VALUE,#1

t

[L4527,T55,P2] A1700

f

[L4527,T55,P2] EXIT AWAIT_CASE_22,A1680

[L4528,T55,P2] LOAD BAT_ERR_VALUE,#0

[L4529,T55,P2] LOAD BAT_MOT_HARD_VALUE,#0

[L4530,T55,P2] EXIT AWAIT_CASE_22,A1680

[L4531,T55,P2] LOAD BAT_MOT_HARD_VALUE,#2

[L4532,T55,P2] EXIT AWAIT_CASE_22,A1680

[L4533,T55,P2] LOAD BAT_ERR_VALUE,#2

[L4534,T55,P2] EXIT AWAIT_CASE_22,A1680

[L4535,T55,P2] LOAD STEER_SPEED_ERR_VALUE,#2

[L4536,T55,P2] EXIT AWAIT_CASE_22,A1680

[L4537,T55,P2] LOAD STEER_ANG_ERR_VALUE,#2

[L4538,T55,P2] EXIT AWAIT_CASE_22,A1680

[L4539,T55,P2] LOAD VER_ACC_ERR_VALUE,#2

[L4540,T55,P2] EXIT AWAIT_CASE_22,A1680

[L4541,T55,P2] LOAD LONG_SPEED_ERR_VALUE,#2

[L4542,T55,P2] EXIT AWAIT_CASE_22,A1680

[L4543,T55,P2] CMPS LONG_SPEED_ERR_VALUE,#2

[L4544,T55,P2] JW EE,A1707

[L4545,T55,P2] GOTO A1702

t

[L4546,T55,P2] A1707

f

[L4560,T55,P2] A1702

[L4546,T55,P2] CMPS VER_ACC_ERR_VALUE,#2

[L4547,T55,P2] JW EE,A1706

[L4548,T55,P2] GOTO A1702

t

[L4549,T55,P2] A1706

f

[L4549,T55,P2] CMPS STEER_ANG_ERR_VALUE,#2

[L4550,T55,P2] JW EE,A1705

[L4551,T55,P2] GOTO A1702

t [L4552,T55,P2] A1705

f

[L4552,T55,P2] CMPS STEER_SPEED_ERR_VALUE,#2

[L4553,T55,P2] JW EE,A1704

[L4554,T55,P2] GOTO A1702

t

[L4555,T55,P2] A1704

f

[L4555,T55,P2] CMPS BAT_ERR_VALUE,#2

[L4556,T55,P2] JW EE,A1703

[L4557,T55,P2] GOTO A1702

t

[L4558,T55,P2] A1703

f

[L4558,T55,P2] CMPS STEER_ANG_DAMAGE_VALUE_0,#2

[L4559,T55,P2] JW EE,A1701

t

[L4562,T55,P2] A1701

f

[L4560,T55,P2] LOAD MOT_DAMAGE_VALUE,#2

[L4561,T55,P2] GOTO A1708

[L4570,T55,P2] A1708

[L4562,T55,P2] CMPS STEER_SPEED_ERR_VALUE,#1

[L4563,T55,P2] JW EE,A1711

[L4564,T55,P2] GOTO A1710

t

[L4565,T55,P2] A1711

f

[L4567,T55,P2] A1710

[L4565,T55,P2] CMPS STEER_ANG_DAMAGE_VALUE_0,#1

[L4566,T55,P2] JW EE,A1709

t

[L4569,T55,P2] A1709

f

[L4567,T55,P2] LOAD MOT_DAMAGE_VALUE,#1

[L4568,T55,P2] GOTO A1712

[L4570,T55,P2] A1712

[L4569,T55,P2] LOAD MOT_DAMAGE_VALUE,#0

[L4570,T55,P2] GOTO A1679

[L4571,T55,P2] GOTO A1677

[L4572,T56,P1] A1713

[L4572,T56,P1] LOAD CHANNEL_P_VALUE,#0

[L4573,T56,P1] LOAD CHANNEL_N_VALUE,#1

[L4574,T56,P1] LOAD POS_VALUE,#0

[L4575,T56,P1] LOAD COM_VALUE,#0

[L4576,T56,P1] LOAD DAM_VALUE,#0

[L4577,T56,P1] LOAD START_TIMER,#0

[L4578,T56,P1] LOAD STOP_TIMER,#0

[L4579,T56,P1] ABORT RESET,A1714

[L4580,T56,P1] A1715

[L4580,T56,P1] EMIT MOT_CHANNEL_P1

[L4581,T56,P1] SETV MOT_CHANNEL_P1,CHANNEL_P_VALUE

[L4582,T56,P1] EMIT MOT_CHANNEL_N1

[L4583,T56,P1] SETV MOT_CHANNEL_N1,CHANNEL_N_VALUE

[L4584,T56,P1] A1716

[L4584,T56,P1] A1717

[L4584,T56,P1] A1718

[L4584,T56,P1] A1719

[L4584,T56,P1] A1720

[L4584,T56,P1] A1721

[L4584,T56,P1] A1722

[L4584,T56,P1] A1723

[L4584,T56,P1/1] PAUSE

[L4585,T56,P1] PRESENT CLOCK_500,A1724 [L4689,T56,P1] A1714

RESETs

[L4586,T56,P1] EXIT AC_65,A1717

t

[L4587,T56,P1] A1724

f

[L4657,T56,P1] AC_65

[L4588,T56,P1] EXIT AC_66,A1718

t

[L4589,T56,P1] A1725

f

[L4652,T56,P1] AC_66

[L4590,T56,P1] EXIT AC_67,A1719

t

[L4591,T56,P1] A1726

f

[L4647,T56,P1] AC_67 [L4591,T56,P1] PRESENT MOT_POS_A1,A1727

[L4592,T56,P1] EXIT AC_68,A1720

t

[L4593,T56,P1] A1727

f

[L4630,T56,P1] AC_68[L4593,T56,P1] PRESENT MOT_POS_B1,A1728

[L4594,T56,P1] EXIT AC_69,A1721

t

[L4595,T56,P1] A1728

f

[L4613,T56,P1] AC_69[L4595,T56,P1] PRESENT VBAT,A1729

[L4596,T56,P1] EXIT AC_70,A1722

t

[L4597,T56,P1] A1729

f

[L4598,T56,P1] AC_70[L4597,T56,P1] GOTO A1723

[L4598,T56,P1] LOAD VBAT_VALUE_0,?VBAT

[L4599,T56,P1] CMPS VBAT_VALUE_0,#100

[L4600,T56,P1] JW L,A1730

[L4601,T56,P1] LOAD TIME_ADD,#9000

t

[L4603,T56,P1] A1730

f

[L4602,T56,P1] GOTO A1731

[L4612,T56,P1] A1731

[L4603,T56,P1] CMPS VBAT_VALUE_0,#120

[L4604,T56,P1] JW L,A1732

[L4605,T56,P1] LOAD TIME_ADD,#6000

t

[L4607,T56,P1] A1732

f

[L4606,T56,P1] GOTO A1733

[L4612,T56,P1] A1733

[L4607,T56,P1] CMPS VBAT_VALUE_0,#130

[L4608,T56,P1] JW L,A1734

[L4609,T56,P1] LOAD TIME_ADD,#3000

t

[L4611,T56,P1] A1734

f

[L4610,T56,P1] GOTO A1735

[L4612,T56,P1] A1735

[L4611,T56,P1] LOAD TIME_ADD,#0

[L4612,T56,P1] EXIT AWAIT_CASE_23,A1716

[L4671,T56,P1] AWAIT_CASE_23

[L4613,T56,P1] LOAD POS_B_VALUE,?MOT_POS_B1

[L4614,T56,P1] CMPS POS_A_VALUE,#1

[L4615,T56,P1] JW EE,A1736

[L4616,T56,P1] CMPS POS_B_VALUE,#1

t

[L4621,T56,P1] A1736

f[L4617,T56,P1] JW EE,A1737

[L4618,T56,P1] GOTO A1736

t

[L4619,T56,P1] A1737

f

[L4619,T56,P1] LOAD POS_VALUE,#2

[L4620,T56,P1] GOTO A1738

[L4629,T56,P1] A1738

[L4621,T56,P1] CMPS POS_B_VALUE,#1

[L4622,T56,P1] JW EE,A1739

[L4623,T56,P1] CMPS POS_A_VALUE,#1

t

[L4628,T56,P1] A1739

f [L4624,T56,P1] JW EE,A1740

[L4625,T56,P1] GOTO A1739

t

[L4626,T56,P1] A1740

f

[L4626,T56,P1] LOAD POS_VALUE,#0

[L4627,T56,P1] GOTO A1741

[L4629,T56,P1] A1741

[L4628,T56,P1] LOAD POS_VALUE,#1

[L4629,T56,P1] EXIT AWAIT_CASE_23,A1716

[L4630,T56,P1] LOAD POS_A_VALUE,?MOT_POS_A1

[L4631,T56,P1] CMPS POS_A_VALUE,#1

[L4632,T56,P1] JW EE,A1742

[L4633,T56,P1] CMPS POS_B_VALUE,#1

t

[L4638,T56,P1] A1742

f [L4634,T56,P1] JW EE,A1743

[L4635,T56,P1] GOTO A1742

t

[L4636,T56,P1] A1743

f

[L4636,T56,P1] LOAD POS_VALUE,#2

[L4637,T56,P1] GOTO A1744

[L4646,T56,P1] A1744

[L4638,T56,P1] CMPS POS_B_VALUE,#1

[L4639,T56,P1] JW EE,A1745

[L4640,T56,P1] CMPS POS_A_VALUE,#1

t

[L4645,T56,P1] A1745

f [L4641,T56,P1] JW EE,A1746

[L4642,T56,P1] GOTO A1745

t

[L4643,T56,P1] A1746

f

[L4643,T56,P1] LOAD POS_VALUE,#0

[L4644,T56,P1] GOTO A1747

[L4646,T56,P1] A1747

[L4645,T56,P1] LOAD POS_VALUE,#1

[L4646,T56,P1] EXIT AWAIT_CASE_23,A1716

[L4648,T56,P1] CMPS DAM_VALUE,COM_VALUE

[L4649,T56,P1] JW G,A1748

[L4650,T56,P1] LOAD COM_VALUE,DAM_VALUE

t

[L4651,T56,P1] A1748

f

[L4651,T56,P1] EXIT AWAIT_CASE_23,A1716

[L4653,T56,P1] CMPS DAM_VALUE,COM_VALUE

[L4654,T56,P1] JW G,A1749

[L4655,T56,P1] LOAD COM_VALUE,DAM_VALUE

t

[L4656,T56,P1] A1749

f

[L4656,T56,P1] EXIT AWAIT_CASE_23,A1716

[L4657,T56,P1] CMPS POS_VALUE,COM_VALUE

[L4658,T56,P1] JW NE,A1750

[L4659,T56,P1] CMPS CHANNEL_P_VALUE,#1

t

[L4664,T56,P1] A1750

f[L4660,T56,P1] JW EE,A1751

[L4661,T56,P1] GOTO A1750

t

[L4662,T56,P1] A1751

f

[L4662,T56,P1] ADD START_TIMER,#1

[L4663,T56,P1] GOTO A1752

[L4670,T56,P1] A1752

[L4664,T56,P1] CMPS POS_VALUE,COM_VALUE

[L4665,T56,P1] JW EE,A1753

[L4666,T56,P1] CMPS CHANNEL_N_VALUE,#1

t

[L4670,T56,P1] A1753

f

[L4667,T56,P1] JW EE,A1754

[L4668,T56,P1] GOTO A1753

t

[L4669,T56,P1] A1754

f

[L4669,T56,P1] ADD STOP_TIMER,#1

[L4670,T56,P1] EXIT AWAIT_CASE_23,A1716

[L4671,T56,P1] CMPS POS_VALUE,COM_VALUE

[L4672,T56,P1] JW NE,A1755

[L4673,T56,P1] CMPS START_TIMER,#100

t

[L4680,T56,P1] A1755

f

[L4674,T56,P1] JW G,A1757

[L4675,T56,P1] LOAD CHANNEL_P_VALUE,#1

t

[L4678,T56,P1] A1757

f

[L4676,T56,P1] LOAD START_TIMER,#0

[L4677,T56,P1] GOTO A1758

[L4679,T56,P1] A1758

[L4678,T56,P1] LOAD CHANNEL_N_VALUE,#0

[L4679,T56,P1] GOTO A1756

[L4688,T56,P1] A1756

[L4680,T56,P1] LOAD REG42,TIME_ADD

[L4681,T56,P1] ADD REG42,#200

[L4682,T56,P1] CMPS STOP_TIMER,REG42

[L4683,T56,P1] JW G,A1759

[L4684,T56,P1] LOAD CHANNEL_N_VALUE,#1

t

[L4687,T56,P1] A1759

f

[L4685,T56,P1] LOAD STOP_TIMER,#0

[L4686,T56,P1] GOTO A1760

[L4688,T56,P1] A1760

[L4687,T56,P1] LOAD CHANNEL_P_VALUE,#0

[L4688,T56,P1] GOTO A1715

[L4689,T56,P1] GOTO A1713

[L4690,T57,P1] A1761

[L4690,T57,P1] LOAD CHANNEL_P_VALUE_0,#0

[L4691,T57,P1] LOAD CHANNEL_N_VALUE_0,#1

[L4692,T57,P1] LOAD POS_VALUE_0,#0

[L4693,T57,P1] LOAD COM_VALUE_0,#0

[L4694,T57,P1] LOAD DAM_VALUE_0,#0

[L4695,T57,P1] LOAD START_TIMER_0,#0

[L4696,T57,P1] LOAD STOP_TIMER_0,#0

[L4697,T57,P1] ABORT RESET,A1762

[L4698,T57,P1] A1763

[L4698,T57,P1] EMIT MOT_CHANNEL_P2

[L4699,T57,P1] SETV MOT_CHANNEL_P2,CHANNEL_P_VALUE_0

[L4700,T57,P1] EMIT MOT_CHANNEL_N2

[L4701,T57,P1] SETV MOT_CHANNEL_N2,CHANNEL_N_VALUE_0

[L4702,T57,P1] A1764

[L4702,T57,P1] A1765

[L4702,T57,P1] A1766

[L4702,T57,P1] A1767

[L4702,T57,P1] A1768

[L4702,T57,P1] A1769

[L4702,T57,P1] A1770

[L4702,T57,P1] A1771

[L4702,T57,P1/1] PAUSE

[L4703,T57,P1] PRESENT CLOCK_500,A1772 [L4807,T57,P1] A1762

RESET

s

[L4704,T57,P1] EXIT AC_71,A1765

t

[L4705,T57,P1] A1772

f

[L4775,T57,P1] AC_71

[L4706,T57,P1] EXIT AC_72,A1766

t

[L4707,T57,P1] A1773

f

[L4770,T57,P1] AC_72

[L4708,T57,P1] EXIT AC_73,A1767

t

[L4709,T57,P1] A1774

f

[L4765,T57,P1] AC_73[L4709,T57,P1] PRESENT MOT_POS_A2,A1775

[L4710,T57,P1] EXIT AC_74,A1768

t

[L4711,T57,P1] A1775

f

[L4748,T57,P1] AC_74[L4711,T57,P1] PRESENT MOT_POS_B2,A1776

[L4712,T57,P1] EXIT AC_75,A1769

t

[L4713,T57,P1] A1776

f

[L4731,T57,P1] AC_75 [L4713,T57,P1] PRESENT VBAT,A1777

[L4714,T57,P1] EXIT AC_76,A1770

t

[L4715,T57,P1] A1777

f

[L4716,T57,P1] AC_76 [L4715,T57,P1] GOTO A1771

[L4716,T57,P1] LOAD VBAT_VALUE_1,?VBAT

[L4717,T57,P1] CMPS VBAT_VALUE_1,#100

[L4718,T57,P1] JW L,A1778

[L4719,T57,P1] LOAD TIME_ADD_0,#9000

t

[L4721,T57,P1] A1778

f

[L4720,T57,P1] GOTO A1779

[L4730,T57,P1] A1779

[L4721,T57,P1] CMPS VBAT_VALUE_1,#120

[L4722,T57,P1] JW L,A1780

[L4723,T57,P1] LOAD TIME_ADD_0,#6000

t

[L4725,T57,P1] A1780

f

[L4724,T57,P1] GOTO A1781

[L4730,T57,P1] A1781

[L4725,T57,P1] CMPS VBAT_VALUE_1,#130

[L4726,T57,P1] JW L,A1782

[L4727,T57,P1] LOAD TIME_ADD_0,#3000

t

[L4729,T57,P1] A1782

f

[L4728,T57,P1] GOTO A1783

[L4730,T57,P1] A1783

[L4729,T57,P1] LOAD TIME_ADD_0,#0

[L4730,T57,P1] EXIT AWAIT_CASE_24,A1764

[L4789,T57,P1] AWAIT_CASE_24

[L4731,T57,P1] LOAD POS_B_VALUE_0,?MOT_POS_B2

[L4732,T57,P1] CMPS POS_A_VALUE_0,#1

[L4733,T57,P1] JW EE,A1784

[L4734,T57,P1] CMPS POS_B_VALUE_0,#1

t

[L4739,T57,P1] A1784

f[L4735,T57,P1] JW EE,A1785

[L4736,T57,P1] GOTO A1784

t

[L4737,T57,P1] A1785

f

[L4737,T57,P1] LOAD POS_VALUE_0,#2

[L4738,T57,P1] GOTO A1786

[L4747,T57,P1] A1786

[L4739,T57,P1] CMPS POS_B_VALUE_0,#1

[L4740,T57,P1] JW EE,A1787

[L4741,T57,P1] CMPS POS_A_VALUE_0,#1

t

[L4746,T57,P1] A1787

f [L4742,T57,P1] JW EE,A1788

[L4743,T57,P1] GOTO A1787

t

[L4744,T57,P1] A1788

f

[L4744,T57,P1] LOAD POS_VALUE_0,#0

[L4745,T57,P1] GOTO A1789

[L4747,T57,P1] A1789

[L4746,T57,P1] LOAD POS_VALUE_0,#1

[L4747,T57,P1] EXIT AWAIT_CASE_24,A1764

[L4748,T57,P1] LOAD POS_A_VALUE_0,?MOT_POS_A2

[L4749,T57,P1] CMPS POS_A_VALUE_0,#1

[L4750,T57,P1] JW EE,A1790

[L4751,T57,P1] CMPS POS_B_VALUE_0,#1

t

[L4756,T57,P1] A1790

f [L4752,T57,P1] JW EE,A1791

[L4753,T57,P1] GOTO A1790

t

[L4754,T57,P1] A1791

f

[L4754,T57,P1] LOAD POS_VALUE_0,#2

[L4755,T57,P1] GOTO A1792

[L4764,T57,P1] A1792

[L4756,T57,P1] CMPS POS_B_VALUE_0,#1

[L4757,T57,P1] JW EE,A1793

[L4758,T57,P1] CMPS POS_A_VALUE_0,#1

t

[L4763,T57,P1] A1793

f[L4759,T57,P1] JW EE,A1794

[L4760,T57,P1] GOTO A1793

t

[L4761,T57,P1] A1794

f

[L4761,T57,P1] LOAD POS_VALUE_0,#0

[L4762,T57,P1] GOTO A1795

[L4764,T57,P1] A1795

[L4763,T57,P1] LOAD POS_VALUE_0,#1

[L4764,T57,P1] EXIT AWAIT_CASE_24,A1764

[L4766,T57,P1] CMPS DAM_VALUE_0,COM_VALUE_0

[L4767,T57,P1] JW G,A1796

[L4768,T57,P1] LOAD COM_VALUE_0,DAM_VALUE_0

t

[L4769,T57,P1] A1796

f

[L4769,T57,P1] EXIT AWAIT_CASE_24,A1764

[L4771,T57,P1] CMPS DAM_VALUE_0,COM_VALUE_0

[L4772,T57,P1] JW G,A1797

[L4773,T57,P1] LOAD COM_VALUE_0,DAM_VALUE_0

t

[L4774,T57,P1] A1797

f

[L4774,T57,P1] EXIT AWAIT_CASE_24,A1764

[L4775,T57,P1] CMPS POS_VALUE_0,COM_VALUE_0

[L4776,T57,P1] JW NE,A1798

[L4777,T57,P1] CMPS CHANNEL_P_VALUE_0,#1

t

[L4782,T57,P1] A1798

f [L4778,T57,P1] JW EE,A1799

[L4779,T57,P1] GOTO A1798

t

[L4780,T57,P1] A1799

f

[L4780,T57,P1] ADD START_TIMER_0,#1

[L4781,T57,P1] GOTO A1800

[L4788,T57,P1] A1800

[L4782,T57,P1] CMPS POS_VALUE_0,COM_VALUE_0

[L4783,T57,P1] JW EE,A1801

[L4784,T57,P1] CMPS CHANNEL_N_VALUE_0,#1

t

[L4788,T57,P1] A1801

f

[L4785,T57,P1] JW EE,A1802

[L4786,T57,P1] GOTO A1801

t

[L4787,T57,P1] A1802

f

[L4787,T57,P1] ADD STOP_TIMER_0,#1

[L4788,T57,P1] EXIT AWAIT_CASE_24,A1764

[L4789,T57,P1] CMPS POS_VALUE_0,COM_VALUE_0

[L4790,T57,P1] JW NE,A1803

[L4791,T57,P1] CMPS START_TIMER_0,#100

t

[L4798,T57,P1] A1803

f

[L4792,T57,P1] JW G,A1805

[L4793,T57,P1] LOAD CHANNEL_P_VALUE_0,#1

t

[L4796,T57,P1] A1805

f

[L4794,T57,P1] LOAD START_TIMER_0,#0

[L4795,T57,P1] GOTO A1806

[L4797,T57,P1] A1806

[L4796,T57,P1] LOAD CHANNEL_N_VALUE_0,#0

[L4797,T57,P1] GOTO A1804

[L4806,T57,P1] A1804

[L4798,T57,P1] LOAD REG43,TIME_ADD_0

[L4799,T57,P1] ADD REG43,#200

[L4800,T57,P1] CMPS STOP_TIMER_0,REG43

[L4801,T57,P1] JW G,A1807

[L4802,T57,P1] LOAD CHANNEL_N_VALUE_0,#1

t

[L4805,T57,P1] A1807

f

[L4803,T57,P1] LOAD STOP_TIMER_0,#0

[L4804,T57,P1] GOTO A1808

[L4806,T57,P1] A1808

[L4805,T57,P1] LOAD CHANNEL_P_VALUE_0,#0

[L4806,T57,P1] GOTO A1763

[L4807,T57,P1] GOTO A1761

[L4808,T58,P1] A1809

[L4808,T58,P1] LOAD CHANNEL_P_VALUE_1,#0

[L4809,T58,P1] LOAD CHANNEL_N_VALUE_1,#1

[L4810,T58,P1] LOAD POS_VALUE_1,#0

[L4811,T58,P1] LOAD COM_VALUE_1,#0

[L4812,T58,P1] LOAD DAM_VALUE_1,#0

[L4813,T58,P1] LOAD START_TIMER_1,#0

[L4814,T58,P1] LOAD STOP_TIMER_1,#0

[L4815,T58,P1] ABORT RESET,A1810

[L4816,T58,P1] A1811

[L4816,T58,P1] EMIT MOT_CHANNEL_P3

[L4817,T58,P1] SETV MOT_CHANNEL_P3,CHANNEL_P_VALUE_1

[L4818,T58,P1] EMIT MOT_CHANNEL_N3

[L4819,T58,P1] SETV MOT_CHANNEL_N3,CHANNEL_N_VALUE_1

[L4820,T58,P1] A1812

[L4820,T58,P1] A1813

[L4820,T58,P1] A1814

[L4820,T58,P1] A1815

[L4820,T58,P1] A1816

[L4820,T58,P1] A1817

[L4820,T58,P1] A1818

[L4820,T58,P1] A1819

[L4820,T58,P1/1] PAUSE

[L4821,T58,P1] PRESENT CLOCK_500,A1820 [L4925,T58,P1] A1810

RESET

s

[L4822,T58,P1] EXIT AC_77,A1813

t

[L4823,T58,P1] A1820

f

[L4893,T58,P1] AC_77

[L4824,T58,P1] EXIT AC_78,A1814

t

[L4825,T58,P1] A1821

f

[L4888,T58,P1] AC_78

[L4826,T58,P1] EXIT AC_79,A1815

t

[L4827,T58,P1] A1822

f

[L4883,T58,P1] AC_79 [L4827,T58,P1] PRESENT MOT_POS_A3,A1823

[L4828,T58,P1] EXIT AC_80,A1816

t

[L4829,T58,P1] A1823

f

[L4866,T58,P1] AC_80[L4829,T58,P1] PRESENT MOT_POS_B3,A1824

[L4830,T58,P1] EXIT AC_81,A1817

t

[L4831,T58,P1] A1824

f

[L4849,T58,P1] AC_81 [L4831,T58,P1] PRESENT VBAT,A1825

[L4832,T58,P1] EXIT AC_82,A1818

t

[L4833,T58,P1] A1825

f

[L4834,T58,P1] AC_82 [L4833,T58,P1] GOTO A1819

[L4834,T58,P1] LOAD VBAT_VALUE_2,?VBAT

[L4835,T58,P1] CMPS VBAT_VALUE_2,#100

[L4836,T58,P1] JW L,A1826

[L4837,T58,P1] LOAD TIME_ADD_1,#9000

t

[L4839,T58,P1] A1826

f

[L4838,T58,P1] GOTO A1827

[L4848,T58,P1] A1827

[L4839,T58,P1] CMPS VBAT_VALUE_2,#120

[L4840,T58,P1] JW L,A1828

[L4841,T58,P1] LOAD TIME_ADD_1,#6000

t

[L4843,T58,P1] A1828

f

[L4842,T58,P1] GOTO A1829

[L4848,T58,P1] A1829

[L4843,T58,P1] CMPS VBAT_VALUE_2,#130

[L4844,T58,P1] JW L,A1830

[L4845,T58,P1] LOAD TIME_ADD_1,#3000

t

[L4847,T58,P1] A1830

f

[L4846,T58,P1] GOTO A1831

[L4848,T58,P1] A1831

[L4847,T58,P1] LOAD TIME_ADD_1,#0

[L4848,T58,P1] EXIT AWAIT_CASE_25,A1812

[L4907,T58,P1] AWAIT_CASE_25

[L4849,T58,P1] LOAD POS_B_VALUE_1,?MOT_POS_B3

[L4850,T58,P1] CMPS POS_A_VALUE_1,#1

[L4851,T58,P1] JW EE,A1832

[L4852,T58,P1] CMPS POS_B_VALUE_1,#1

t

[L4857,T58,P1] A1832

f [L4853,T58,P1] JW EE,A1833

[L4854,T58,P1] GOTO A1832

t

[L4855,T58,P1] A1833

f

[L4855,T58,P1] LOAD POS_VALUE_1,#2

[L4856,T58,P1] GOTO A1834

[L4865,T58,P1] A1834

[L4857,T58,P1] CMPS POS_B_VALUE_1,#1

[L4858,T58,P1] JW EE,A1835

[L4859,T58,P1] CMPS POS_A_VALUE_1,#1

t

[L4864,T58,P1] A1835

f [L4860,T58,P1] JW EE,A1836

[L4861,T58,P1] GOTO A1835

t

[L4862,T58,P1] A1836

f

[L4862,T58,P1] LOAD POS_VALUE_1,#0

[L4863,T58,P1] GOTO A1837

[L4865,T58,P1] A1837

[L4864,T58,P1] LOAD POS_VALUE_1,#1

[L4865,T58,P1] EXIT AWAIT_CASE_25,A1812

[L4866,T58,P1] LOAD POS_A_VALUE_1,?MOT_POS_A3

[L4867,T58,P1] CMPS POS_A_VALUE_1,#1

[L4868,T58,P1] JW EE,A1838

[L4869,T58,P1] CMPS POS_B_VALUE_1,#1

t

[L4874,T58,P1] A1838

f [L4870,T58,P1] JW EE,A1839

[L4871,T58,P1] GOTO A1838

t

[L4872,T58,P1] A1839

f

[L4872,T58,P1] LOAD POS_VALUE_1,#2

[L4873,T58,P1] GOTO A1840

[L4882,T58,P1] A1840

[L4874,T58,P1] CMPS POS_B_VALUE_1,#1

[L4875,T58,P1] JW EE,A1841

[L4876,T58,P1] CMPS POS_A_VALUE_1,#1

t

[L4881,T58,P1] A1841

f[L4877,T58,P1] JW EE,A1842

[L4878,T58,P1] GOTO A1841

t

[L4879,T58,P1] A1842

f

[L4879,T58,P1] LOAD POS_VALUE_1,#0

[L4880,T58,P1] GOTO A1843

[L4882,T58,P1] A1843

[L4881,T58,P1] LOAD POS_VALUE_1,#1

[L4882,T58,P1] EXIT AWAIT_CASE_25,A1812

[L4884,T58,P1] CMPS DAM_VALUE_1,COM_VALUE_1

[L4885,T58,P1] JW G,A1844

[L4886,T58,P1] LOAD COM_VALUE_1,DAM_VALUE_1

t

[L4887,T58,P1] A1844

f

[L4887,T58,P1] EXIT AWAIT_CASE_25,A1812

[L4889,T58,P1] CMPS DAM_VALUE_1,COM_VALUE_1

[L4890,T58,P1] JW G,A1845

[L4891,T58,P1] LOAD COM_VALUE_1,DAM_VALUE_1

t

[L4892,T58,P1] A1845

f

[L4892,T58,P1] EXIT AWAIT_CASE_25,A1812

[L4893,T58,P1] CMPS POS_VALUE_1,COM_VALUE_1

[L4894,T58,P1] JW NE,A1846

[L4895,T58,P1] CMPS CHANNEL_P_VALUE_1,#1

t

[L4900,T58,P1] A1846

f[L4896,T58,P1] JW EE,A1847

[L4897,T58,P1] GOTO A1846

t

[L4898,T58,P1] A1847

f

[L4898,T58,P1] ADD START_TIMER_1,#1

[L4899,T58,P1] GOTO A1848

[L4906,T58,P1] A1848

[L4900,T58,P1] CMPS POS_VALUE_1,COM_VALUE_1

[L4901,T58,P1] JW EE,A1849

[L4902,T58,P1] CMPS CHANNEL_N_VALUE_1,#1

t

[L4906,T58,P1] A1849

f

[L4903,T58,P1] JW EE,A1850

[L4904,T58,P1] GOTO A1849

t

[L4905,T58,P1] A1850

f

[L4905,T58,P1] ADD STOP_TIMER_1,#1

[L4906,T58,P1] EXIT AWAIT_CASE_25,A1812

[L4907,T58,P1] CMPS POS_VALUE_1,COM_VALUE_1

[L4908,T58,P1] JW NE,A1851

[L4909,T58,P1] CMPS START_TIMER_1,#100

t

[L4916,T58,P1] A1851

f

[L4910,T58,P1] JW G,A1853

[L4911,T58,P1] LOAD CHANNEL_P_VALUE_1,#1

t

[L4914,T58,P1] A1853

f

[L4912,T58,P1] LOAD START_TIMER_1,#0

[L4913,T58,P1] GOTO A1854

[L4915,T58,P1] A1854

[L4914,T58,P1] LOAD CHANNEL_N_VALUE_1,#0

[L4915,T58,P1] GOTO A1852

[L4924,T58,P1] A1852

[L4916,T58,P1] LOAD REG44,TIME_ADD_1

[L4917,T58,P1] ADD REG44,#200

[L4918,T58,P1] CMPS STOP_TIMER_1,REG44

[L4919,T58,P1] JW G,A1855

[L4920,T58,P1] LOAD CHANNEL_N_VALUE_1,#1

t

[L4923,T58,P1] A1855

f

[L4921,T58,P1] LOAD STOP_TIMER_1,#0

[L4922,T58,P1] GOTO A1856

[L4924,T58,P1] A1856

[L4923,T58,P1] LOAD CHANNEL_P_VALUE_1,#0

[L4924,T58,P1] GOTO A1811

[L4925,T58,P1] GOTO A1809

[L4926,T59,P1] A1857

[L4926,T59,P1] LOAD CHANNEL_P_VALUE_2,#0

[L4927,T59,P1] LOAD CHANNEL_N_VALUE_2,#1

[L4928,T59,P1] LOAD POS_VALUE_2,#0

[L4929,T59,P1] LOAD COM_VALUE_2,#0

[L4930,T59,P1] LOAD DAM_VALUE_2,#0

[L4931,T59,P1] LOAD START_TIMER_2,#0

[L4932,T59,P1] LOAD STOP_TIMER_2,#0

[L4933,T59,P1] ABORT RESET,A1858

[L4934,T59,P1] A1859

[L4934,T59,P1] EMIT MOT_CHANNEL_P4

[L4935,T59,P1] SETV MOT_CHANNEL_P4,CHANNEL_P_VALUE_2

[L4936,T59,P1] EMIT MOT_CHANNEL_N4

[L4937,T59,P1] SETV MOT_CHANNEL_N4,CHANNEL_N_VALUE_2

[L4938,T59,P1] A1860

[L4938,T59,P1] A1861

[L4938,T59,P1] A1862

[L4938,T59,P1] A1863

[L4938,T59,P1] A1864

[L4938,T59,P1] A1865

[L4938,T59,P1] A1866

[L4938,T59,P1] A1867

[L4938,T59,P1/1] PAUSE

[L4939,T59,P1] PRESENT CLOCK_500,A1868 [L5043,T59,P1] A1858

RESET

s

[L4940,T59,P1] EXIT AC_83,A1861

t

[L4941,T59,P1] A1868

f

[L5011,T59,P1] AC_83

[L4942,T59,P1] EXIT AC_84,A1862

t

[L4943,T59,P1] A1869

f

[L5006,T59,P1] AC_84

[L4944,T59,P1] EXIT AC_85,A1863

t

[L4945,T59,P1] A1870

f

[L5001,T59,P1] AC_85 [L4945,T59,P1] PRESENT MOT_POS_A4,A1871

[L4946,T59,P1] EXIT AC_86,A1864

t

[L4947,T59,P1] A1871

f

[L4984,T59,P1] AC_86 [L4947,T59,P1] PRESENT MOT_POS_B4,A1872

[L4948,T59,P1] EXIT AC_87,A1865

t

[L4949,T59,P1] A1872

f

[L4967,T59,P1] AC_87[L4949,T59,P1] PRESENT VBAT,A1873

[L4950,T59,P1] EXIT AC_88,A1866

t

[L4951,T59,P1] A1873

f

[L4952,T59,P1] AC_88[L4951,T59,P1] GOTO A1867

[L4952,T59,P1] LOAD VBAT_VALUE_3,?VBAT

[L4953,T59,P1] CMPS VBAT_VALUE_3,#100

[L4954,T59,P1] JW L,A1874

[L4955,T59,P1] LOAD TIME_ADD_2,#9000

t

[L4957,T59,P1] A1874

f

[L4956,T59,P1] GOTO A1875

[L4966,T59,P1] A1875

[L4957,T59,P1] CMPS VBAT_VALUE_3,#120

[L4958,T59,P1] JW L,A1876

[L4959,T59,P1] LOAD TIME_ADD_2,#6000

t

[L4961,T59,P1] A1876

f

[L4960,T59,P1] GOTO A1877

[L4966,T59,P1] A1877

[L4961,T59,P1] CMPS VBAT_VALUE_3,#130

[L4962,T59,P1] JW L,A1878

[L4963,T59,P1] LOAD TIME_ADD_2,#3000

t

[L4965,T59,P1] A1878

f

[L4964,T59,P1] GOTO A1879

[L4966,T59,P1] A1879

[L4965,T59,P1] LOAD TIME_ADD_2,#0

[L4966,T59,P1] EXIT AWAIT_CASE_26,A1860

[L5025,T59,P1] AWAIT_CASE_26

[L4967,T59,P1] LOAD POS_B_VALUE_2,?MOT_POS_B4

[L4968,T59,P1] CMPS POS_A_VALUE_2,#1

[L4969,T59,P1] JW EE,A1880

[L4970,T59,P1] CMPS POS_B_VALUE_2,#1

t

[L4975,T59,P1] A1880

f [L4971,T59,P1] JW EE,A1881

[L4972,T59,P1] GOTO A1880

t

[L4973,T59,P1] A1881

f

[L4973,T59,P1] LOAD POS_VALUE_2,#2

[L4974,T59,P1] GOTO A1882

[L4983,T59,P1] A1882

[L4975,T59,P1] CMPS POS_B_VALUE_2,#1

[L4976,T59,P1] JW EE,A1883

[L4977,T59,P1] CMPS POS_A_VALUE_2,#1

t

[L4982,T59,P1] A1883

f[L4978,T59,P1] JW EE,A1884

[L4979,T59,P1] GOTO A1883

t

[L4980,T59,P1] A1884

f

[L4980,T59,P1] LOAD POS_VALUE_2,#0

[L4981,T59,P1] GOTO A1885

[L4983,T59,P1] A1885

[L4982,T59,P1] LOAD POS_VALUE_2,#1

[L4983,T59,P1] EXIT AWAIT_CASE_26,A1860

[L4984,T59,P1] LOAD POS_A_VALUE_2,?MOT_POS_A4

[L4985,T59,P1] CMPS POS_A_VALUE_2,#1

[L4986,T59,P1] JW EE,A1886

[L4987,T59,P1] CMPS POS_B_VALUE_2,#1

t

[L4992,T59,P1] A1886

f[L4988,T59,P1] JW EE,A1887

[L4989,T59,P1] GOTO A1886

t

[L4990,T59,P1] A1887

f

[L4990,T59,P1] LOAD POS_VALUE_2,#2

[L4991,T59,P1] GOTO A1888

[L5000,T59,P1] A1888

[L4992,T59,P1] CMPS POS_B_VALUE_2,#1

[L4993,T59,P1] JW EE,A1889

[L4994,T59,P1] CMPS POS_A_VALUE_2,#1

t

[L4999,T59,P1] A1889

f [L4995,T59,P1] JW EE,A1890

[L4996,T59,P1] GOTO A1889

t

[L4997,T59,P1] A1890

f

[L4997,T59,P1] LOAD POS_VALUE_2,#0

[L4998,T59,P1] GOTO A1891

[L5000,T59,P1] A1891

[L4999,T59,P1] LOAD POS_VALUE_2,#1

[L5000,T59,P1] EXIT AWAIT_CASE_26,A1860

[L5002,T59,P1] CMPS DAM_VALUE_2,COM_VALUE_2

[L5003,T59,P1] JW G,A1892

[L5004,T59,P1] LOAD COM_VALUE_2,DAM_VALUE_2

t

[L5005,T59,P1] A1892

f

[L5005,T59,P1] EXIT AWAIT_CASE_26,A1860

[L5007,T59,P1] CMPS DAM_VALUE_2,COM_VALUE_2

[L5008,T59,P1] JW G,A1893

[L5009,T59,P1] LOAD COM_VALUE_2,DAM_VALUE_2

t

[L5010,T59,P1] A1893

f

[L5010,T59,P1] EXIT AWAIT_CASE_26,A1860

[L5011,T59,P1] CMPS POS_VALUE_2,COM_VALUE_2

[L5012,T59,P1] JW NE,A1894

[L5013,T59,P1] CMPS CHANNEL_P_VALUE_2,#1

t

[L5018,T59,P1] A1894

f[L5014,T59,P1] JW EE,A1895

[L5015,T59,P1] GOTO A1894

t

[L5016,T59,P1] A1895

f

[L5016,T59,P1] ADD START_TIMER_2,#1

[L5017,T59,P1] GOTO A1896

[L5024,T59,P1] A1896

[L5018,T59,P1] CMPS POS_VALUE_2,COM_VALUE_2

[L5019,T59,P1] JW EE,A1897

[L5020,T59,P1] CMPS CHANNEL_N_VALUE_2,#1

t

[L5024,T59,P1] A1897

f

[L5021,T59,P1] JW EE,A1898

[L5022,T59,P1] GOTO A1897

t

[L5023,T59,P1] A1898

f

[L5023,T59,P1] ADD STOP_TIMER_2,#1

[L5024,T59,P1] EXIT AWAIT_CASE_26,A1860

[L5025,T59,P1] CMPS POS_VALUE_2,COM_VALUE_2

[L5026,T59,P1] JW NE,A1899

[L5027,T59,P1] CMPS START_TIMER_2,#100

t

[L5034,T59,P1] A1899

f

[L5028,T59,P1] JW G,A1901

[L5029,T59,P1] LOAD CHANNEL_P_VALUE_2,#1

t

[L5032,T59,P1] A1901

f

[L5030,T59,P1] LOAD START_TIMER_2,#0

[L5031,T59,P1] GOTO A1902

[L5033,T59,P1] A1902

[L5032,T59,P1] LOAD CHANNEL_N_VALUE_2,#0

[L5033,T59,P1] GOTO A1900

[L5042,T59,P1] A1900

[L5034,T59,P1] LOAD REG45,TIME_ADD_2

[L5035,T59,P1] ADD REG45,#200

[L5036,T59,P1] CMPS STOP_TIMER_2,REG45

[L5037,T59,P1] JW G,A1903

[L5038,T59,P1] LOAD CHANNEL_N_VALUE_2,#1

t

[L5041,T59,P1] A1903

f

[L5039,T59,P1] LOAD STOP_TIMER_2,#0

[L5040,T59,P1] GOTO A1904

[L5042,T59,P1] A1904

[L5041,T59,P1] LOAD CHANNEL_P_VALUE_2,#0

[L5042,T59,P1] GOTO A1859

[L5043,T59,P1] GOTO A1857

[L5044,T52,P2] JOIN 0 [L5045,T0,P9] JOIN 0

[L353,T6,P9] PRIO 9

[L377,T8,P9] PRIO 9

[L383,T9,P8] PRIO 8

[L440,T7,P8] PRIO 8

[L581,T12,P4] PRIO 4

[L3132,T40,P5] PRIO 5

[L3223,T41,P4] PRIO 4

[L3260,T41,P4] PRIO 4

[L3687,T44,P4] PRIO 4

[L3724,T44,P3] PRIO 3

[L4297,T53,P2] PRIO 2[L4399,T54,P2] PRIO 2

[L4500,T55,P2] PRIO 2

Thanks!Questions/Comments?

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 32

Page 51: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

Esterel-Type InstructionsHandling ConcurrencyHandling PreemptionHandling Exceptions

Overview

KEP3a Instruction Set + ArchitectureEsterel-Type InstructionsHandling ConcurrencyHandling PreemptionHandling Exceptions

The Compiler

Further Measurements

Summary

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 33

Page 52: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

Esterel-Type InstructionsHandling ConcurrencyHandling PreemptionHandling Exceptions

Instruction Set Summary 1/2

Mnemonic,Operands Esterel Syntax Notes

PAR Prio, startAddr [, ID] [ Fork and join.An optional ID explicitly specifies the ID ofthe created thread.

PARE endAddr p || q

JOIN ]

PRIO Prio Set the priority of the current thread

[W]ABORT [n,] S, endAddr

[weak] abort

. . .when [n] S

S can be one of the following:1. S: signal status (present/absent)2. PRE(S): previous status of signal3. TICK: always present

n can be one of the following:1. #data: immediate data2. reg: register contents3. ?S: value of a signal4. PRE(?S): previous value of a signal

[W]ABORTI S, endAddr

[weak] abort

...

when immediate S

SUSPEND[I] S, endAddr

suspend

...

when [immediate] S

EXIT TrapEnd[,TrapStart]trap T in

exit T

end trap

Exit from a trap, TrapStart and TrapEnd spec-ify trap scope. Unlike GOTO, check for concur-rent EXITs and terminate enclosing ||

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 34

Page 53: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

Esterel-Type InstructionsHandling ConcurrencyHandling PreemptionHandling Exceptions

Instruction Set Summary 2/2

Mnemonic,Operands Esterel Syntax Notes

PAUSE pauseWait for a signal. AWAIT TICK is equivalent toPAUSE

AWAIT [n,] S await [n] S

AWAIT[I] S await [immediate] S

CAWAITS await

wait for several signals in parallelCAWAIT[I] S, addr

case [immediate]

S do

CAWAITE end

SIGNAL S signal S in ...end Initialize a local signal SEMIT S [, {#data|reg}] emit S [(val)] Emit (valued) signal SSUSTAIN S [, {#data|reg}] sustain S [(val)] Sustain (valued) signal S

PRESENT S, elseAddrpresent S then

...endJump to elseAddr if S is absent

NOTHING nothing Do nothingHALT halt Halt the programGOTO addr loop ...end loop Jump to addr

CALL addrcall P

call a procedure,and return from the procedureRETURN

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 35

Page 54: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

Esterel-Type InstructionsHandling ConcurrencyHandling PreemptionHandling Exceptions

Handling Concurrency

Execution status of a single thread

The status of the whole program, as managed by the Thread Block

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 36

Page 55: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

Esterel-Type InstructionsHandling ConcurrencyHandling PreemptionHandling Exceptions

Handling Concurrency

A thread has its

I thread id

I address range and independent programcounter

I priority valueI assigned when a thread is createdI dynamically changed via PRIO

instruction

I status flagsI ThreadEnableI ThreadActive

% Esterel

[

p

||

q

];

⇓% KEP Assembler

PAR 1,A0,1

PAR 1,A1,2

PARE A2

A0: p

A1: q

A2: JOIN

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 37

Page 56: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

Esterel-Type InstructionsHandling ConcurrencyHandling PreemptionHandling Exceptions

Handling Preemption

Watcher containsEnable Watcher (EW)

I Watches the PC (ProgramCounter)

I Compares PC

I Preemption enabled?

Trigger Watcher (TW)

I Watches the Signal

I Counts down the counter(abortion)

I Preemption active?

% Esterel

abort

weak abort

p;

when S2;

q;

when S1;

⇓% KEP Assembler

ABORT S1,A1

WABORT S2,A0

p

A0: q

A1:

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 38

Page 57: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

Esterel-Type InstructionsHandling ConcurrencyHandling PreemptionHandling Exceptions

Watcher Refinement

Thread Watcher

I belongs to a thread directlyI can neither include concurrent threads nor other

preemptionsI least powerful, but also cheapest

Local Watcher

I may include concurrent threads and alsopreemptions handled by a Thread Watcher

I cannot include another Local Watcher

Watcher

I may include concurrent threads and anypreemptions

I most powerful, but also most expensive

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 39

Page 58: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

Esterel-Type InstructionsHandling ConcurrencyHandling PreemptionHandling Exceptions

Handling Exceptions

Exception

I has its address rangeI sets an exitFlag

I cleared when reaching theend of the trap scope

I effects control at the joinpoint

I can be overridden based onthe corresponding trapscopes (address range)

% Esterel

trap T1 in

trap T2 in

[ p;exit T1;

||

q;exit T2; ];

end trap;

r;end trap;

⇓% KEP Assembler

T1S: T2S:

PAR 1,A1,1

PAR 1,A2,2

PARE A3

A1: pEXIT T1,T1S

A2: qEXIT T2,T2E

A3: JOIN

T2E:rT1E:

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 40

Page 59: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

Overview

KEP3a Instruction Set + Architecture

The CompilerThe Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

Further Measurements

Summary

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 41

Page 60: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

Esterel Kep Compiling Scheme

I parsing and module expanding is done byColumbia Esterel Compiler (CEC)

I result is an Esterel abstract syntax tree (AST)

I dismantle some more complex esterel statements to simplestatements

I creating assembler program and Concurrent KEP AssemblerGraph (CKAG) by recursive visiting of the AST

I do computations and optimizations on CKAG

e. g.do priority assigning to ensure correct behaviore. g.do statement collapsing to use less statements

I printing to KEP assembler or viewing the CKAG

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 42

Page 61: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

Concurrent KEP Assembler Graph (CKAG)

I represents the control flow of KEP assembler

I needed to realize more complex compiling computations

I each node contains a KEP statement and Thread IdI different kind of nodes

I instantaneous: TransientNode, LabelNodeI not instantaneous: DelayNodeI parallel: ForkNode, JoinNode

I different kind of edgesI sequence control flowI abort preemption, weak abort preemption,I exit preemption

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 43

Page 62: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

Kep Thread Id

I contains an unique integer value and the parent’s threadpointer

I the main thread has no parent thread (NULL pointer)

I a sequence of fork nodes declares the sub-thread id’s

I Kep Thread Id structure has much similarity to a treeI three important relations between thread id’s

I subthreadI concurrentI sequence

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 44

Page 63: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

Thread Id Example 1

T0

T1 T2

I T1 and T2 are sub-threads of T0

I T1 and T2 are concurrent to each other

I no sequence behaviour

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 45

Page 64: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

Thread Id Example 2

T7T6T1 T2 T3

T4 T5

T0

I {T1,...,T7} are sub-threads of T0

I T4 and T5 are sub-threads of T3

I {T1,T2,T3}, {T1,T2,T4,T5} and {T6,T7} are in each caseconcurrent to each other

I {T1,T2,T3,T4,T5} are in sequence to {T6,T7}

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 46

Page 65: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

module: par10

PAR*

A0

1

A1

1

EMIT S

PAR*

A3

1

A4

1

NOTHING

PAR*

A6

1

A7

1

EMIT U

JOIN 0

EMIT V

JOIN 0

NOTHING

PAR*

A9

1

A10

1

NOTHING

JOIN 0

EMIT W

JOIN 0

EMIT T

PAR*

A12

1

A13

1

PAUSE

JOIN 0

NOTHING

NOTHING

PAR*

A15

1

A16

1

EMIT V

JOIN 0

EMIT W

PAUSE

PAR*

A18

1

A19

1

EMIT S

JOIN 0

EMIT T

HALT

T7 T6T4 T3

T8 T1

T12 T2T9 T10 T11 T5

T14

T0

T13

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 47

Page 66: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

Priority Assigning Scheme

I determining signal dependencies

I relevant for our concern are only concurrent signaldependencies, which we call priority dependencies

I run priority assigning algorithm fulfilling all priority constraintsI if assigning algorithm ends successfully:

I setting priorities of PAR and PARE statementsI inserting priority statements according to the priority assigning

if necessary

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 48

Page 67: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

Signal Dependencies

I a writer-reader pair of the same signal S defines a signaldependency

WRITER(S)

READER(S)

i

I writer statements: EMIT, SUSTAIN, SIGNAL, EXIT, SETV

I reader statements: PRESENT, AWAIT, PAUSE, HALT, SUSTAIN,EMIT

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 49

Page 68: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

Signal Dependency Example 1

EMIT S

PRESENT S,A0

i

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 50

Page 69: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

Signal Dependency Example 2

SETV S,#2

EMIT T,?S

i

PRESENT T,A1

i

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 51

Page 70: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

Priority Dependencies

I a priority dependency is defined as signal dependency withconcurrent KepThreadIds

I execution order can and must be determined by prioritiesrespectively thread id’s

I priority dependencies are only relevant when executable withinthe the same tick, otherwise superfluous

I analysis is conservative in a way that superfluous dependenciesmay exist

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 52

Page 71: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

Priority Dependency Example

PAR*

EMIT S

...

PRESENT S,A1

...

PRESENT S,A0

...

i

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 53

Page 72: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

A0

PAR*

...

EXIT T,A0

...

PAUSE

...i

JOIN 0

...

...Te

T

Te

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 54

Page 73: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

Constraints

I a priority dependency (w , r) causes a writer constraint:w .prio >w r .prio :=

w .prio > r .prio ∨ (w .prio = r .prio ∧ w .id > r .id)

I instantaneous execution order causes control flow constraints:priorities never grow instantaneously

I node: the control flow successors of DelayNodes causes noconstraints because they does not represent instantaneousexecution

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 55

Page 74: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

Assigning Algorithm

I try to fulfill all constraints by a DFS like algorithm

I basic idea to compute the priority n.prio of a node n:

n.prio = max({n.inst succ .prio} ∪ {n.reader .prio + 1})

I for a DelayNode d additionally the priority d .prio next of thenext instant is computed: this ensures termination of a onepass traversal

d .prio next = max({n.next succ .prio} ∪ {n.reader .prio + 1})

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 56

Page 75: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

Priority Dismantling

I sometimes we cannot fulfill the constraints because ofstatements which are writer and reader at the same time:

I SUSTAIN SI EMIT S,expr

I separate writing and reading part by dismantling

I priority statements can be inserted in between

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 57

Page 76: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

PAR*

WABORTI A,A3

...

AWAIT R

...

SUSTAIN R

EMIT A

i

A3

Aw

JOIN 0

...i

...

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 58

Page 77: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

PAR*

WABORTI A,A3

...

AWAIT R

... A4

EMIT R

PAUSE

i

GOTO A4 A3

Aw

JOIN 0

...

EMIT Ai

...

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 59

Page 78: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

PAR*

WABORTI A,A3

...

AWAIT R

... A4

EMIT Ri

PRIO 1

PAUSE

GOTO A4 A3

Aw

JOIN 0

...

EMIT Ai

...

PRIO 2

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 60

Page 79: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

module: Example

[T0,P1/1] PAR*

[T1,P2] A0

2

[T2,P1] A1

1

[T1,P2] WABORTI A,A3

[T1,P2] A4

[T1,P2] EMIT R

[T2,P1/1] AWAIT R

i

[T1,P1] PRIO 1

[T1,P1/2] PAUSE

[T1,P2] GOTO A4 [T1,P1] A3

Aw

[T1,P1] EMIT O

[T0,P1] JOIN 0

[T2,P1] EMIT Ai

[T0,P1/1] HALT

[T1,P2] PRIO 2

T1 T2

T0

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 61

Page 80: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

PAR*

EMIT V1,?V2

2

PRESENT V1,A3

1i

EMIT V2,#3

t

A3

fi

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 62

Page 81: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

PAR*

EMIT V1,?V2

2

PRESENT V1,A3

1i

EMIT V2,#3

t

A3

fi

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 63

Page 82: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

PAR*

EMIT V1

2

PRESENT V1,A3

1

SETV V1,?V2

i

EMIT V2,#3

t

A3

fi

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 64

Page 83: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

PAR*

EMIT V1

2

PRESENT V1,A3

1

SETV V1,?V2

i

EMIT V2,#3

t

A3

fi

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 65

Page 84: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

PAR*

EMIT V1

2

PRESENT V1,A3

1

SETV V1,?V2

i

EMIT V2

t

A3

f

SETV V2,#3i

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 66

Page 85: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

PAR*

EMIT V1

2

PRESENT V1,A3

1

SETV V1,?V2

i

EMIT V2

t

A3

f

SETV V2,#3i

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 67

Page 86: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

PAR*

EMIT V1

2

PRESENT V1,A3

1i

PRIO 1

SETV V1,?V2

EMIT V2

t

A3

f

SETV V2,#3i

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 68

Page 87: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

Thread Id Optimization

I same priority:I thread id has scheduling relevanceI no priority statements neededI try to optimize thread id’s

I thread dependency: priority dependency modulonodes/statements

I optimization: assign dependency fathers higher thread id thenchildren

I node: sub-thread constraints must be obtained

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 69

Page 88: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

Superfluous Priority Dependencies

I Priority dependencies which are not executable within thesame instant are called superfluous dependencies

I in general difficult to computeI special case:

I search least common fork node (nodes are concurrent)I make instant analysis starting with fork nodeI if one node has only instantaneous and the other not

instantaneous paths: remove Priority Dependency

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 70

Page 89: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

PAR*

EMIT S

inst

PAUSE

...

PRESENT S,A0

i

...

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 71

Page 90: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

PAR*

EMIT S

inst

PAUSE

...

PRESENT S,A0

...

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 72

Page 91: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

CKAG Node Types

The CKAG distinguishes the following sets of nodes:

D: Delay nodes (octagons)

I PAUSE, AWAIT, HALT, SUSTAIN

F: Fork nodes (triangles)

I PAR/PARE

T: Transient nodes (rectangles/inverted triangles)

I EMIT, PRESENT, etc. (rectangles)I JOIN nodes (inverted triangles)

N: Set of all nodes, N = D ∪ F ∪ T

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 73

Page 92: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

The Concurrent KEP Assembler Graph (CKAG)Define

I for each fork node n:

n.join: the JOIN statement corresponding to n,n.sub: the transitive closure of nodes in threads

generated by n.I for abort nodes n ([L|T][W]ABORT[I], SUSPEND[I]):

n.end: the end of the abort scope opened by n,n.scope: the nodes within n’s abort scope.

I for all nodes n:

n.prio: the priority that the thread executing n shouldbe running with

I for n ∈ D ∪ F ,

n.prionext: the priority that the thread executing n shouldbe resumed with in the subsequent tick.

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 74

Page 93: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

CKAG Dependency Types

Define dependencies

n.depi: the dependency sinks with respect to n at the currenttick (the immediate dependencies)

n.depd: the dependency sinks with respect to n at the nexttick (the delayed dependencies)Induced by emissions of strong abort trigger signals andcorresponding delay nodes within the abort scope

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 75

Page 94: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

CKAG Successor Types

Define following types of successors for each n:

n.succ: the control successors.

n.sucw: the weak abort successors

n.sucs: the strong abort successors

n.sucf : the flow successorsthe set n.succ ∪ n.sucw ∪ n.sucs

For n ∈ F we also define the following fork abort successors

n.sucwf : the weak fork abort successors

n.sucsf : the strong fork abort successors

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 76

Page 95: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

The Concurrent KEP Assembler GraphKep Thread IdsPriority AssigningCyclicity

Program Cycle

An Esterel program is considered cyclic iff the corresponding CKAGcontains a path from a node to itself, where for all nodes n andtheir successors along that path, n′ and n′′, the following holds:

n ∈ D ∧ n′ ∈ n.sucw

∨ n ∈ F ∧ n′ ∈ n.succ ∪ n.sucwf

∨ n ∈ T ∧ n′ ∈ n.succ ∪ n.depi

∨ n ∈ T ∧ n′ ∈ n.depd ∧ n′′ ∈ n′.succ ∪ n′.sucs ∪ n′.sucsf .

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 77

Page 96: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

Code Characteristics and Compilation TimesSpeed, Size, Power, ScalabilityAnalysis of context switchesAnother Example

Overview

KEP3a Instruction Set + Architecture

The Compiler

Further MeasurementsCode Characteristics and Compilation TimesSpeed, Size, Power, ScalabilityAnalysis of context switchesAnother Example

Summary

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 78

Page 97: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

Code Characteristics and Compilation TimesSpeed, Size, Power, ScalabilityAnalysis of context switchesAnother Example

Code Characteristics and Compilation Times

Esterel KEP3a (Unoptimized|optimized) MicroBlazeModule Threads Preemptions CKAG Preemption handled by Compiling CompilingName Cnt Max Max Cnt Max NodesDep. Max PRIO Local Thread Time Time (Sec)

DepthConc Depth NumPriority Instr WatcherWatcherWatcher (Sec) (V5/V7/CEC)abcd 4 2 4 20 2 211 36 3 30 0 4|3 16|11 0.15 0.12 0.09 0.30

abcdef 6 2 6 30 2 313 90 3 48 0 6|5 24|17 0.21 0.71 0.46 0.96eight but 8 2 8 40 2 415 168 3 66 0 8|7 32|23 0.26 0.99 0.54 1.25chan prot 5 3 4 6 1 80 4 2 10 0 0 6|4 0.07 0.35 0.35 0.43

reactor ctrl 3 2 3 5 1 51 5 1 0 0 1|0 4 0.06 0.29 0.31 0.36runner 2 2 2 9 3 61 0 1 0 3|2 1 5|3 0.05 0.30 0.34 0.40example 2 2 2 4 2 36 2 3 6 0 1 3|2 0.05 0.28 0.31 0.31ww button 13 3 4 27 2 194 0 1 0 0 5 22|10 0.10 0.44 0.40 0.64

greycounter 17 3 13 19 2 414 53 6 58 0 4 15 0.34 0.57 0.43 0.75tcint 39 5 17 18 2 583 65 3 20 0 1 17|10 0.34 0.41 0.52 1.11mca200 59 5 49 64 4 11219 129 11 190 2 14 48 11.25 69.81 12.99 7.37

Note: In the mca200, the watcher refinement reduces the hardwarerequirements from 4033 slices (if all preemptions were handled by generalpurpose Watchers) to 3265 slices (19% reduction).

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 79

Page 98: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

Code Characteristics and Compilation TimesSpeed, Size, Power, ScalabilityAnalysis of context switchesAnother Example

Worst-/Average-Case Reaction Times

MicroBlaze KEP3a-Unoptimized KEP3a-optimizedModule Name WCRT ACRT WCRT Ratio to ACRT Ratio to WCRTRatio to ACRT Ratio

V5 V7 CEC V5 V7 CEC best MB best MB Unopt to Unoptabcd 1559 954 1476 1464 828 1057 135 0.14 87 0.11 135 1 84 0.97

abcdef 2281 1462 1714 2155 1297 1491 201 0.14 120 0.09 201 1 117 0.98eight but 3001 1953 2259 2833 1730 1931 267 0.14 159 0.09 267 1 153 0.96chan prot 754 375 623 683 324 435 117 0.31 60 0.19 117 1 54 0.90

reactor ctrl 487 230 397 456 214 266 54 0.23 45 0.21 51 0.94 39 0.87runner 566 289 657 512 277 419 36 0.12 15 0.05 30 0.83 6 0.40example 467 169 439 404 153 228 42 0.25 24 0.16 42 1 24 1ww button 1185 578 979 1148 570 798 72 0.12 51 0.09 48 0.67 36 0.71

greycounter 1965 1013 2376 1851 928 1736 528 0.52 375 0.40 528 1 375 1tcint 3580 1878 2350 3488 1797 2121 408 0.22 252 0.14 342 0.84 204 0.81mca200 75488 29078 12497 73824 24056 11479 2862 0.23 1107 0.10 2862 1 1107 1

The worst-/average-case reaction times, in clock cycles, for the KEP3a and MicroBlaze

I WCRT speedup: typically >4x

I ACRT speedup: typically >5x

I Optimizations yield further improvements

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 80

Page 99: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

Code Characteristics and Compilation TimesSpeed, Size, Power, ScalabilityAnalysis of context switchesAnother Example

Memory Usage

Esterel MicroBlaze KEP3a-Unopt. KEP3a-opt.Module Name LOC Code+Data (byte) Code (word) Code+Data (byte) Code (word)

V5 V7 CEC abs. rel. abs. rel. abs. rel.[1] [2] (best) [3] [3]/[1] [4] [4]/[2] [5] [5]/[3]

abcd 160 6680 7928 7212 168 1.05 756 0.11 164 0.93abcdef 236 9352 9624 9220 252 1.07 1134 0.12 244 0.94

eight but 312 12016 11276 11948 336 1.08 1512 0.13 324 0.94chan prot 42 3808 6204 3364 66 1.57 297 0.09 62 0.94

reactor ctrl 27 2668 5504 2460 38 1.41 171 0.07 34 0.89runner 31 3140 5940 2824 39 1.22 175 0.06 27 0.69example 20 2480 5196 2344 31 1.55 139 0.06 28 0.94ww button 76 6112 7384 5980 129 1.7 580 0.10 95 0.74

greycounter 143 7612 7936 8688 347 2.43 1567 0.21 343 1tcint 355 14860 11376 15340 437 1.23 1968 0.17 379 0.87mca200 3090 104536 77112 52998 8650 2.79 39717 0.75 8650 1

I Unoptimized: 83% avg reduction of memory usage (Code+RAM)

I Optimized: May yield further 5% to 30+% improvements

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 81

Page 100: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

Code Characteristics and Compilation TimesSpeed, Size, Power, ScalabilityAnalysis of context switchesAnother Example

Power Consumption

MicroBlaze KEP3a 3 RatioModule (82mW@50MHz) (mW) (KEP to MB)Name Idle Peak Idle Peak Idleabcd 69 13 8 0.16 0.12

abcdef 74 13 7 0.16 0.09eight but 74 13 7 0.16 0.09chan prot 70 28 12 0.34 0.17

reactor ctrl 76 20 13 0.24 0.17runner 78 14 2 0.17 0.03example 77 25 9 0.30 0.12ww button 81 13 4 0.16 0.05

greycounter 78 44 33 0.54 0.42tcint 80 18 10 0.22 0.13

I Peak energy usage reduction: 75% avg

I Idle (= no inputs) energy usage reduction: 86% avg

3Based on Xilinx 3S200-4ft256, requires an additional 37mW as quiescent power for the chip itself

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 82

Page 101: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

Code Characteristics and Compilation TimesSpeed, Size, Power, ScalabilityAnalysis of context switchesAnother Example

Scalability

Synthesis results for Xilinx 3S1500-4fg-6764

ThreadSlices Gates (k)

Count2 1295 29510 1566 29920 1871 31140 2369 32860 3235 34680 4035 373100 4569 389120 5233 406

I 48 valued signalsup to 256 possible

I 2 Watchers, 8 Local Watcherseither up to 64 possible

I 1k (1024) instruction wordsup to 64k possible

I 128 registers (in word)up to 512 possible

I 16-bits (65536) max counter value

I Frequency is stable (around 60 MHz)

4For comparison, a MicroBlaze implementation requires around 1k slicesand 309k gates; a two threads EMPEROR platform requires around 2k slices

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 83

Page 102: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

Code Characteristics and Compilation TimesSpeed, Size, Power, ScalabilityAnalysis of context switchesAnother Example

Analysis of Context Switches

Instr’s CSs CSs at same PRIOs CSs due toModule total total priority total PRIO

Name abs. abs. ratio abs. rel. abs. rel. abs. rel. rel.[1] [2] [1]/[2] [3] [3]/[2] [4] [4]/[1] [5] [5]/[2][5]/[4]

abcd 16513 3787 4.36 1521 0.40 3082 0.19 1243 0.33 0.40abcdef 29531 7246 4.08 3302 0.46 6043 0.20 2519 0.35 0.42

eight but 39048 10073 3.88 5356 0.53 8292 0.21 3698 0.37 0.45chan prot 5119 1740 2.94 707 0.41 990 0.19 438 0.25 0.44

reactor ctrl 151 48 3.15 29 0.60 0 0 0 0 -runner 5052 704 7.18 307 0.44 0 0 0 0 -example 208 60 3.47 2 0.30 26 0.13 9 0.15 0.35ww button 292 156 1.87 92 0.59 0 0 0 0 -

greycounter 160052 34560 4.63 14043 0.41 26507 0.17 12725 0.37 0.48tcint 80689 33610 2.4 16769 0.50 5116 0.06 2129 0.06 0.42mca200 982417256988 3.82 125055 0.49 242457 0.25 105258 0.41 0.43

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 84

Page 103: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

Code Characteristics and Compilation TimesSpeed, Size, Power, ScalabilityAnalysis of context switchesAnother Example

Edwards02: Esterel to KEPmodule Edwards02:

input S, I;

output O;

signal A,R in

every S do

await I;

weak abort

sustain R;

when immediate A;

emit O;

||

loop

pause;

pause;

present R then

emit A;

end present

end loop

end every

end signal

end module

every S do

p

end≡

await S;

loop

abort

p;

halt

when S

end loop

sustain S ≡loop

emit S;

pause;

end loop

loop

p

end loop≡

A:

p;

goto A

INPUT S,IOUTPUT O

[L00,T0] EMIT _TICKLEN,#20[L01,T0] SIGNAL A[L02,T0] SIGNAL R[L03,T0] AWAIT S[L04,T0] A2: LABORT S,A3[L05,T0] PAR 1,A4,1[L06,T0] PAR 1,A5,2[L07,T0] PARE A6,1[L08,T1] A4: TABORT I,A7[L09,T1] A8: PRIO 3[L10,T1] PAUSE[L11,T1] PRIO 1[L12,T1] GOTO A8[L13,T1] A7: TWABORTI A,A9[L14,T1] A10:EMIT R[L15,T1] PRIO 1[L16,T1] PRIO 3[L17,T1] PAUSE[L18,T1] GOTO A10[L19,T1] A9: EMIT O[L20,T2] A5:A11: PAUSE[L21,T2] PRIO 2[L22,T2] PAUSE[L23,T2] PRESENT R,A12[L24,T2] EMIT A[L25,T2] A12:PRIO 1[L26,T2] GOTO A11[L27,T0] A6: JOIN[L28,T0] A3: GOTO A2

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 85

Page 104: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

Code Characteristics and Compilation TimesSpeed, Size, Power, ScalabilityAnalysis of context switchesAnother Example

Edwards02: a Possible Execution Tracemodule Edwards02:

input S, I;

output O;

signal A,R in

every S do

await I;

weak abort

sustain R;

when immediate A;

emit O;

||

loop

pause;

pause;

present R then

emit A;

end present

end loop

end every

end signal

end module

every S do

p

end≡

await S;

loop

abort

p;

halt

when S

end loop

sustain S ≡loop

emit S;

pause;

end loop

loop

p

end loop≡

A:

p;

goto A

Tick-

S I

R RAO

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 86

Page 105: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

Code Characteristics and Compilation TimesSpeed, Size, Power, ScalabilityAnalysis of context switchesAnother Example

module Edwards02:

input S, I;

output O;

signal A,R in

every S do

await I;

weak abort

sustain R;

when immediate A;

emit O;

||

loop

pause;

pause;

present R then

emit A;

end present

end loop

end every

end signal

end module

INPUT S,IOUTPUT O

[L00,T0] EMIT _TICKLEN,#20[L01,T0] SIGNAL A[L02,T0] SIGNAL R[L03,T0] AWAIT S[L04,T0] A2: LABORT S,A3[L05,T0] PAR 1,A4,1[L06,T0] PAR 1,A5,2[L07,T0] PARE A6,1[L08,T1] A4: TABORT I,A7[L09,T1] A8: PRIO 3[L10,T1] PAUSE[L11,T1] PRIO 1[L12,T1] GOTO A8[L13,T1] A7: TWABORTI A,A9[L14,T1] A10:EMIT R[L15,T1] PRIO 1[L16,T1] PRIO 3[L17,T1] PAUSE[L18,T1] GOTO A10[L19,T1] A9: EMIT O[L20,T2] A5:A11: PAUSE[L21,T2] PRIO 2[L22,T2] PAUSE[L23,T2] PRESENT R,A12[L24,T2] EMIT A[L25,T2] A12:PRIO 1[L26,T2] GOTO A11[L27,T0] A6: JOIN[L28,T0] A3: GOTO A2

- Tick 1 -! reset;% In:% Out:[L01,T0] [L02,T0] [L03,T0]- Tick 2 -% In: S% Out:[L03,T0] [L04,T0] [L05,T0][L06,T0] [L07,T0][L20,T2] [L08,T1][L09,T1] [L10,T1][L27,T0]- Tick 3 -% In: I% Out: R[L10,T1] [L13,T1][L14,T1] [L15,T1][L20,T2] [L21,T2] [L22,T2][L16,T1] [L17,T1] [L27,T0]- Tick 4 -% In:% Out: A R O[L17,T1] [L18,T1][L14,T1] [L15,T1][L22,T2] [L23,T2] [L24,T2][L25,T2] [L26,T2] [L20,T2][L16,T1] [L17,T1] [L19,T1][L27,T0]

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 87

Page 106: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

Multi-processing vs. Multi-threadingComparison of Synthesis OptionsApplication Scenarios

Overview

KEP3a Instruction Set + Architecture

The Compiler

Further Measurements

SummaryMulti-processing vs. Multi-threadingComparison of Synthesis OptionsApplication Scenarios

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 88

Page 107: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

Multi-processing vs. Multi-threadingComparison of Synthesis OptionsApplication Scenarios

Multi-processing vs. Multi-threading

PICCore Extension PIC

Core Extension

Environment

PICCore Extension

Thread Control Unit

Extended AssemblerExtended Assembler Extended Assembler

Multi-processing (EMPEROR/RePIC)

I Esterel thread ≈ one independent RePICprocessor

I Thread Control Unit handles thesynchronization and communication

I Three-valued signal representation

I sync command to synchronize threads

Environment

KEP Assembler

Interface Block

Reactive Kernel

ReactiveBlock

Dat

apat

hB

lock

ThreadBlockDecoder

&Controller

Multi-threading (KEP)I Esterel thread ≈ several

registers

I priority-based scheduler

I PRIO command tosynchronize threads

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 89

Page 108: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

Multi-processing vs. Multi-threadingComparison of Synthesis OptionsApplication Scenarios

Comparison of Synthesis Options

HW SW Co-design Reactive ProcessorMulti-processing Multi-threading

Speed ++ – + + +Flexibility – – ++ – +/– +Scalability + ++ + – – +

Logic Area ++/– + + – – +/–Cost Memory ++ – – – + +

Power Usage ++ – – – – +Appl. Design Cycle – – ++ +/– ++ ++

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 90

Page 109: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

Multi-processing vs. Multi-threadingComparison of Synthesis OptionsApplication Scenarios

Scenario I: DSP + Reactive Processor

ReactiveProcessorDSP

Global Memory

Communication Backplane

IPs

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 91

Page 110: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

Multi-processing vs. Multi-threadingComparison of Synthesis OptionsApplication Scenarios

Scenario II: DSP + HW Block + Reactive Processor

ReactiveProcessorDSP

Global Memory

Communication Backplane

IPs

HW blk

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 92

Page 111: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

Multi-processing vs. Multi-threadingComparison of Synthesis OptionsApplication Scenarios

Scenario III: HW Block + Reactive Processor

ReactiveProcessor

Global Memory

Communication Backplane

IPs

HW blk

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 93

Page 112: Multi-Threaded Reactive Processingpop-art.inrialpes.fr/~girault/Synchron06/Slides/von... · 2006. 12. 5. · L05 A4 L05 EMIT R L06 PAUSE L07 GOTO A4 % module Example OUTPUT A,R L01:

KEP3a Instruction Set + ArchitectureThe Compiler

Further MeasurementsSummary

Multi-processing vs. Multi-threadingComparison of Synthesis OptionsApplication Scenarios

Possible Co-Design Development Flow

Application Description(Esterel + e.g. Lustre/Simulink)

Reactive Proc. Impl.

Co-simulation/verif.

Mapping

Reactive ProcessorSynthesis

HWSynthesis

Implementation of App.

HW Block Impl.

System Constraints(e.g. WCET, area, etc.)

Opt. Lib.

Reactive processing . . .

I permits a simplemapping strategy

I allows optimizationson high-level

I can meet stricterconstraints thanclassicalarchitectures

I permits a bettertradeoff between allcost factors

Thanks/Comments?

Xin Li, Marian Boldt, Reinhard v. Hanxleden Multi-Threaded Reactive Processing Slide 94