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

📄 新建 文本文档 (3).txt

📁 这个程序主要是实现汇编语言的自动启动电脑的程序
💻 TXT
📖 第 1 页 / 共 3 页
字号:

                    1 - Pixel used by application     -   0% transparency

                    2 - Transparent pixel             -  50% transparency

                        With entry 2, colours 0xffffff and 0x000000
                        are shown without 50% transparency.

         Out: -

 51 - Threads

         In : rbx - 1 Start thread

                  rcx - Thread entry
                  rdx - Stack value

         Out: rax - 0 Success

                rbx - Thread PID

              rax - 1 Fail

 52 - Network interface

         See Stack.txt

 53 - Network interface

         See Stack.txt

 58 - Filesystem

         In : rbx - 0 Read

                rcx - First block to read
                rdx - Blocks to read
                rex - Return pointer
                rfx - Name pointer

              rbx - 1 Write

                rcx - Ignored
                rdx - Bytes to save
                rex - Pointer to data
                rfx - Filename pointer

              rbx - 2 Delete

                rcx - Ignored
                rdx - Ignored
                rex - Ignored
                rfx - Pointer to filename

              rbx - 3 Read directory entries

                rcx - First wanted name 0+
                rdx - Set as 1
                rex - Return pointer
                rfx - Path pointer

         Out: rax - 0 - Successful
                    5 - Attempt to read past end
                    6 - File not found
              rbx - File size


 60 - Inter process communication

         In : rbx 1 - Define ipc memory

                   rcx = Pointer to memory
                   rdx = Memory size

              Out : rax 0 Successful

              rbx 2 - Send message

                   rcx = Receiver PID
                   rdx = Pointer to data
                   rex = Message size

              Out: rax 0 Successful 
                       1 Receiver not found
                       2 No ipc memory defined at receiver
                       3 Receiver memory locked
                       4 Receiver memory full

 61 - Direct screen access

         In : rbx - 1 Get resolution

         Out: rax - X shl 32 + Y

         In : rbx - 2 Get bits / pixel

         Out: rax - Bits / pixel

         In : rbx - 3 Get bytes / scanline

         Out: rax - Bytes / scanline

         In : rbx - 4 Get LFB mapped memory address

         Out: rax - Mapped LFB address ( eg mov [rax],dword 0xffffff )

         Direct access also with gs selector: eg mov [gs:0],dword 0xffffff

 63 - System debug info

          In : rbx - 2 Read data

          Out: rax - 0 Success

                   rbx - Byte
                   rcx - bytes left

               rax - 1 Fail

 64 - Application memory resize

          In : rbx - 1 Set new application memory size

                 rcx - New amount of memory

          Out: rax - 0 Success
               rax - 1 Out of memory

 66 - Keyboard data mode

          In : rbx - 1 set mode

                   rcx - 0 - Keymap
                   rcx - 1 - Scancodes ( implemented for 32 bit app )

          Out: -

          In : rbx - 2 get mode

          Out: rax = Mode

          In : rbx - 3 Shift Ctrl Alt Menu key states

          Out: rax = bitmap

 67 - Window move and resize

          In : rbx = new x start
               rcx = new y start
               rdx = new x size
               rex = new y size

          Out: rax = 0 success - 1 fail
     
          Specifying any parameters as -1 will leave value unchanged.
          eg specify rbx = -1 and rcx = -1 to simply resize the
          window, but not move it

105 - Delay (ms)

         In : rbx - Delay in 1/1000s

         Out: -

110 - Get data from running process

         In : rbx - 1 Return window label

                rcx - Process PID
                rdx - Pointer to return data
                rex - Amount of bytes to return

              rbx - 2 Return icon data ( not implemented yet )

         Out: Data returned to [rdx]

111 - Who am I

         In : rbx = 1 Return PID

         Out: rax = PID

         In : rbx = 2 Window active/inactive

         Out: rax = 0 active - 1 inactive

112 - Get configuration parameter

         In : rbx - 1 Get parameter

                rcx - Pointer to parameter string ( asciiz )
                rdx - Number of characters to return
                rex - Pointer to return area of string

         Out: rax - 0 Parameter is one of numeric value

                rbx - Value

              rax - 1 Parameter is a string

                rbx - String ( asciiz ) returned to [rex]

113 - Vertical and horizontal scroll bars

         In : rbx - 1 Vertical

                rcx -  Value start
                rdx -  Value size
                rex -  Current value
                rfx -  X start in pixels
                rgx -  Y start in pixels
                rhx -  Y size  in pixels

         Out: -

         In : rbx - 2 Horizontal

                rcx -  Value start
                rdx -  Value size
                rex -  Current value
                rfx -  Y start in pixels
                rgx -  X start in pixels
                rhx -  X size  in pixels

         Out: -

114 - CD audio

         In : rbx - 1  Start Play

                rcx -  Start Minute
                rdx -  Start Second
                rex -  Start Frame
                rfx -  End Minute
                rgx -  End Second
                rhx -  End Frame

         Out: -

         In : rbx - 3  Pause Play

         Out: -

         In : rbx - 4  Open Tray

         Out: -

115 - PCI

         In : rbx - 1 Read dword

                rcx - Position

         Out: rax - Value

116 - Driver state access

         In : rbx - 1 - Read Device type
              rcx -     Slot number ( 0+ )
              rdx -     Return pointer
              rex -     Bytes to return

         Out: rax - 0 Success - string returned to [rdx+]
                    1 Failed

         In : rbx - 2 - Read Manufacturer
              rcx -     Slot number ( 0+ )
              rdx -     Return pointer
              rex -     Bytes to return

         Out: rax - 0 Success - string returned to [rdx+]
                    1 Failed

         In : rbx - 3 - Read Received bytes
              rcx -     Slot number ( 0+ )

         Out: rax - 0 Success - Received bytes returned in rbx
                    1 Failed

         In : rbx - 4 - Read Sent bytes
              rcx -     Slot number ( 0+ )

         Out: rax - 0 Success - Sent bytes returned in rbx
                    1 Failed

         In : rbx - 5 - Read Driver state
              rcx -     Slot number ( 0+ )

         Out: rax - 0 Success - State returned in rbx
                    1 Failed

         In : rbx - 101 - Load Device Driver
              rcx -       Pointer to filename
              rdx -       State ( 0 - Disable : 1 - Enable )

         Out: rax - 0 Success
                    1 Failed

117 - Audio

         In : rbx - 1 Reserve audio

         Out: rax - 0 Success
                  - 1 Fail

         In : rbx - 2 Give buffer data

                rcx - Pointer to data
                rdx - Buffer ( 0 or 1 )

         Out: rax - 0 Success
                  - 1 Fail

         In : rbx - 3 Start play

         Out: rax - 0 Success
                  - 1 Fail

         In : rbx - 4 Get current play buffer

         Out: rbx -   Buffer ( 0 or 1 )
              rax - 0 Success
                  - 1 Fail

         In : rbx - 5 Stop play

         Out: rax - 0 Success
                  - 1 Fail
                
         In : rbx - 6 Mixer access - Available without reserving audio

                rcx - 0 Set main volume - rdx - (L 0-255) shl 8 + (R 0-255)
                rcx - 1 Set CD volume   - rdx - (L 0-255) shl 8 + (R 0-255)
                rcx - 2 Set wave volume - rdx - (L 0-255) shl 8 + (R 0-255)
                rcx - 3 Set mic volume  - rdx - (L 0-255) shl 8 + (R 0-255)

                Out: rax - 0 Success
                         - 1 Fail

                rcx - 0x1000 Get main volume
                rcx - 0x1001 Get CD volume  
                rcx - 0x1002 Get wave volume
                rcx - 0x1003 Get mic volume

                Out: rbx - (L 0-255) shl 8 + (R 0-255)
                     rax - 0 Success
                         - 1 Fail

         In : rbx - 7 Get list of supported wave out formats

                rcx - Index 0+

         Out: rcx -   reserved
              rbx -   bits 00-23 = Output frequency
                      bits 24-31 = Bytes per channel
                      bits 32-39 = Channels
                      bits 40-47 = 0 - non signed     - lsb,..,msb
                                   1 - sign extended  - lsb,..,msb
                                   2 - non signed     - msb,..,lsb
                                   3 - sign extended  - msb,..,lsb
                      bits 48-63 = Buffer size in bytes
              rax - 0 Success
                  - 1 Fail ( read past last index or audio disabled )

         In : rbx - 8 Set wave out format

                rcx - Index 0+

         Out: rax - 0 Success
                  - 1 Fail

         In : rbx - 255 Free device

         Out: rax - 0 Success
                  - 1 Fail

118 - MIDI

         In : rbx - 1 Reserve midi device

         Out: rax - 0 Success
                  - 1 Fail

         In : rbx - 2 Send data

                 cl - Byte

         Out: rax - 0 Success
                  - 1 Fail

         In : rbx - 3 Get data

         Out: rax - 0 Success -> bl - byte
                  - 1 Fail

         In : rbx - 255 Free midi device

         Out: rax - 0 Success

⌨️ 快捷键说明

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