8 #include <orc-test/orctest.h>
13 void test_opcode (OrcStaticOpcode *opcode);
14 void test_opcode_const (OrcStaticOpcode *opcode);
15 void test_opcode_param (OrcStaticOpcode *opcode);
18 main (int argc, char *argv[])
21 OrcOpcodeSet *opcode_set;
22 OrcStaticOpcode *opcode;
28 opcode_set = orc_opcode_set_get ("sys");
30 for(i=0;i<opcode_set->n_opcodes;i++){
31 opcode = opcode_set->opcodes + i;
33 printf(".function emulate_%s\n", opcode->name);
34 if (opcode->flags & ORC_STATIC_OPCODE_ACCUMULATOR) {
35 printf(".accumulator %d a1\n", opcode->dest_size[0]);
38 printf(".dest %d d1\n", opcode->dest_size[0]);
41 if (opcode->dest_size[1]) {
42 printf(".dest %d d2\n", opcode->dest_size[1]);
44 printf(".source %d s1\n", opcode->src_size[0]);
45 if (opcode->src_size[1]) {
46 if (opcode->flags & ORC_STATIC_OPCODE_SCALAR) {
47 printf(".param %d s2\n", opcode->src_size[1]);
49 printf(".source %d s2\n", opcode->src_size[1]);
53 if (opcode->src_size[1]) {
54 printf("%s %s, s1, s2\n", opcode->name, d1);
56 if (opcode->dest_size[1]) {
57 printf("%s %s, d2, s1\n", opcode->name, d1);
59 printf("%s %s, s1\n", opcode->name, d1);
65 printf(".function emulate_n16_%s\n", opcode->name);
67 if (opcode->flags & ORC_STATIC_OPCODE_ACCUMULATOR) {
68 printf(".accumulator %d a1\n", opcode->dest_size[0]);
71 printf(".dest %d d1\n", opcode->dest_size[0]);
74 if (opcode->dest_size[1]) {
75 printf(".dest %d d2\n", opcode->dest_size[1]);
77 printf(".source %d s1\n", opcode->src_size[0]);
78 if (opcode->src_size[1]) {
79 if (opcode->flags & ORC_STATIC_OPCODE_SCALAR) {
80 printf(".param %d s2\n", opcode->src_size[1]);
82 printf(".source %d s2\n", opcode->src_size[1]);
86 if (opcode->src_size[1]) {
87 printf("%s %s, s1, s2\n", opcode->name, d1);
89 if (opcode->dest_size[1]) {
90 printf("%s %s, d2, s1\n", opcode->name, d1);
92 printf("%s %s, s1\n", opcode->name, d1);