e s2 s1 s0 | s2' s1' s0' ------------------------ 0 0 0 0 | 0 0 1 0 0 0 1 | 0 1 1 0 0 1 0 | 1 1 0 0 0 1 1 | 0 1 0 0 1 0 0 | 0 0 0 0 1 0 1 | 1 0 0 0 1 1 0 | 1 1 1 0 1 1 1 | 1 0 1 1 0 0 0 | 0 0 1 1 0 0 1 | 0 1 0 1 0 1 0 | 0 1 1 1 0 1 1 | 1 0 0 1 1 0 0 | 1 0 1 1 1 0 1 | 1 1 0 1 1 1 0 | 1 1 1 1 1 1 1 | 0 0 0


cycle 1: 5, (7), 3, 9 cycle 2: X, 6, 1
appelant appelé
------- ------
...
push rta
copyreg sp bp
calculer arg1 dans r0
push r0
calculer arg2 dans r0
push r0
...
calculer argn dans r0
push r0
jal sub
sub: sub m sp
...
copyreg bp sp
ret
rta: continuer le calcul

Étape 2, remplacer les bascules par des portes. Attention à utiliser la bonne sortie.

Étape 3, remplacer les portes non-ou par des portes et et des inverseurs. Une porte non-ou est équivalente à une porte et dont toutes les entées sont inversées.

Étape 4, Simplification. On associe les inverseur avec les sorties des portes et autant que possible.

Étape 5, On peut simplifier encore plus si l'on réalise que les deux sorties d'une bascule ont toujours des valeurs complémentaires.
