mirror of
https://github.com/reactos/reactos.git
synced 2025-02-25 18:02:05 +00:00

- TSVN choked repeatedly when attempting to merge ~9000 revs into the branch (tried 3 times on 2 different computers) - If someone wants to delete aicom-network-fixes, they are welcome to - Lesson learned: Letting a branch get thousands of revs out of date is a horrible idea svn path=/branches/aicom-network-branch/; revision=44353
53 lines
1 KiB
ArmAsm
53 lines
1 KiB
ArmAsm
/*
|
|
* COPYRIGHT: See COPYING in the top level directory
|
|
* PROJECT: ReactOS Run-Time Library
|
|
* PURPOSE: Byte swap functions
|
|
* FILE: lib/rtl/i386/rtlswap.S
|
|
* PROGRAMER: Alex Ionescu (alex.ionescu@reactos.org)
|
|
*/
|
|
|
|
.intel_syntax noprefix
|
|
|
|
.globl @RtlUshortByteSwap@4
|
|
.globl @RtlUlongByteSwap@4
|
|
.globl @RtlUlonglongByteSwap@8
|
|
|
|
/* FUNCTIONS ***************************************************************/
|
|
|
|
.func @RtlUshortByteSwap@4, @RtlUshortByteSwap@4
|
|
@RtlUshortByteSwap@4:
|
|
|
|
/* Swap high and low bits */
|
|
mov ah, cl
|
|
mov al, ch
|
|
ret
|
|
.endfunc
|
|
|
|
.func @RtlUlongByteSwap@4, @RtlUlongByteSwap@4
|
|
@RtlUlongByteSwap@4:
|
|
|
|
/* Swap high and low bits */
|
|
mov eax, ecx
|
|
bswap eax
|
|
ret
|
|
.endfunc
|
|
|
|
.func @RtlUlonglongByteSwap@8, @RtlUlonglongByteSwap@8
|
|
@RtlUlonglongByteSwap@8:
|
|
|
|
/* Get 64-bit integer */
|
|
mov edx, [esp+8]
|
|
mov eax, [esp+4]
|
|
|
|
/* Swap it */
|
|
bswap edx
|
|
bswap eax
|
|
|
|
/* Return it */
|
|
mov ecx, eax
|
|
mov eax, edx
|
|
mov edx, ecx
|
|
ret
|
|
.endfunc
|
|
|
|
|