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

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

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

119 - Draw Circle

         In : rbx - X start
              rcx - Y start
              rex - Radius
              rsi - Color

         Out: -

120 - Window Skinning

         In : rbx - 1 - Load skin type 1 ( 96 x 40 x 24bpp )
              rcx -     Pointer to filename

         Out: rax - 0 Success
                    1 Failed

         In : rbx - 2 - Disable/Enable skinning
              rcx -     0 - Disable : 1 - Enable

         Out: rax - 0 Success
                    1 Failed

         In : rbx - 3 - Redraw desktop windows

         Out: rax - 0 Success
                    1 Failed

121 - Drag'n drop

         In : rbx - 1 - Define Drag'n drop area

                  rcx - Pointer to area
                  rdx - Size of area

         Out: rax - 0 Success
                    1 Failed

         In : rbx - 2 - Give Drag'n drop data

                  rcx - Pointer to asciiz ( ';' separates filenames )

         Out: rax - 0 Success
                    1 Failed

122 - 3D API

         See 3D.ASM for details

         In : rbx - 1 - Init

                  rcx - Field address

         Out: rax - 0 Success
                    1 Failed

         In : rbx - 2 - Set pixel in field

                  rcx - Field address
                  rdx - X
                  r8  - Y
                  r9  - Z
                  r10 - Color/mirror/transparent
                        0x01RRGGBB = Color
                        0x020000DD = Transparent ( DD = dimming strength )
                        0x030000DD = Mirror ( X axis, DD = dimming strength )
                        0x040000DD = Mirror ( Y axis, DD = dimming strength )
                        0x050000DD = Mirror ( Z axis, DD = dimming strength )

         Out: rax - 0 Success
                    1 Failed

         In : rbx - 3 - Get pixel in field

                  rcx - Field address
                  rdx - X
                  r8  - Y
                  r9  - Z

         Out: rax - 0 Success
                    1 Failed
              rbx - Color/mirror/transparent

         In : rbx - 4 - Preprocess field

                  rcx - Field address

         Out: rax = 0 - rbx = number of pixels left
                              of 256*256*256 to process

         In : rbx - 5 - Calculate 2D image from 3D area

                  rcx - Field address
                  rdx - 0xXXDDDD, XX = camera X position, D.. = fraction
                  r8  - 0xYYDDDD, YY = camera Y position, D.. = fraction
                  r9  - 0xZZDDDD, ZZ = camera Z position, D.. = fraction
                  r10 - Horizontal angle ( 0-3600 )
                  r11 - Target 2D picture X size
                  r12 - Target 2D picture Y size
                  r13 - Pointer to target picture memory 

         Out:  rax   - Status ( 0 Success, 1 Failed )
              [r13+] - Target 2D picture, size r11 x r12 ( 4 byte aligned )

         In : rbx - 6 - Get Sin/Cos

                  rcx - 0-3600

         Out: rax & rbx - Sin/Cos

123 - Wait for event with timeout (ms)

         In : rbx - Delay in 1/1000s

         Out: rax - Bitfield of event(s)

124 - Window hide, show, activate

         In : rbx - 1 - Hide window

                  rcx - PID

         Out: rax - 0 Success
                    1 Failed

         In : rbx - 2 - Show window

                  rcx - PID

         Out: rax - 0 Success
                    1 Failed

         In : rbx - 3 - Activate window

                  rcx - PID

         Out: rax - 0 Success
                    1 Failed

125 - Window transparency

         In : rbx - 1 - Get update interval

         Out: rax - Update interval (ms)

         In : rbx - 2 - Set update interval

                  rcx - Interval (ms)

         Out: rax - 0 Success
                    1 Failed

         In : rbx - 3 - Get transparency state

         Out: rax - 0 - Disabled
                    1 - Enabled for window title and frames
                    2 - Enabled for window title, menu and frames

         In : rbx - 4 - Get window pixel

                  rcx - PID
                  rdx - X
                  r8  - Y

         Out: rax - Pixel

126 - Switch process to 32bit or 64bit mode

         In : rbx - 1 - Switch process to 32bit mode

         Out: rax - 0 - Success
                    1 - Fail

         In : rbx - 2 - Switch process to 64bit mode

         Out: rax - 0 - Success
                    1 - Fail

         After system call, execution continues from
         the following (32 or 64 bit) instruction.

127 - USB 2.0 device information

         In : rbx - 1 - Return USB state

         Out: rax - 0  - Disabled
                    1  - Enabled
                    2+ - Error code

         In : rbx - 2 - Information by local port

                  rcx - Port

         Out: rax - 0 - No device 
                    1 - 1.x device, port disabled
                    2 - 2.0 device

         In : rbx - 3 - USB 2.0 manufacturer string

                  rcx - Device address (equals port for 1-16)
                  rdx - Data area
                  r8  - Number of bytes to return

         Out: [rdx+] - Manufacturer string (asciiz)

         In : rbx - 4 - USB 2.0 device string

                  rcx - Device address (equals port for 1-16)
                  rdx - Data area
                  r8  - Number of bytes to return

         Out: [rdx+] - Device string (asciiz)

         In : rbx - 5 - USB 2.0 device path

                  rcx - Device address (equals port for 1-16)
                  rdx - Data area
                  r8  - Number of bytes to return

         Out: [rdx+] - Path string (asciiz)

         In : rbx - 20 - Write cache sector to /USB/1/

                  rcx - Sector 0 - (80*2*18-1)

         Out: rax - 0 = Success, other = fail

         In : rbx - 21 - Read sector from /USB/1/

                  rcx - Sector
                  rdx - Pointer to return area (512 bytes)

         Out: rax - 0 = Success, other = fail

128 - USB 2.0 webcam interface

         In : rbx - 1 - Return used webcam slots

         Out: rbx:rax - Bitfield of used webcam device addresses

         In : rbx - 2 - Get webcam configurations

                  rcx - Device address (1+)
                  rdx - Configuration (1+)

         Out: rax - 0 = No device, Other = Last configuration

              rbx - X shl 32 + Y shl 16 + Z

                    X = 1 - YUV422   Y = bitfield of supported resolutions
                                         0 0 0 b
                                         I I I
                                         I I --- 160x120
                    Z = Packet size      I ----- 320x240
                                         ------- 640x480

         In : rbx - 3 - Set webcam configuration (reserve/free)

                  rcx - Device address (1+)
                  rdx - Configuration (1+) or zero to release device

         Out: rax - 0 = Success, Other = Fail, rbx = 0

         In : rbx - 4 - Turn camera on/off

                  rcx - Device address (1+)
                  rdx - On/off (1/0)

         Out: rax - 0 = Success, Other = Fail

         In : rbx - 5 - Get webcam picture data stream

                  rcx - Device address (1+)
                  rdx - Data return area
                  r8  - Data size return area
                  r9  - Amount of data (8*packet size) to read

         Out: rax = 0 , rbx = 0
              [rdx+] - Data from device at packetsize intervals
              [r8+]  - Packet size and status at qword intervals
                       bits 00-11 - Amount of data from device
                       bit 12 - Transaction error, bit 13 - Babble detected
                       bit 14 - Data buffer error, bit 15 - Active buffer

129 - USB 2.0 printer interface

         In : rbx - 1 - Return connected printers

         Out: rbx:rax - Bitfield of connected printers

         In : rbx - 2 - Get printer configuration

                  rcx - Device address (1+)

         Out: rax - 0xAABBCCDDEEFFGGHH
                    
         AA,BB,CC,DD = Margins in cm (top,left,right,bottom)

         EE = 1 -  75 dpi : 2 - 150 dpi : 3 - 300 dpi : 4 - 600 dpi

         FF = 1 - A4       GG = 01  - ASCII        HH = 0 No device
              2 - B4            30  - PCL3              1 Device connected
              3 - Letter        55  - PCL5c
              4 - Legal         102 - Postscript2

              rbx - 0x00000000000000HH - HH = Data sent in prosentages

         In : rbx - 3 - Set printer configuration

                  rcx - Device address (1+)
                  rdx - 0xAABBCCDDEEFFGG00
                  r8  - Reserved, set to zero
                    
         AA,BB,CC,DD = Margins in cm (top,left,right,bottom)

         FF = 1 - A4       GG = 01  - ASCII        EE = 1 - 75 dpi
              2 - B4            30  - PCL3              2 - 150 dpi
              3 - Letter        55  - PCL5c             3 - 300 dpi
              4 - Legal         102 - Postscript2       4 - 600 dpi

         Out: rax - 0 = Success, Other = Fail, rbx = 0

         In : rbx - 4 - Return maximum print area in pixels

                  rcx - Device address (1+)

         Out: rax - 0 = Success, Other = Fail
              rbx - Maximum print size in pixels - X shl 32 + Y

         In : rbx - 5 - Send image to printer

                  rcx - Device address (1+)
                  rdx - Size : X shl 32 + Y
                  r8  - Pointer to data (RRGGBB,..)

         Out: rax - 0 = Success, Other = Fail, rbx = 0

         In : rbx - 6 - Send ascii text to printer

                  rcx - Device address (1+)
                  rdx - Amount of data to send in bytes
                  r8  - Pointer to text data

         Out: rax - 0 = Success, Other = Fail, rbx = 0

256 - Start process

         In : rbx = Pointer to filename
              rcx = 0 or pointer to startup parameter ( asciiz )

         Out: rax - 0 Success

                   rbx - PID of started process

              rax - 1 File not found

500 - System

         In : rbx - 1 Reboot

         Out: -

512 - Terminate process


Table 9-1

   00  qword   window start x
   08  qword   window start y
   16  qword   window size x
   24  qword   window size y
   72  qword   current rax
   80  qword   current rbx
   88  qword   current rcx
   96  qword   current rdx
  104  qword   current rex
  112  qword   current rfx
  120  qword   current rgx
  128  qword   current rhx
  136  qword   current rix
  144  qword   current rjx
  152  qword   current rkx
  160  qword   current rlx
  168  qword   current rsi
  176  qword   current rdi
  184  qword   current rbp
  192  qword   current rsp
  248  qword   32 for 32 bit process, 64 for 64 bit process
  256  qword   process start at physical memory
  264  qword   process ID
  288  qword   process state: 0 running - 4 terminate - 5 terminated
  296  qword   process memory usage
  408  256 B   start path and application ( asciiz )
 1040  qword   0/1 = parent/child process

⌨️ 快捷键说明

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