Remove ASM-only parts

This was actually a problem discussed in ticket 591. He wanted to continue this work but never did. So, these changes were never tested on OpenBSD but I would guess that most problems on this platform are solved. I hope it still can be bisected quite easily in case it introduces a problem