Mach doch bitte trotzdem mal Nägel mit Köpfen, und schreib das
komplette Konstrukt auf, das du da übertragen willst.
Bist du dir sicher, dass der inline-Assembler überhaupt das beste
Mittel der Wahl ist? Vielleicht wäre ja eine separate Assemblerdatei
viel besser? Beim inline-Assembler muss man einfach sehr genau den
Compiler über die Details informieren, beispielsweise müsstest du in
diesem Falle r26 und r27 als `clobbers' anzeigen, damit der Compiler
weiß, dass er dieses Register ggf. neu laden (oder es einfach meiden)
muss. U. U. wäre es aber viel praktischer, dem Compiler die maximale
Freiheit zu lassen und statt hart codierter XL/XH-Register einfach
per inline-asm-constraint zu verlangen, dass er einem einen Parameter
als Zeigerregister zur Verfügung stellt. In diesem Falle hätte der
Compiler die Möglichkeit, das tatsächlich verwendete Zeigerregisterpaar
nach den übrigen Randbedingungen selbst zu wählen.
Verstehst du jetzt, warum ich nicht nur ein 2-Zeilen-Schnipsel sehen
möchte?
(Ach so, unter noch anderen Umständen könnte es sein, dass man das Ganze
ja auch besser gleich in C schreibt...)