blob: b670ce4e62d21bbd2bb79d618b87b07bfbe930c2 [file] [log] [blame]
bits 16
swap:
push bx
movzx bx,dl
mov dl,[cs:bx+(table-$$)]
pop bx
.jmp: jmp 0:0
nop
nop
install:
;; DS = CS, ES = 0
mov edi,[es:si+4*0x13]
mov [swap.jmp+1],edi
mov di,[es:0x413]
dec di
mov [es:0x413],di
shl edi,16+6
mov [es:si+4*0x13],edi
shr edi,16
mov es,di
xor di,di
rep movsd
mov si,0
mov di,0
mov ds,si
mov es,di
mov ecx,0
mov esi,0
mov edi,0
jmp 0:0
align 16
table: