wok-current view syslinux/stuff/iso2exe/a20.c @ rev 18493

Add atril
author Yuri Pourre <yuripourre@gmail.com>
date Sun Oct 11 00:10:26 2015 -0300 (2015-10-11)
parents c15bb3c9e12d
children
line source
1 #ifndef __A20
2 #define __A20
4 static void dosshutdowna20(void)
5 {
6 #asm
7 call _dosshutdown
8 xor ax, ax // 30
9 cmp ax, _a20buffer
10 je no_a20buffer
11 pusha // more than 1Mb => 286+
12 mov cx, #9 // 2E..1E
13 a20z1:
14 push ax
15 loop a20z1
16 push #0x9310
17 push ax // 1A 0x100000
18 push #-1 // 18
19 push ax // 16
20 push #0x9300+A20HOLDBUFFER/0x10000
21 push ax // 12 A20HOLDBUFFER
22 push #-1 // 10
23 mov cl, #8 // 0E..00
24 a20z2:
25 push ax
26 loop a20z2
27 mov ch, #0x10000/512
28 push ss
29 pop es
30 mov si, sp
31 mov ah, #0x87
32 int 0x15
33 add sp, #0x30
34 popa
35 no_a20buffer:
36 #endasm
37 }
39 #define dosshutdown dosshutdowna20
41 #endif