| /* on x86 old clang doesn't support .code16 | |
| newer clang supports it but creates 6-byte jumps instead of 3-byte ones | |
| which makes us go over boot sector size. | |
| Starting with 3.9 clang emits 3-byte jumps but still creates 8-bytes movl | |
| instead of 5-bytes, so code overflows into data. */ | |
| .code16 | |
| jmp far | |
| .org 4 | |
| jmp nearer | |
| .org 6 | |
| movl nearer, %ebx | |
| .org 11 | |
| .space 100 | |
| nearer: | |
| .space 200 | |
| far: | |
| .byte 0 |