Ich würde gern helfen, wenn Code nicht so unlogisch wäre:
1. wozu D := X1 DIV X2;  wenn D nie gebraucht wird?  
(oder ist es wie beim ASM, wo MOD mit Hilfe der DIV berechnet wird)
2. Wo genau beginnt und endet while: entweder {...} oder begin... end   
3. Was soll denn nun die Ergebnisvariable sein? Oder 2 Ergebnisse x1 und x2, da hier END?
4. was sollen die letzten 2 Zeilen?
od;  //was für ein Code??
C := X2;  //wozu das C ??