]> git.lizzy.rs Git - plan9front.git/blob - sys/src/libc/386/main9p.s
Import sources from 2011-03-30 iso image - lib
[plan9front.git] / sys / src / libc / 386 / main9p.s
1 #define NPRIVATES       16
2
3 TEXT    _mainp(SB), 1, $(8+NPRIVATES*4)
4         /* _tos = arg */
5         MOVL    AX, _tos(SB)
6         LEAL    8(SP), AX
7         MOVL    AX, _privates(SB)
8         MOVL    $NPRIVATES, _nprivates(SB)
9         /* _profmain(); */
10         CALL    _profmain(SB)
11         /* _tos->prof.pp = _tos->prof.next; */
12         MOVL    _tos+0(SB),DX
13         MOVL    4(DX),CX
14         MOVL    CX,(DX)
15         /* main(argc, argv); */
16         MOVL    inargc-4(FP), AX
17         MOVL    AX, 0(SP)
18         LEAL    inargv+0(FP), AX
19         MOVL    AX, 4(SP)
20         CALL    main(SB)
21
22 loop:
23         MOVL    $_exits<>(SB), AX
24         MOVL    AX, 0(SP)
25         CALL    exits(SB)
26         MOVL    $_profin(SB), AX        /* force loading of profile */
27         JMP     loop
28
29 TEXT    _savearg(SB), 1, $0
30         RET
31
32 TEXT    _callpc(SB), 1, $0
33         MOVL    argp+0(FP), AX
34         MOVL    4(AX), AX
35         RET
36
37 DATA    _exits<>+0(SB)/4, $"main"
38 GLOBL   _exits<>+0(SB), $5