📄 os.xml
字号:
<pre>
10 r1, r2
</pre>
</summary>
</member>
<member name="F:Hanselman.CST352.InstructionType.Printr">
<summary>
Prints out contents of register 1
<pre>
11 r1
</pre>
</summary>
</member>
<member name="F:Hanselman.CST352.InstructionType.Printm">
<summary>
Prints out contents of memory pointed to by register 1
<pre>
12 r1
</pre>
</summary>
</member>
<member name="F:Hanselman.CST352.InstructionType.Jmp">
<summary>
Control transfers to the instruction whose address is r1 bytes relative to the current instruction.
r1 may be negative.
<pre>
13 r1
</pre>
</summary>
</member>
<member name="F:Hanselman.CST352.InstructionType.Cmpi">
<summary>
Compare contents of r1 with 1. If r1 < 9 set sign flag. If r1 > 9 clear sign flag.
If r1 == 9 set zero flag.
<pre>
14 r1, $9
</pre>
</summary>
</member>
<member name="F:Hanselman.CST352.InstructionType.Cmpr">
<summary>
Compare contents of r1 with r2. If r1 < r2 set sign flag. If r1 > r2 clear sign flag.
If r1 == r2 set zero flag.
<pre>
15 r1, r2
</pre>
</summary>
</member>
<member name="F:Hanselman.CST352.InstructionType.Jlt">
<summary>
If the sign flag is set, jump to the instruction that is offset r1 bytes from the current instruction
<pre>
16 r1
</pre>
</summary>
</member>
<member name="F:Hanselman.CST352.InstructionType.Jgt">
<summary>
If the sign flag is clear, jump to the instruction that is offset r1 bytes from the current instruction
<pre>
17 r1
</pre>
</summary>
</member>
<member name="F:Hanselman.CST352.InstructionType.Je">
<summary>
If the zero flag is set, jump to the instruction that is offset r1 bytes from the current instruction
<pre>
18 r1
</pre>
</summary>
</member>
<member name="F:Hanselman.CST352.InstructionType.Call">
<summary>
Call the procedure at offset r1 bytes from the current instrucion.
The address of the next instruction to excetute after a return is pushed on the stack
<pre>
19 r1
</pre>
</summary>
</member>
<member name="F:Hanselman.CST352.InstructionType.Callm">
<summary>
Call the procedure at offset of the bytes in memory pointed by r1 from the current instrucion.
The address of the next instruction to excetute after a return is pushed on the stack
<pre>
20 r1
</pre>
</summary>
</member>
<member name="F:Hanselman.CST352.InstructionType.Ret">
<summary>
Pop the return address from the stack and transfer control to this instruction
<pre>
21
</pre>
</summary>
</member>
<member name="F:Hanselman.CST352.InstructionType.Alloc">
<summary>
Allocate memory of the size equal to r1 bytes and return the address of the new memory in r2.
If failed, r2 is cleared to 0.
<pre>
22 r1, r2
</pre>
</summary>
</member>
<member name="F:Hanselman.CST352.InstructionType.AcquireLock">
<summary>
Acquire the OS lock whose # is provided in register r1.
Icf the lock is not held by the current process
the operation is a no-op
<pre>
23 r1
</pre>
</summary>
</member>
<member name="F:Hanselman.CST352.InstructionType.ReleaseLock">
<summary>
Release the OS lock whose # is provided in register r1.
Another process or the idle process
must be scheduled at this point.
if the lock is not held by the current process,
the instruction is a no-op
<pre>
24 r1
</pre>
</summary>
</member>
<member name="F:Hanselman.CST352.InstructionType.Sleep">
<summary>
Sleep the # of clock cycles as indicated in r1.
Another process or the idle process
must be scheduled at this point.
If the time to sleep is 0, the process sleeps infinitely
<pre>
25 r1
</pre>
</summary>
</member>
<member name="F:Hanselman.CST352.InstructionType.SetPriority">
<summary>
Set the priority of the current process to the value
in register r1
<pre>
26 r1
</pre>
</summary>
</member>
<member name="F:Hanselman.CST352.InstructionType.Exit">
<summary>
This opcode causes an exit and the process's memory to be unloaded.
Another process or the idle process must now be scheduled
<pre>
27
</pre>
</summary>
</member>
<member name="F:Hanselman.CST352.InstructionType.FreeMemory">
<summary>
Free the memory allocated whose address is in r1
<pre>
28 r1
</pre>
</summary>
</member>
<member name="F:Hanselman.CST352.InstructionType.MapSharedMem">
<summary>
Map the shared memory region identified by r1 and return the start address in r2
<pre>
29 r1, r2
</pre>
</summary>
</member>
<member name="F:Hanselman.CST352.InstructionType.SignalEvent">
<summary>
Signal the event indicated by the value in register r1
<pre>
30 r1
</pre>
</summary>
</member>
<member name="F:Hanselman.CST352.InstructionType.WaitEvent">
<summary>
Wait for the event in register r1 to be triggered resulting in a context-switch
<pre>
31 r1
</pre>
</summary>
</member>
<member name="F:Hanselman.CST352.InstructionType.Input">
<summary>
Read the next 32-bit value into register r1
<pre>
32 r1
</pre>
</summary>
</member>
<member name="F:Hanselman.CST352.InstructionType.MemoryClear">
<summary>
set the bytes starting at address r1 of length r2 to zero
<pre>
33 r1, r2
</pre>
</summary>
</member>
<member name="F:Hanselman.CST352.InstructionType.TerminateProcess">
<summary>
Terminate the process whose id is in the register r1
<pre>
34 r1
</pre>
</summary>
</member>
<member name="F:Hanselman.CST352.InstructionType.Popr">
<summary>
Pop the contents at the top of the stack into register r1
<pre>
35 r1
</pre>
</summary>
</member>
<member name="F:Hanselman.CST352.InstructionType.Popm">
<summary>
Pop the contents at the top of the stack into the memory pointed to by register r1
<pre>
36 r1
</pre>
</summary>
</member>
<member name="T:Hanselman.CST352.InstructionCollection">
<summary>
A collection that stores <see cref="T:Hanselman.CST352.Instruction"/> objects.
</summary>
<seealso cref="T:Hanselman.CST352.InstructionCollection"/>
</member>
<member name="M:Hanselman.CST352.InstructionCollection.#ctor">
<summary>
Initializes a new instance of <see cref="T:Hanselman.CST352.InstructionCollection"/>.
</summary>
</member>
<member name="M:Hanselman.CST352.InstructionCollection.#ctor(Hanselman.CST352.InstructionCollection)">
<summary>
Initializes a new instance of <see cref="T:Hanselman.CST352.InstructionCollection"/> based on another <see cref="T:Hanselman.CST352.InstructionCollection"/>.
</summary>
<param name="value">
A <see cref="T:Hanselman.CST352.InstructionCollection"/> from which the contents are copied
</param>
</member>
<member name="M:Hanselman.CST352.InstructionCollection.#ctor(Hanselman.CST352.Instruction[])">
<summary>
Initializes a new instance of <see cref="T:Hanselman.CST352.InstructionCollection"/> containing any array of <see cref="T:Hanselman.CST352.Instruction"/> objects.
</summary>
<param name="value">
A array of <see cref="T:Hanselman.CST352.Instruction"/> objects with which to intialize the collection
</param>
</member>
<member name="M:Hanselman.CST352.InstructionCollection.Add(Hanselman.CST352.Instruction)">
<summary>
Adds a <see cref="T:Hanselman.CST352.Instruction"/> with the specified value to the
<see cref="T:Hanselman.CST352.InstructionCollection"/> .
</summary>
<param name="value">The <see cref="T:Hanselman.CST352.Instruction"/> to add.</param>
<returns>
The index at which the new element was inserted.
</returns>
<seealso cref="M:Hanselman.CST352.InstructionCollection.AddRange(Hanselman.CST352.Instruction[])"/>
</member>
<member name="M:Hanselman.CST352.InstructionCollection.AddRange(Hanselman.CST352.Instruction[])">
<summary>
Copies the elements of an array to the end of the <see cref="T:Hanselman.CST352.InstructionCollection"/>.
</summary>
<param name="value">
An array of type <see cref="T:Hanselman.CST352.Instruction"/> containing the objects to add to the collection.
</param>
<returns>
None.
</returns>
<seealso cref="M:Hanselman.CST352.InstructionCollection.Add(Hanselman.CST352.Instruction)"/>
</member>
<member name="M:Hanselman.CST352.InstructionCollection.AddRange(Hanselman.CST352.InstructionCollection)">
<summary>
Adds the contents of another <see cref="T:Hanselman.CST352.InstructionCollection"/> to the end of the collection.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -