Rev 3157 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3157 | Rev 3169 | ||
---|---|---|---|
Line 29... | Line 29... | ||
29 | .text |
29 | .text |
30 | .section .text |
30 | .section .text |
31 | .global program_run |
31 | .global program_run |
32 | .set noreorder |
32 | .set noreorder |
33 | 33 | ||
34 | ## void program_run(uintptr_t entry_point); |
34 | ## void program_run(void *entry_point, void *pcb); |
- | 35 | # |
|
- | 36 | # $a0 (=$4) contains entry_point |
|
- | 37 | # $a1 (=$5) contains pcb |
|
35 | # |
38 | # |
36 | # Jump to a program entry point |
39 | # Jump to a program entry point |
37 | .ent program_run |
40 | .ent program_run |
38 | program_run: |
41 | program_run: |
- | 42 | # tmp := entry_point |
|
39 | move $25, $4 |
43 | move $25, $a0 |
- | 44 | ||
- | 45 | # Pass pcb to the entry point in $a0 |
|
- | 46 | move $a0, $a1 |
|
40 | jr $25 |
47 | jr $25 |
41 | nop |
48 | nop |
42 | .end |
49 | .end |