input8按键对照

符号 CEm_Kbd_Init_Keys

 1 000000000EA88200 | 40:53                    | PUSH RBX                                          | rbx:CKbd_GetDeviceState
 2 000000000EA88202 | 48:83EC 20               | SUB RSP,20                                        |
 3 000000000EA88206 | 833D 1B820100 00         | CMP DWORD PTR DS:[EAA0428],0                      |
 4 000000000EA8820D | 48:8BD9                  | MOV RBX,RCX                                       | rbx:CKbd_GetDeviceState, rcx:CKbd_GetDeviceState
 5 000000000EA88210 | 7D 6D                    | JGE dinput8.EA8827F                               |
 6 000000000EA88212 | 33D2                     | XOR EDX,EDX                                       |
 7 000000000EA88214 | 48:8D0D 753A0200         | LEA RCX,QWORD PTR DS:[EAABC90]                    | rcx:CKbd_GetDeviceState --- 按键映射字节首地址EAABC90
 8 000000000EA8821B | 41:B8 00010000           | MOV R8D,100                                       |
 9 000000000EA88221 | E8 343CFFFF              | CALL <dinput8.memset>                             |
10 000000000EA88226 | 8A53 08                  | MOV DL,BYTE PTR DS:[RBX+8]                        | rbx+8:CKbd_GetDeviceState+8
11 000000000EA88229 | 41:B8 80000000           | MOV R8D,80                                        |
12 000000000EA8822F | 0FB605 CA3A0200          | MOVZX EAX,BYTE PTR DS:[EAABD00]                   | eax:c_IDirectInputDeviceCallback_CKbdVI+38
13 000000000EA88236 | 80E2 01                  | AND DL,1                                          |
14 000000000EA88239 | 0FB60D 8A3A0200          | MOVZX ECX,BYTE PTR DS:[EAABCCA]                   | ecx:CKbd_GetDeviceState
15 000000000EA88240 | 41:0F45C0                | CMOVNE EAX,R8D                                    | eax:c_IDirectInputDeviceCallback_CKbdVI+38
16 000000000EA88244 | 8805 B63A0200            | MOV BYTE PTR DS:[EAABD00],AL                      |
17 000000000EA8824A | 8A43 08                  | MOV AL,BYTE PTR DS:[RBX+8]                        | rbx+8:CKbd_GetDeviceState+8
18 000000000EA8824D | 24 02                    | AND AL,2                                          |
19 000000000EA8824F | 41:0F45C8                | CMOVNE ECX,R8D                                    | ecx:CKbd_GetDeviceState
20 000000000EA88253 | 880D 713A0200            | MOV BYTE PTR DS:[EAABCCA],CL                      |
21 000000000EA88259 | 8A43 08                  | MOV AL,BYTE PTR DS:[RBX+8]                        | rbx+8:CKbd_GetDeviceState+8
22 000000000EA8825C | 0FB60D C13A0200          | MOVZX ECX,BYTE PTR DS:[EAABD24]                   | ecx:CKbd_GetDeviceState
23 000000000EA88263 | 24 08                    | AND AL,8                                          |
24 000000000EA88265 | 41:0F45C8                | CMOVNE ECX,R8D                                    | ecx:CKbd_GetDeviceState
25 000000000EA88269 | 880D B53A0200            | MOV BYTE PTR DS:[EAABD24],CL                      |
26 000000000EA8826F | 0FB643 08                | MOVZX EAX,BYTE PTR DS:[RBX+8]                     | eax:c_IDirectInputDeviceCallback_CKbdVI+38, rbx+8:CKbd_GetDeviceState+8
27 000000000EA88273 | C1E8 04                  | SHR EAX,4                                         | eax:c_IDirectInputDeviceCallback_CKbdVI+38
28 000000000EA88276 | 83E0 01                  | AND EAX,1                                         | eax:c_IDirectInputDeviceCallback_CKbdVI+38
29 000000000EA88279 | 8905 513B0200            | MOV DWORD PTR DS:[EAABDD0],EAX                    | eax:c_IDirectInputDeviceCallback_CKbdVI+38
30 000000000EA8827F | 33C0                     | XOR EAX,EAX                                       | eax:c_IDirectInputDeviceCallback_CKbdVI+38
31 000000000EA88281 | 48:83C4 20               | ADD RSP,20                                        |
32 000000000EA88285 | 5B                       | POP RBX                                           | rbx:CKbd_GetDeviceState
33 000000000EA88286 | C3                       | RET                                               |
原文地址:https://www.cnblogs.com/kuangke/p/14906814.html