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.