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 OTZitat von PicNick
![]()
Lesezeichen