mirror of
https://github.com/ptitSeb/box86.git
synced 2024-11-23 09:54:03 +08:00
53 lines
954 B
C
53 lines
954 B
C
#include <stdio.h>
|
|
#include <string.h>
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
// Build with `gcc -march=core2 -O2 -m32 test23.c -o test23`
|
|
|
|
|
|
uint64_t a = 0x12345678abcdefed;
|
|
uint32_t b = 0x12345678;
|
|
uint16_t c = 0x1234;
|
|
|
|
int main()
|
|
{
|
|
uint32_t ret2;
|
|
uint16_t ret3;
|
|
|
|
asm volatile(
|
|
"movbe %1, %0\n"
|
|
: "=r"(ret2)
|
|
: "m"(b)
|
|
: "memory");
|
|
printf("ret = 0x%x\n", ret2);
|
|
|
|
asm volatile(
|
|
"movbe %1, %0\n"
|
|
: "=r"(ret3)
|
|
: "m"(c)
|
|
: "memory");
|
|
printf("ret = 0x%x\n", ret3);
|
|
|
|
asm volatile(
|
|
"movbe %1, %0\n"
|
|
: "=m"(ret2)
|
|
: "r"(b)
|
|
: "memory");
|
|
printf("ret = 0x%x\n", ret2);
|
|
|
|
asm volatile(
|
|
"movbe %1, %0\n"
|
|
: "=m"(ret3)
|
|
: "r"(c)
|
|
: "memory");
|
|
printf("ret = 0x%x\n", ret3);
|
|
|
|
asm volatile(
|
|
"bswap %0\n"
|
|
: "+r"(ret2)
|
|
:
|
|
:);
|
|
printf("ret = 0x%x\n", ret2);
|
|
return 0;
|
|
}
|