New test.
[mono.git] / mono / arch / ppc / test.c
1 #include "ppc-codegen.h"
2 #include <stdio.h>
3
4 /* don't run the resulting program, it will destroy your computer,
5  * just objdump -d it to inspect we generated the correct assembler.
6  */
7
8 int main() {
9         guint8 code [16000];
10         guint8 *p = code;
11         guint8 *cp;
12
13         printf (".text\n.align 4\n.globl main\n.type main,@function\nmain:\n");
14
15         ppc_stwu (p, ppc_r1, -32, ppc_r1);
16         ppc_mflr (p, ppc_r0);
17         ppc_stw  (p, ppc_r31, 28, ppc_r1);
18         ppc_or   (p, ppc_r1, ppc_r2, ppc_r3);
19         ppc_mr   (p, ppc_r31, ppc_r1);
20         ppc_lwz  (p, ppc_r11, 0, ppc_r1);
21         ppc_mtlr (p, ppc_r0);
22         ppc_blr  (p);
23         ppc_addi (p, ppc_r6, ppc_r6, 16);
24                      
25         for (cp = code; cp < p; cp++) {
26                 printf (".byte 0x%x\n", *cp);
27         }            
28                      
29         return 0;    
30 }