diff options
Diffstat (limited to 'asm-tests/i386-pc.S')
-rw-r--r-- | asm-tests/i386-pc.S | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/asm-tests/i386-pc.S b/asm-tests/i386-pc.S new file mode 100644 index 0000000..d037744 --- /dev/null +++ b/asm-tests/i386-pc.S @@ -0,0 +1,18 @@ +/* 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 |