@Quake: Wir reden hier wirklich aneinander vorbei
im Verlaufe des Threads ist im Kopf hängengeblieben, das das ganze in eine Funktion ausgelagert wurde (dein RET an der Stelle ist überflüssig und sogar gefährlich. Den Rücksprung besorgt Delphi durch das "end;" von allein). Dann genügt die eine Zeile, wie ich es schrieb.
Mitten im Programmcode, wie in deinem Falle, hast du natürlich recht. Wie sich das ganze verhält, wenn wir "inline" ins Spiel bringen, werde ich jetzt nicht ausführen...
Was deinen Codeschnipsel angeht: Es wäre interessant zu sehen, ob "Zahl" nicht schon in einem Register liegt - dann wären die MOV's wieder überflüssig und wir hätten wieder nur eine Zeile Code. Grundsätzlich empfiehlt sich ein PUSH/POP um solcherlei "handcrafted" Code, wie @Apollonius schon bemerkte. Kann aber durchaus entfallen, wenn es die allerletzten Zeilen in der Funktion sind.
Ach ja, das CPU-Fenster gibt es IIRC seit Delphi 3 (dort nur mit Registry-Hack) und ist erreichbar über ALT+8