300521812711.asm
来自「完成键盘纠错功能。前提是人的手指比标准位置向右错了一位」· 汇编 代码 · 共 58 行
ASM
58 行
TITLE MASM FIRST
INCLUDE SmallWin.inc
BufferSize = 200
.data
buffer BYTE BufferSize DUP(?),0,0
string BYTE " `1234567890-=\QWERTYUIOP[]ASDFGHJKL;'ZXCVBNM,./"
num1 HANDLE ?
num2 DWORD ?
num3 HANDLE ?
num4 DWORD ?
endl BYTE 0dh,0ah,0
.code
main PROC
L:
INVOKE GetStdHandle,STD_INPUT_HANDLE
mov num1,eax
INVOKE ReadConsole,num1,ADDR buffer,BufferSize-2,ADDR num2,0
mov ecx,num2
mov esi,OFFSET buffer
L1:
mov al,BYTE PTR [esi]
mov edi,OFFSET string
L2:
inc edi
cmp al,BYTE PTR [edi]
jnz L2
dec edi
mov al,BYTE PTR [edi]
mov BYTE PTR [esi],al
inc esi
Loop L1
INVOKE GetStdHandle,STD_OUTPUT_HANDLE
mov num3,eax
INVOKE WriteConsole,num3,ADDR buffer,num2,ADDR num4,0
INVOKE WriteConsole,num3,ADDR endl, 2, ADDR num4,0
JMP L
INVOKE ExitProcess,0
main ENDP
END main
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?