⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 os.xml

📁 Csharp写的一个超微软操作系统,欢迎大家互相学习讨论
💻 XML
📖 第 1 页 / 共 5 页
字号:
            </summary>
        </member>
        <member name="M:Hanselman.CST352.OS.Popr">
            <summary>
            Pop the contents at the top of the stack into register r1 
            <pre>
            35 r1
            </pre>		
            </summary>
        </member>
        <member name="M:Hanselman.CST352.OS.MemoryClear">
            <summary>
            set the bytes starting at address r1 of length r2 to zero
            <pre>
            33 r1, r2
            </pre>		
            </summary>
        </member>
        <member name="M:Hanselman.CST352.OS.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="M:Hanselman.CST352.OS.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="M:Hanselman.CST352.OS.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="M:Hanselman.CST352.OS.SignalEvent">
            <summary>
            Signal the event indicated by the value in register r1
            <pre>
            30 r1
            </pre>		
            </summary>
        </member>
        <member name="M:Hanselman.CST352.OS.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="M:Hanselman.CST352.OS.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="M:Hanselman.CST352.OS.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="M:Hanselman.CST352.OS.FreeMemory">
            <summary>
            Free the memory allocated whose address is in r1
            <pre>
            28 r1
            </pre>		
            </summary>
        </member>
        <member name="M:Hanselman.CST352.OS.StackPush(System.UInt32,System.UInt32)">
            <summary>
            Push a uint on the stack for this Process
            </summary>
            <param name="processid">The Process Id</param>
            <param name="avalue">The uint for the stack</param>
        </member>
        <member name="M:Hanselman.CST352.OS.StackPop(System.UInt32)">
            <summary>
            Pop a uint off the stack for this Process
            </summary>
            <param name="processid">The Process ID</param>
            <returns>the uint from the stack</returns>
        </member>
        <member name="T:Hanselman.CST352.OS.EventState">
            <summary>
            An event is either Signaled or NonSignaled
            </summary>
        </member>
        <member name="F:Hanselman.CST352.OS.EventState.NonSignaled">
            <summary>
            Events are by default NonSignaled
            </summary>
        </member>
        <member name="F:Hanselman.CST352.OS.EventState.Signaled">
            <summary>
            Events become Signaled, and Processes that are waiting on them wake up when Signaled
            </summary>
        </member>
        <member name="T:Hanselman.CST352.Instruction">
            <summary>
            Represents a single line in a program, consisting of an <see cref="F:Hanselman.CST352.Instruction.OpCode"/> 
            and one or two optional parameters.  An instruction can parse a raw instruction from a test file.
            Tge instruction is then loaded into an <see cref="T:Hanselman.CST352.InstructionCollection"/> which is a member of
            <see cref="T:Hanselman.CST352.Program"/>.  The <see cref="T:Hanselman.CST352.InstructionCollection"/> is translated into bytes that are 
            loaded into the processes memory space.  It's never used again, but it's a neat overly object oriented
            construct that simplified the coding of the creation of a <see cref="T:Hanselman.CST352.Program"/> and complicated the 
            running of the whole system.  It was worth it though.
            </summary>
        </member>
        <member name="M:Hanselman.CST352.Instruction.ToString">
            <summary>
            Overridden method for pretty printing of Instructions
            </summary>
            <returns>A formatted string representing an Instruction</returns>
        </member>
        <member name="F:Hanselman.CST352.Instruction.OpCode">
            <summary>
            The OpCode for this Instruction
            </summary>
        </member>
        <member name="F:Hanselman.CST352.Instruction.Param1">
            <summary>
            The first parameter to the opCode.  May be a Constant or a Register value, or not used at all
            </summary>
        </member>
        <member name="F:Hanselman.CST352.Instruction.Param2">
            <summary>
            The second parameter to the opCode.  May be a Constant or a Register value, or not used at all
            </summary>
        </member>
        <member name="M:Hanselman.CST352.Instruction.#ctor(System.String)">
            <summary>
            Public constructor for an Instruction
            </summary>
            <param name="rawInstruction">A raw string from a Program File.</param>
            <example>Any one of the following lines is a valid rawInstruction
            <pre>
             1   r1          ; incr r1
             2   r6, $16     ; add 16 to r6
             26  r6          ; setPriority to r6
             2   r2, $5      ; increment r2 by 5
             3   r1, r2      ; add 1 and 2 and the result goes in 1
             2   r2, $5      ; increment r2 by 5
             6   r3, $99     ; move 99 into r3
             7   r4, r3      ; move r3 into r4
             11  r4          ; print r4
             27              ; this is exit.
            </pre>
            </example>
        </member>
        <member name="T:Hanselman.CST352.InstructionType">
            <summary>
            This enum provides an easy conversion between numerical opCodes like "2" and text 
            and easy to remember consts like "Addi"
            </summary>
        </member>
        <member name="F:Hanselman.CST352.InstructionType.Noop">
            <summary>
            No op
            </summary>
        </member>
        <member name="F:Hanselman.CST352.InstructionType.Incr">
            <summary>
            Increments register
            <pre>
            1 r1
            </pre>
            </summary>
        </member>
        <member name="F:Hanselman.CST352.InstructionType.Addi">
            <summary>
             Adds constant 1 to register 1
            <pre>
            2 r1, $1
            </pre>
            </summary>
        </member>
        <member name="F:Hanselman.CST352.InstructionType.Addr">
            <summary>
            Adds r2 to r1 and stores the value in r1
            <pre>
            3 r1, r2
            </pre>
            </summary>
        </member>
        <member name="F:Hanselman.CST352.InstructionType.Pushr">
            <summary>
            Pushes contents of register 1 onto stack
            <pre>
            4 r1
            </pre>
            </summary>
        </member>
        <member name="F:Hanselman.CST352.InstructionType.Pushi">
            <summary>
            Pushes constant 1 onto stack
            <pre>
            5 $1
            </pre>
            </summary>
        </member>
        <member name="F:Hanselman.CST352.InstructionType.Movi">
            <summary>
            Moves constant 1 into register 1
            <pre>
            6 r1, $1
            </pre>
            </summary>
        </member>
        <member name="F:Hanselman.CST352.InstructionType.Movr">
            <summary>
            Moves contents of register2 into register 1
            <pre>
            7 r1, r2
            </pre>
            </summary>
        </member>
        <member name="F:Hanselman.CST352.InstructionType.Movmr">
            <summary>
            Moves contents of memory pointed to register 2 into register 1
            <pre>
            8 r1, r2
            </pre>
            </summary>
        </member>
        <member name="F:Hanselman.CST352.InstructionType.Movrm">
            <summary>
            Moves contents of register 2 into memory pointed to by register 1
            <pre>
            9 r1, r2
            </pre>
            </summary>
        </member>
        <member name="F:Hanselman.CST352.InstructionType.Movmm">
            <summary>
            Moves contents of memory pointed to by register 2 into memory pointed to by register 1
            <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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -