spec: dies und das
[hwmod.git] / spec / sm / scanner.tex
1 \documentclass{minimal}
2 \pagestyle{empty}
3
4 \usepackage{pstricks}
5 \usepackage{pst-node}
6
7 \begin{document}
8
9 \begin{psmatrix}[mnode=oval, colsep=2cm, rowsep=2cm]
10 [mnode=R,name=res]{sys\_res\_n} &
11 [name=idle]{\shortstack{\textbf{idle}\\bs:=0;\\take:=0;\\do\_it:=0;}} &
12 [name=take]{\shortstack{\textbf{\"ubernehmen}\\take:=1;\\char:=$b_0$;}} \\
13 %%
14 [name=doit]{\shortstack{\textbf{enter}\\do\_it:=1;}} &
15 &
16 [name=mod]{\shortstack{\textbf{mod}\\$b_0$:=data;}} \\
17 %%
18 &
19 [name=read]{\shortstack{\textbf{read}\\$b_0$:=data;}} &
20 [name=bs]{\shortstack{\textbf{l\"oschen}\\backspace:=1;}} \\
21 \end{psmatrix}
22
23 \psset{arrows=->, shortput=nab}
24
25 \ncline[linestyle=dotted]{res}{idle}
26
27 \ncarc[arcangle=25]{idle}{read}\ncput*[npos=.43]{new\_data$\uparrow$}
28 \ncarc[arcangle=25]{read}{idle}\ncput*[npos=.43]{ung\"ultiges byte}
29
30 \ncarc[arcangle=-25]{read}{bs}\ncput*[npos=.50]{$b_0 = 0x0e$}
31 \ncarc[arcangle=25]{read}{doit}\ncput*[npos=.50]{$b_0 = 0x1c$}
32
33 \ncarc[arcangle=0]{read}{mod}\ncput*[npos=.40]{$b_0 = 0xe0$}
34 \ncarc[arcangle=-40]{mod}{take}\ncput*[npos=.40]{g\"ultiges zeichen}
35 \ncarc[arcangle=-25]{mod}{idle}\ncput*[npos=.53]{ung\"ultiges byte}
36
37 \ncarc[arcangle=0]{bs}{idle}
38 \ncarc[arcangle=25]{doit}{idle}\ncput*[npos=.50]{finished\_result$\uparrow$}
39 \ncarc[arcangle=-25]{take}{idle}
40 \end{document}