3bit CPU 4命令
plantuml
'--- 加算処理(R = R + 1)
s0 --> s1 : 加算
s1 --> s2 : 加算
s2 --> s3 : 加算
s3 --> s4 : 加算
s4 --> s5 : 加算
s5 --> s6 : 加算
s6 --> s7 : 加算
s7 --> s7 : 加算(最大値保持)
'--- 減算処理(R = R - 1)
s7 --> s6 : 減算
s6 --> s5 : 減算
s5 --> s4 : 減算
s4 --> s3 : 減算
s3 --> s2 : 減算
s2 --> s1 : 減算
s1 --> s0 : 減算
s0 --> s0 : 減算(最小値保持)
'--- clear(R ← 0)
s1 --> s0 : clear
s2 --> s0 : clear
s3 --> s0 : clear
s4 --> s0 : clear
s5 --> s0 : clear
s6 --> s0 : clear
s7 --> s0 : clear
'--- nop(変化なし)
s0 --> s0 : nop
s1 --> s1 : nop
s2 --> s2 : nop
s3 --> s3 : nop
s4 --> s4 : nop
s5 --> s5 : nop
s6 --> s6 : nop
s7 --> s7 : nop
@enduml
Ref.
職業訓練
https://qiita.com/kaizen_nagoya/items/95368b63fa21d64271ec
UML記事一覧
https://qiita.com/kaizen_nagoya/items/7e7f3af08e1f3bd0380c