1
2
3
4
5
6
7
8
9
10
11
12
13 .code16
14 .section ".inittext","ax"
15 .globl intcall
16 .type intcall, @function
17 intcall:
18
19 cmpb %al, 3f
20 je 1f
21 movb %al, 3f
22 jmp 1f
23 1:
24
25 pushfl
26 pushw %fs
27 pushw %gs
28 pushal
29
30
31 subw $44, %sp
32 movw %dx, %si
33 movw %sp, %di
34 movw $11, %cx
35 rep; movsd
36
37
38 popal
39 popw %gs
40 popw %fs
41 popw %es
42 popw %ds
43 popfl
44
45
46 .byte 0xcd
47 3: .byte 0
48
49
50 pushfl
51 pushw %ds
52 pushw %es
53 pushw %fs
54 pushw %gs
55 pushal
56
57
58 cld
59 movzwl %sp, %esp
60 movw %cs, %ax
61 movw %ax, %ds
62 movw %ax, %es
63
64
65 movw 68(%esp), %di
66 andw %di, %di
67 jz 4f
68 movw %sp, %si
69 movw $11, %cx
70 rep; movsd
71 4: addw $44, %sp
72
73
74 popal
75 popw %gs
76 popw %fs
77 popfl
78 retl
79 .size intcall, .-intcall