]> git.lizzy.rs Git - plan9front.git/blob - sys/src/libc/386/vlop.s
audiohda: make it work with sb600 onboard sound
[plan9front.git] / sys / src / libc / 386 / vlop.s
1 TEXT    _mulv(SB), $0
2         MOVL    r+0(FP), CX
3         MOVL    a+4(FP), AX
4         MULL    b+12(FP)
5         MOVL    AX, 0(CX)
6         MOVL    DX, BX
7         MOVL    a+4(FP), AX
8         MULL    b+16(FP)
9         ADDL    AX, BX
10         MOVL    a+8(FP), AX
11         MULL    b+12(FP)
12         ADDL    AX, BX
13         MOVL    BX, 4(CX)
14         RET
15
16 TEXT    _mul64by32(SB), $0
17         MOVL    r+0(FP), CX
18         MOVL    a+4(FP), AX
19         MULL    b+12(FP)
20         MOVL    AX, 0(CX)
21         MOVL    DX, BX
22         MOVL    a+8(FP), AX
23         MULL    b+12(FP)
24         ADDL    AX, BX
25         MOVL    BX, 4(CX)
26         RET
27
28 TEXT    _div64by32(SB), $0
29         MOVL    r+12(FP), CX
30         MOVL    a+0(FP), AX
31         MOVL    a+4(FP), DX
32         DIVL    b+8(FP)
33         MOVL    DX, 0(CX)
34         RET
35
36 TEXT    _addv(SB),1,$0  /* used in profiler, can't be profiled */
37         MOVL    r+0(FP), CX
38         MOVL    a+4(FP), AX
39         MOVL    a+8(FP), BX
40         ADDL    b+12(FP), AX
41         ADCL    b+16(FP), BX
42         MOVL    AX, 0(CX)
43         MOVL    BX, 4(CX)
44         RET
45
46 TEXT    _subv(SB),1,$0          /* used in profiler, can't be profiled */
47         MOVL    r+0(FP), CX
48         MOVL    a+4(FP), AX
49         MOVL    a+8(FP), BX
50         SUBL    b+12(FP), AX
51         SBBL    b+16(FP), BX
52         MOVL    AX, 0(CX)
53         MOVL    BX, 4(CX)
54         RET