Vi gemmer LV og CPP p stakken, s vi kan bruge disse registre igennem
algoritmen.
I LV gemmer vi vores y som er det samme som TOS nr vi begynder.
CPP bruger vi til at holde styr p om der skal skiftes fortegn til
sidst, alts om x og y har forskelligt fortegn.
TOS svarer til vores w, OPC til vores r og MDR til vores q.
Frst tester vi om TOS er lig 0 for hvis den er det s er vi frdige
og vi har s valgt at hvis man prver at dividerer med 0 s smider vi
0 p stakken. Her kunne vi have valgt at kalde mic1_exit, der stopper
programkrslen. Vi prioriterede at programmet skulle fortstte med at kre,
selvom der opstr fejl\\
Dernst tester vi om TOS og OPC er ens, hvis de er det stter vi MDR
lig 1 og skriver det til stakken, efter at have hentet CPP og LV's
oprindelige vrdier og lagt dem i CPP og LV.\\
Er de ikke ens tester vi p om TOS er negativ, er den det negerer vi
bde TOS og LV, der endnu er ens. S tester vi igen om TOS er negativ
for hvis den er det, er den lig det $-2^{31}$ og det tilflde behandler vi som
at dividerer med 0 da resultatet kun er forskelligt fra nul hvis
tlleren ogs er $-2^{31}$, og det har vi allerede testet for
tidligere i algoritmen. \\
Hvis negationen har gjort TOS positiv s stter vi CPP til 1.
Vi gr nu ind i en whilelkke, hvor vi s lnge 2*TOS er positivt
ganger TOS med 2, dvs. nr TOS ikke lngere kan fordobles uden der sker
overlb forlades lkken.\\
Vi tjekker s om OPC er negativ(idiv_test2), hvis det er tilfldet
negeres den (idiv_neg2) og CPP ndres(idiv_neg4). Hvis OPC efter
negeringen stadig er negativ er den $-2^{31}$ og man betragter
$-2^{31}$ som unsigned. S kan man trkke nvneren fra og s er man
sikker p at man har et positivt 2-kompliment tal. Herefter kan vi med
god samvittighed ndre CPP, der senere bruges til at tjekke om der
skal skiftes fortegn(idiv_invert).\\
Nu har vi taget hensyn til alle special-tilflde og fortstter til
vores divisions-algoritme(idiv_while3), der er beskrevet
ovenfor(s.8). Her starter algoritmen med at teste om TOS - OPC > 0( w <= r ) og er
det tilfldet trkkes TOS fra OPC ( r = r - w ) og MDR tlles 1 op( q
= q + 1 )(idiv_st). Ligemeget om  TOS - OPC > 0( w <= r ) er sand
eller ej fortstter vi med at teste om TOS = LV( w = y ). 
Hvis de ikke er lig hinanden halveres TOS( w = w/2 ) og MDR fordobles(
q = 2q ). Nr de bliver lig hinanden er vi frdige og vi mangler kun at negere
resultatet i de tilflde hvor kun den ene var negativ(CPP = 0)(
idiv_invert) og ordne registrene, s bde LV og CPP fr deres vrdier
indlst fra stakken. Resultat gemmes i TOS og skrives til stakken.\\  
Vi er sikre p at vores algoritme virker for alle 2-komplement-tal, der
kan reprsenteres med 32 bit. Det har vi gjort ved at tage hensyn til
alle specialtilflde, fra division med 0 til de mere specifikke
f.eks. $-2^{31}$'s negation, der som bekendt stadig er negativ(sig
selv) og derfor er et specialtilflde. 
