?? refresh.s
字號:
#include "asmnames.h" .text .macro _enter pushl %ebx pushl %ebp pushl %esi pushl %edi movl 20(%esp), %edi movl 24(%esp), %esi movl 28(%esp), %ebp movl 32(%esp), %ecx xorl %eax, %eax xorl %ebx, %ebx .endm .macro _leave popl %edi popl %esi popl %ebp popl %ebx ret .endm .globl refresh_1refresh_1: _enter subl $4, %esi subl $4, %edi shrl $2, %ecx.Lrefresh_1: movb 2(%esi,%ecx,4), %al movb 3(%esi,%ecx,4), %bl movb (%ebp, %eax), %dl movb (%esi,%ecx,4), %al movb (%ebp, %ebx), %dh movb 1(%esi,%ecx,4), %bl rorl $16, %edx movb (%ebp, %eax), %dl movb (%ebp, %ebx), %dh movl %edx, (%edi,%ecx,4) decl %ecx jnz .Lrefresh_1 _leave .globl refresh_2refresh_2: _enter subl $2, %esi subl $4, %edi shrl $1, %ecx.Lrefresh_2: movb 1(%esi,%ecx,2), %al movb (%esi,%ecx,2), %bl movw (%ebp,%eax,2), %dx rorl $16, %edx movw (%ebp,%ebx,2), %dx movl %edx, (%edi,%ecx,4) decl %ecx jnz .Lrefresh_2 _leave .globl refresh_3refresh_3: _enter subl $2, %esi leal (%ecx,%ecx,2), %edx shrl $1, %ecx addl %edx, %edi.Lrefresh_3: movb (%esi,%ecx,2), %al subl $6, %edi movb 1(%esi,%ecx,2), %bl movl (%ebp,%eax,4), %edx movb %dl, (%edi) movb 2(%ebp,%eax,4), %dl movb %dh, 1(%edi) movb %dl, 2(%edi) movl (%ebp,%ebx,4), %edx movb %dl, 3(%edi) movb 2(%ebp,%ebx,4), %dl movb %dh, 4(%edi) movb %dl, 5(%edi) decl %ecx jnz .Lrefresh_3 _leave .globl refresh_4refresh_4: _enter subl $2, %esi subl $8, %edi shrl $1, %ecx.Lrefresh_4: movb (%esi,%ecx,2), %al movb 1(%esi,%ecx,2), %bl movl (%ebp,%eax,4), %edx movl %edx, (%edi,%ecx,8) movl (%ebp,%ebx,4), %edx movl %edx, 4(%edi,%ecx,8) decl %ecx jnz .Lrefresh_4 _leave .globl refresh_1_2xrefresh_1_2x: _enter subl $2, %esi subl $4, %edi shrl $1, %ecx.Lrefresh_1_2x: movb 1(%esi,%ecx,2), %al movb (%esi,%ecx,2), %bl movb (%ebp,%eax), %al movb %al, %dl movb %al, %dh movb (%ebp,%ebx), %bl rorl $16, %edx movb %bl, %dl movb %bl, %dh movl %edx, (%edi,%ecx,4) decl %ecx jnz .Lrefresh_1_2x _leave .globl refresh_2_2xrefresh_2_2x: _enter subl $2, %esi subl $8, %edi shrl $1, %ecx.Lrefresh_2_2x: movb (%esi,%ecx,2), %al movb 1(%esi,%ecx,2), %bl movw (%ebp,%eax,2), %dx rorl $16, %edx movw (%ebp,%eax,2), %dx movl %edx, (%edi,%ecx,8) movw (%ebp,%ebx,2), %dx rorl $16, %edx movw (%ebp,%ebx,2), %dx movl %edx, 4(%edi,%ecx,8) decl %ecx jnz .Lrefresh_2_2x _leave .globl refresh_4_2xrefresh_4_2x: _enter subl $2, %esi subl $16, %edi.Lrefresh_4_2x: movb (%esi,%ecx), %al movb 1(%esi,%ecx), %bl movl (%ebp,%eax,4), %edx movl %edx, (%edi,%ecx,8) movl %edx, 4(%edi,%ecx,8) movl (%ebp,%ebx,4), %edx movl %edx, 8(%edi,%ecx,8) movl %edx, 12(%edi,%ecx,8) subl $2, %ecx jnz .Lrefresh_4_2x _leave .globl refrsh_1_3xrefresh_1_3x: _enter leal (%ecx,%ecx,2), %edx shrl $1, %ecx addl %edx, %edi subl $2, %esi.Lrefresh_1_3x: movb (%esi,%ecx,2), %al subl $6, %edi movb 1(%esi,%ecx,2), %bl movb (%ebp,%eax,2), %dl movb %dl, (%edi) movb %dl, 1(%edi) movb %dl, 2(%edi) movb (%ebp,%ebx,2), %dl movb %dl, 3(%edi) movb %dl, 4(%edi) movb %dl, 5(%edi) decl %ecx jnz .Lrefresh_1_3x _leave .globl refresh_2_3xrefresh_2_3x: _enter shll $1, %ecx addl %ecx, %edi addl %ecx, %edi addl %ecx, %edi shrl $2, %ecx subl $2, %esi.Lrefresh_2_3x: movb (%esi,%ecx,2), %al subl $12, %edi movb 1(%esi,%ecx,2), %bl movw (%ebp,%eax,2), %dx movw %dx, (%edi) movw %dx, 2(%edi) movw %dx, 4(%edi) movw (%ebp,%ebx,2), %dx movw %dx, 6(%edi) movw %dx, 8(%edi) movw %dx, 10(%edi) decl %ecx jnz .Lrefresh_2_3x _leave .globl refresh_4_3xrefresh_4_3x: _enter shll $2, %ecx addl %ecx, %edi addl %ecx, %edi addl %ecx, %edi shrl $3, %ecx subl $2, %esi.Lrefresh_4_3x: movb (%esi,%ecx,2), %al subl $24, %edi movb 1(%esi,%ecx,2), %bl movl (%ebp,%eax,4), %edx movl %edx, (%edi) movl %edx, 4(%edi) movl %edx, 8(%edi) movl (%ebp,%ebx,4), %edx movl %edx, 12(%edi) movl %edx, 16(%edi) movl %edx, 20(%edi) decl %ecx jnz .Lrefresh_4_3x _leave .globl refresh_4_4xrefresh_4_4x: _enter shll $4, %ecx addl %ecx, %edi shrl $5, %ecx subl $2, %esi.Lrefresh_4_4x: movb (%esi,%ecx,2), %al subl $32, %edi movb 1(%esi,%ecx,2), %bl movl (%ebp,%eax,4), %edx movl %edx, (%edi) movl %edx, 4(%edi) movl %edx, 8(%edi) movl %edx, 12(%edi) movl (%ebp,%ebx,4), %edx movl %edx, 16(%edi) movl %edx, 20(%edi) movl %edx, 24(%edi) movl %edx, 28(%edi) decl %ecx jnz .Lrefresh_4_4x _leave
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -