You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
1.0 KiB
30 lines
1.0 KiB
/*
|
|
* Copyright 2002-2019 Intel Corporation.
|
|
*
|
|
* This software is provided to you as Sample Source Code as defined in the accompanying
|
|
* End User License Agreement for the Intel(R) Software Development Products ("Agreement")
|
|
* section 1.L.
|
|
*
|
|
* This software and the related documents are provided as is, with no express or implied
|
|
* warranties, other than those that are expressly stated in the License.
|
|
*/
|
|
|
|
/*! @file
|
|
* The function executes XLAT on mapped memory, both with and without address size prefix.
|
|
* The memory is expected to be in the lower 2 GB of the process address space.
|
|
*/
|
|
.global test_xlat
|
|
.type test_xlat, @function
|
|
test_xlat:
|
|
push %rbp
|
|
mov %rsp, %rbp
|
|
mov %rdi, %rbx # the input buffer is in rdi
|
|
push %rax
|
|
mov $2, %rax # rax gets a small value that fits into AL
|
|
xlat # XLAT without prefix
|
|
mov $2, %rax
|
|
addr32 xlat # XLAT with 0x67 prefix
|
|
pop %rax
|
|
leave
|
|
ret
|