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 |