Files
mips/src/lwl.c
T
jens a655e1c5d9 - use build in data types
git-svn-id: http://moon:8086/svn/mips@35 a8ebac50-d88d-4704-bea3-6648445a41b3
2015-05-28 19:19:01 +00:00

47 lines
718 B
C

#include "libsys.h"
int non_aligned_load(uint32_t* pMem)
{
uint32_t result;
__asm__
(
"li $t0, 0x01234567\n"
"li $t1, 0x89ABCDEF\n"
"sw $t0, 0(%[pMem])\n"
"sw $t1, 64(%[pMem])\n"
"lw %[val], 0(%[pMem])\n"
"lw %[val], 64(%[pMem])\n"
"nop\n"
"nop\n"
"nop\n"
"nop\n"
"nop\n"
"nop\n"
"nop\n"
"nop\n"
"nop\n"
"nop\n"
"nop\n"
"nop\n"
"nop\n"
"nop\n"
"nop\n"
"li %[val], 0x55555555\n"
"lw %[val], 0(%[pMem])\n"
"lwl %[val], 65(%[pMem])\n"
: [val] "=r" (result)
: [pMem] "r" (pMem)
);
return result;
}
int main()
{
int buf[256], res, i;
res = non_aligned_load(buf);
return res;
}