Add qemu 2.4.0
[kvmfornfv.git] / qemu / roms / ipxe / src / tests / comboot / shuffle-simple.asm
diff --git a/qemu/roms/ipxe/src/tests/comboot/shuffle-simple.asm b/qemu/roms/ipxe/src/tests/comboot/shuffle-simple.asm
new file mode 100644 (file)
index 0000000..efc7d9b
--- /dev/null
@@ -0,0 +1,40 @@
+       bits 16
+       org 100h
+
+       jmp start
+       
+shuffle_start:
+       push 0xB800
+       pop es
+       mov cx, 80*24*2
+       mov ax, 'AA'
+       xor di, di
+       rep stosw
+.lbl:  jmp .lbl
+shuffle_end:
+       nop
+shuffle_len equ (shuffle_end - shuffle_start + 1)
+
+start:
+       ; calculate physical address of shuffled part
+       xor eax, eax
+       push ds
+       pop ax
+       shl eax, 4
+       add ax, shuffle_start
+       mov dword [source], eax
+
+       mov ax, 0012h
+       mov di, shuffle_descriptors
+       mov cx, num_shuffle_descriptors
+       mov ebp, 0x7c00
+       int 22h
+       int3
+
+shuffle_descriptors:
+       dd 0x7C00
+source:        dd 0
+       dd shuffle_len
+
+num_shuffle_descriptors equ 1
+