87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering#
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering# ConvertAsm.py: Automatically generated from ScanMem8.asm
c2f1db8f83618e60dcded8303d14656d7d26b436Shawn Landden#
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering#------------------------------------------------------------------------------
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering#
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering# Copyright (c) 2006 - 2009, Intel Corporation. All rights reserved.<BR>
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering# This program and the accompanying materials
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering# are licensed and made available under the terms and conditions of the BSD License
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering# which accompanies this distribution. The full text of the license may be found at
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering# http://opensource.org/licenses/bsd-license.php.
5430f7f2bc7330f3088b894166bf3524a067e3d8Lennart Poettering#
5430f7f2bc7330f3088b894166bf3524a067e3d8Lennart Poettering# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering#
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering# Module Name:
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering#
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering# ScanMem8.S
5430f7f2bc7330f3088b894166bf3524a067e3d8Lennart Poettering#
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering# Abstract:
5430f7f2bc7330f3088b894166bf3524a067e3d8Lennart Poettering#
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering# ScanMem8 function
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering#
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering# Notes:
4fd052aede13eb3041277c54ac2f5dee6e6c29cfFrederic Crozat#
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering# The following BaseMemoryLib instances contain the same copy of this file:
81527be142678057215665be66e4b3c8306a7ab3Lennart Poettering#
81527be142678057215665be66e4b3c8306a7ab3Lennart Poettering# BaseMemoryLibRepStr
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering# BaseMemoryLibMmx
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering# BaseMemoryLibSse2
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering# BaseMemoryLibOptDxe
8144056fa63291e5b25d91a48cd77b91e845eabfLennart Poettering# BaseMemoryLibOptPei
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering#
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering#------------------------------------------------------------------------------
8144056fa63291e5b25d91a48cd77b91e845eabfLennart Poettering
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering
de190aef08bb267b645205a747762df573b36834Lennart Poettering#------------------------------------------------------------------------------
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering# CONST VOID *
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering# EFIAPI
de190aef08bb267b645205a747762df573b36834Lennart Poettering# InternalMemScanMem8 (
7560fffcd2531786b9c1ca657667a43e90331326Lennart Poettering# IN CONST VOID *Buffer,
8144056fa63291e5b25d91a48cd77b91e845eabfLennart Poettering# IN UINTN Length,
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering# IN UINT8 Value
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering# );
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering#------------------------------------------------------------------------------
7560fffcd2531786b9c1ca657667a43e90331326Lennart PoetteringASM_GLOBAL ASM_PFX(InternalMemScanMem8)
7560fffcd2531786b9c1ca657667a43e90331326Lennart PoetteringASM_PFX(InternalMemScanMem8):
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering pushq %rdi
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering movq %rcx, %rdi
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering movq %rdx, %rcx
86adf873be22a38dbc9c6e86124c30b6caecd185Lennart Poettering movq %r8, %rax
de190aef08bb267b645205a747762df573b36834Lennart Poettering repne scasb
87d2c1ff6a7375f03476767e6f59454bcc5cd04bLennart Poettering leaq -1(%rdi), %rax
de190aef08bb267b645205a747762df573b36834Lennart Poettering cmovnz %rcx, %rax # set rax to 0 if not found
de190aef08bb267b645205a747762df573b36834Lennart Poettering popq %rdi
86adf873be22a38dbc9c6e86124c30b6caecd185Lennart Poettering ret
7560fffcd2531786b9c1ca657667a43e90331326Lennart Poettering
de190aef08bb267b645205a747762df573b36834Lennart Poettering