Time Services |
Function Number | Function |
0x10 | Get current time of day |
0x11 | Get current date |
0x40 | End tasks time slice |
0x41 | Pause task |
0x60 | Get task priority |
0x61 | Set current task priority |
0x98 | Suspend task |
0x99 | Stop task until message received |
0x9C | Un-suspend task |
0x9D | Re-start task (message received) |
0xC0 | Install code |
0xD0 | Create system task |
0xD1 | Create system idle task |
0xD8 | Kill task |
0xDF | Jump to task |
0xF0 | Self test |
0xFE | Shutdown module |
This gets the time from the CMOS.
Input
none
Output
BL Second (BCD)
BH Minute (BCD)
CL Hour (BCD)
AL Status
This gets the date from the CMOS.
Input
none
Output
BX Year (BCD)
BH Month (BCD)
CL Day (BCD)
AL Status
This ends a tasks time slice. Use it when your code has to wait for anything.
Input
none
Output
AL Status
This suspends a task for at least the amount of time specified. Be carefull asking for large amounts of time asleep if the task has a message queue.
Input
EBX Minimum milli-seconds to sleep for
Output
AL Status
Each task has 2 priority values, one set by the user and one set by the task.
Input
BX Code ID
Output
BL Priority
AL Status
0x61 Set current
tasks priority
Each task has 2 priority values, one set by the user and one set by the task.
Input
BL Priority
Output
AL Status
This sets a flag that prevents a task from getting any CPU time. If the current task is suspended this service won't return until this flag has been cleared (using service 0x9C).
Input
BX Task ID
Output
AL Status
0x99 Stop task until
message received
This sets a flag that prevents a task from getting any CPU time. If the current task is suspended this service won't return until this flag has been cleared (using service 0x9D). It should only ever be used by Messaging Services.
Input
BX Task ID
Output
AL Status
This clears a flag that prevents a task from getting any CPU time.
Input
BX Task ID
Output
AL Status
0x9D Start task
(message received)
This clears a flag that prevents a task from getting any CPU time. It should only ever be used by Messaging Services.
Input
BX Task ID
Output
AL Status
This installs and starts any native code.
Input
EBX Physical address of code
Output
BX Code ID for module
AL Status
This creates a task for systems code and drivers. The task created is treated by the scheduler the same as a normal application.
Input
EBX Maximum stack size in pages
CX Code ID for module
EDX New tasks EIP
Output
EBX Address of pages allocated for stack
AL Status
This creates a task for systems code and drivers than only ever runs when there's nothing else to do.
Input
EBX Maximum stack size in pages
CX Code ID for module
EDX New tasks EIP
Output
EBX Address of pages allocated for stack
AL Status
This removes a tasks TSS and scheduling info (eventually). It doesn't de-allocate any other resources used.
Input
BX Task ID
Output
AL Status
Switches from the current task to a new one.
Input
BX Task ID
Output
AL Status
This service tests the time services data structures.
Input
none
Output
EBX address of error string (unless no
error)
AL status (0 means ok, no error
string)
Home Index |