In questo esercizio occorre soltanto fare attenzione a predisporre i dati nei registri giusti prima di chiamare il sottoprogramma.
[1] per calcolare b2 dobbiamo introdurre questo dato nei registri D ed E, poiché è in questi registri che il sottoprogramma aspetta i moltiplicandi. Ora sappiamo dalla traccia che E contiene già il dato b, ma D contiene il dato a per cui occorre preliminarmente salvare il contenuto del registro D in qualche altro registro, esclusi i registri A e B usati anch’essi dal sottoprogramma
[2] per calcolare il prodotto
a*c, dovremo riusare il sottoprogramma per cui dobbiamo salvare b2
contenuto nel registro A, in un altro registro e poi porre a nel registro D e c
nel registro E
[3] il dato a si trovava originariamente in D, ma lo abbiamo spostato all’inizio in C
[4] sposto il dato c nel registro E
[5] ora il registro A contiene il prodotto a*c. Poiché dobbiamo eseguire un’ultima moltiplicazione, occorre salvare questo risultato in D e porre quattro in E
[6] dopo l’ultima chiamata del sottoprogramma A contiene il prodotto 4ac, mentre G contiene b2. Ora occorrerebbe sottrarre b2-4ac, ma in genere in un microprocessore l’accumulatore deve essere il primo operando della sottrazione, perciò facciamo questo scambio fra registri