diff --git a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.S b/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.S index 441f347c2f..726ccd76fb 100644 --- a/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.S +++ b/MdePkg/Library/BaseMemoryLibOptDxe/Ia32/SetMem.S @@ -21,9 +21,6 @@ # #------------------------------------------------------------------------------ - .386: - .code: - .globl ASM_PFX(InternalMemSetMem) #------------------------------------------------------------------------------ @@ -38,18 +35,16 @@ ASM_PFX(InternalMemSetMem): push %edi movl 12(%esp),%ecx movb 16(%esp),%al - movb %ah, %al + movb %al, %ah shrd $16, %eax, %edx shld $16, %edx, %eax - movl %edx, %ecx - movl 8(%esp),%edi - shrd $2, %ecx, %ecx - rep - stosl movl %ecx, %edx + movl 8(%esp),%edi + shr $2, %ecx + rep stosl + movl %edx, %ecx andl $3, %ecx - rep - stosb + rep stosb movl 8(%esp),%eax pop %edi ret