|
|
1.1 root 1: bits 16
2: org 100h
3:
4: jmp start
5:
6: shuffle_start:
7: push 0xB800
8: pop es
9: mov cx, 80*24*2
10: mov ax, 'AA'
11: xor di, di
12: rep stosw
13: .lbl: jmp .lbl
14: shuffle_end:
15: nop
16: shuffle_len equ (shuffle_end - shuffle_start + 1)
17:
18: start:
19: ; calculate physical address of shuffled part
20: xor eax, eax
21: push ds
22: pop ax
23: shl eax, 4
24: add ax, shuffle_start
25: mov dword [source], eax
26:
27: mov ax, 0012h
28: mov di, shuffle_descriptors
29: mov cx, num_shuffle_descriptors
30: mov ebp, 0x7c00
31: int 22h
32: int3
33:
34: shuffle_descriptors:
35: dd 0x7C00
36: source: dd 0
37: dd shuffle_len
38:
39: num_shuffle_descriptors equ 1
40:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.