Zitat Zitat von PicNick
Glaub ich nicht. Wenn ich im Assembler "BREQ", also eindeutig eine AVR-Instruction hinschreibe, und er fängt dann an, schöpferisch zu werden, wurde ich ihm sofort das Genick brechen.

Wenn einer meint, kann er ja einen Macro schreiben, der je nach distanz verschiedenen Code generiert.

Für sowas ist ja u.A "C" gemacht, dann geht mich das nix mehr an. (mal abgesehen davon, daß eine "goto" ein Pfui-Gack ist)
Nö, das ist eher üblich, daß Assembler sowas tun und (etwas) anderen MaschinenCode erzeugen, als sie bekommen. Ein Hauptgrund dafür kann sein, dein der Compiler nicht weiss oder garnicht wissen kann wie weit zu springen ist. Das tritt typischerweise dann auf, wenn sich Instruktionslängen erst zur Linkzeit ergeben -- in dem Falls würde sogar erst der Linker relaxen. Weiteres Beispiel kann der Workaround von Silicon-Bugs, die teilweise nur von Assembler oder (dynamschem) Linker gefixt werden können. So, genug OT