mirror of
https://github.com/ioacademy-jikim/debugging
synced 2025-06-11 09:56:29 +00:00
34 lines
800 B
C
34 lines
800 B
C
#include <stdio.h>
|
|
#include <string.h>
|
|
#include "opcodes.h"
|
|
|
|
int main()
|
|
{
|
|
register long g asm("r7");
|
|
register double f asm("f8");
|
|
double f1;
|
|
|
|
memset(&f1, 0x0f, sizeof(double));
|
|
f = f1;
|
|
g = 42;
|
|
printf("test LGDR\n\n");
|
|
printf("before g = %ld\n", g);
|
|
printf("before f = %a\n", f);
|
|
printf("copy f to g\n");
|
|
asm volatile ( LGDR(7,8) : "=d"(g) : "f"(f));
|
|
printf("after g = %16.16lx\n", g); /* 0x0x0x0...... */
|
|
printf("after f = %a\n", f);
|
|
|
|
printf("\ntest LDGR\n\n");
|
|
f = 3.14;
|
|
printf("before g = %16.16lx\n", g); /* 0x0x0x0...... */
|
|
printf("before f = %a\n", f);
|
|
printf("copy g to f\n");
|
|
asm volatile ( LDGR(8,7) : "=f"(f) : "d"(g));
|
|
printf("after g = %16.16lx\n", g); /* 0x0x0x0...... */
|
|
printf("after f = %a\n", f);
|
|
|
|
return 0;
|
|
}
|
|
|