MMT_PRIOR/SMS.SPJB - Set a Job's Priority
Set a job’s priority.
Call Parameters | Return Register | Return Parameter | |
---|---|---|---|
D0.B | $0B | D0.L | Error code. |
D1.L | Id of the job to be prioritised. | D1.L | Preserved unless on entry it was -1 in which case it will become the Id of the current job. |
D2.B | Job’s new priority. See notes below. | D2.L | Preserved. |
D3 | Unused. | D3 | Preserved. |
A0.L | Unused. | A0.L | Base address of prioritised job. |
Errors
Error Code | Description |
---|---|
ERR_NJ | Invalid job id. |
Notes
- All registers not shown above are not used on entry and are preserved on exit.
- The priority passed in D2.B is documented as being in the range 0 to 127, however, it appears that values from 0 to 255 can be used.
- This trap always exits via the job scheduler, so it is not atomic.
Example
The following shows the use of this call.
moveq #mt_prior,d0 ; Or MT+PRIOR.
moveq #-1,d1 ; Change my own priority.
moveq #1,d2 ; Set priority very low.
trap #1 ; Change the priority.