Mercurial > hg-old > index.cgi
comparison lwasm/instab.c @ 347:1649bc7bda5a
Some data oriented pseudo ops added
author | lost@starbug |
---|---|
date | Sat, 27 Mar 2010 20:16:24 -0600 |
parents | a82c55070624 |
children | 11a95c6414b4 |
comparison
equal
deleted
inserted
replaced
346:a82c55070624 | 347:1649bc7bda5a |
---|---|
36 | 36 |
37 // ENDM pseudo op | 37 // ENDM pseudo op |
38 extern PARSEFUNC(pseudo_parse_endm); | 38 extern PARSEFUNC(pseudo_parse_endm); |
39 #define pseudo_resolve_endm NULL | 39 #define pseudo_resolve_endm NULL |
40 | 40 |
41 extern PARSEFUNC(pseudo_parse_noop); | |
42 extern RESOLVEFUNC(pseudo_resolve_noop); | |
43 | |
44 extern PARSEFUNC(pseudo_parse_end); | |
45 extern RESOLVEFUNC(pseudo_resolve_end); | |
41 | 46 |
42 extern PARSEFUNC(insn_parse_gen8); | 47 extern PARSEFUNC(insn_parse_gen8); |
43 extern RESOLVEFUNC(insn_resolve_gen8); | 48 extern RESOLVEFUNC(insn_resolve_gen8); |
44 extern PARSEFUNC(insn_parse_gen16); | 49 extern PARSEFUNC(insn_parse_gen16); |
45 extern RESOLVEFUNC(insn_resolve_gen16); | 50 extern RESOLVEFUNC(insn_resolve_gen16); |
84 extern RESOLVEFUNC(pseudo_resolve_zmd); | 89 extern RESOLVEFUNC(pseudo_resolve_zmd); |
85 extern PARSEFUNC(pseudo_parse_zmq); | 90 extern PARSEFUNC(pseudo_parse_zmq); |
86 extern RESOLVEFUNC(pseudo_resolve_zmq); | 91 extern RESOLVEFUNC(pseudo_resolve_zmq); |
87 extern PARSEFUNC(pseudo_parse_include); | 92 extern PARSEFUNC(pseudo_parse_include); |
88 extern RESOLVEFUNC(pseudo_resolve_include); | 93 extern RESOLVEFUNC(pseudo_resolve_include); |
89 extern PARSEFUNC(pseudo_parse_end); | |
90 extern RESOLVEFUNC(pseudo_resolve_end); | |
91 extern PARSEFUNC(pseudo_parse_align); | 94 extern PARSEFUNC(pseudo_parse_align); |
92 extern RESOLVEFUNC(pseudo_resolve_align); | 95 extern RESOLVEFUNC(pseudo_resolve_align); |
93 extern PARSEFUNC(pseudo_parse_error); | 96 extern PARSEFUNC(pseudo_parse_error); |
94 extern RESOLVEFUNC(pseudo_resolve_error); | 97 extern RESOLVEFUNC(pseudo_resolve_error); |
95 extern PARSEFUNC(pseudo_parse_fcc); | 98 extern PARSEFUNC(pseudo_parse_fcc); |
142 extern RESOLVEFUNC(pseudo_resolve_export); | 145 extern RESOLVEFUNC(pseudo_resolve_export); |
143 extern PARSEFUNC(pseudo_parse_ifdef); | 146 extern PARSEFUNC(pseudo_parse_ifdef); |
144 extern RESOLVEFUNC(pseudo_resolve_ifdef); | 147 extern RESOLVEFUNC(pseudo_resolve_ifdef); |
145 extern PARSEFUNC(pseudo_parse_ifndef); | 148 extern PARSEFUNC(pseudo_parse_ifndef); |
146 extern RESOLVEFUNC(pseudo_resolve_ifndef); | 149 extern RESOLVEFUNC(pseudo_resolve_ifndef); |
147 extern PARSEFUNC(pseudo_parse_noop); | |
148 extern RESOLVEFUNC(pseudo_resolve_noop); | |
149 extern PARSEFUNC(pseudo_parse_includebin); | 150 extern PARSEFUNC(pseudo_parse_includebin); |
150 extern RESOLVEFUNC(pseudo_resolve_includebin); | 151 extern RESOLVEFUNC(pseudo_resolve_includebin); |
151 | 152 |
152 extern PARSEFUNC(pseudo_parse_os9); | 153 extern PARSEFUNC(pseudo_parse_os9); |
153 extern RESOLVEFUNC(pseudo_resolve_os9); | 154 extern RESOLVEFUNC(pseudo_resolve_os9); |
435 { "zmq", { -1, -1, -1, -1 }, pseudo_parse_zmq, pseudo_resolve_zmq, lwasm_insn_normal}, | 436 { "zmq", { -1, -1, -1, -1 }, pseudo_parse_zmq, pseudo_resolve_zmq, lwasm_insn_normal}, |
436 | 437 |
437 { "fcc", { -1, -1, -1, -1 }, pseudo_parse_fcc, pseudo_resolve_fcc, lwasm_insn_normal}, | 438 { "fcc", { -1, -1, -1, -1 }, pseudo_parse_fcc, pseudo_resolve_fcc, lwasm_insn_normal}, |
438 { "fcn", { -1, -1, -1, -1 }, pseudo_parse_fcn, pseudo_resolve_fcn, lwasm_insn_normal}, | 439 { "fcn", { -1, -1, -1, -1 }, pseudo_parse_fcn, pseudo_resolve_fcn, lwasm_insn_normal}, |
439 { "fcs", { -1, -1, -1, -1 }, pseudo_parse_fcs, pseudo_resolve_fcs, lwasm_insn_normal}, | 440 { "fcs", { -1, -1, -1, -1 }, pseudo_parse_fcs, pseudo_resolve_fcs, lwasm_insn_normal}, |
440 | 441 */ |
441 { "fcb", { -1, -1, -1, -1 }, pseudo_parse_fcb, pseudo_resolve_fcb, lwasm_insn_normal}, | 442 { "fcb", { -1, -1, -1, -1 }, pseudo_parse_fcb, pseudo_resolve_fcb, lwasm_insn_normal}, |
442 { "fdb", { -1, -1, -1, -1 }, pseudo_parse_fdb, pseudo_resolve_fdb, lwasm_insn_normal}, | 443 { "fdb", { -1, -1, -1, -1 }, pseudo_parse_fdb, pseudo_resolve_fdb, lwasm_insn_normal}, |
443 { "fqb", { -1, -1, -1, -1 }, pseudo_parse_fqb, pseudo_resolve_fqb, lwasm_insn_normal}, | 444 { "fqb", { -1, -1, -1, -1 }, pseudo_parse_fqb, pseudo_resolve_fqb, lwasm_insn_normal}, |
444 | |
445 { "end", { -1, -1, -1, -1 }, pseudo_parse_end, pseudo_resolve_end, lwasm_insn_normal}, | 445 { "end", { -1, -1, -1, -1 }, pseudo_parse_end, pseudo_resolve_end, lwasm_insn_normal}, |
446 | 446 /* |
447 { "includebin", { -1, -1, -1, -1}, pseudo_parse_includebin,pseudo_resolve_includebin, lwasm_insn_normal}, | 447 { "includebin", { -1, -1, -1, -1}, pseudo_parse_includebin,pseudo_resolve_includebin, lwasm_insn_normal}, |
448 { "include", { -1, -1, -1, -1 }, pseudo_parse_include, pseudo_resolve_include, lwasm_insn_normal}, | 448 { "include", { -1, -1, -1, -1 }, pseudo_parse_include, pseudo_resolve_include, lwasm_insn_normal}, |
449 { "use", { -1, -1, -1, -1 }, pseudo_parse_include, pseudo_resolve_include, lwasm_insn_normal}, | 449 { "use", { -1, -1, -1, -1 }, pseudo_parse_include, pseudo_resolve_include, lwasm_insn_normal}, |
450 | 450 |
451 { "align", { -1, -1, -1, -1 }, pseudo_parse_align, pseudo_resolve_align, lwasm_insn_normal}, | 451 { "align", { -1, -1, -1, -1 }, pseudo_parse_align, pseudo_resolve_align, lwasm_insn_normal}, |
491 | 491 |
492 // for compatibility with gcc6809 output... | 492 // for compatibility with gcc6809 output... |
493 | 493 |
494 { ".area", { -1, -1, -1, -1}, pseudo_parse_section, pseudo_resolve_section, lwasm_insn_normal}, | 494 { ".area", { -1, -1, -1, -1}, pseudo_parse_section, pseudo_resolve_section, lwasm_insn_normal}, |
495 { ".globl", { -1, -1, -1, -1}, pseudo_parse_export, pseudo_resolve_export, lwasm_insn_normal}, | 495 { ".globl", { -1, -1, -1, -1}, pseudo_parse_export, pseudo_resolve_export, lwasm_insn_normal}, |
496 */ | |
496 { ".module", { -1, -1, -1, -1}, pseudo_parse_noop, pseudo_resolve_noop, lwasm_insn_normal}, | 497 { ".module", { -1, -1, -1, -1}, pseudo_parse_noop, pseudo_resolve_noop, lwasm_insn_normal}, |
497 | 498 |
498 { ".4byte", { -1, -1, -1, -1}, pseudo_parse_fqb, pseudo_resolve_fqb, lwasm_insn_normal}, | 499 { ".4byte", { -1, -1, -1, -1}, pseudo_parse_fqb, pseudo_resolve_fqb, lwasm_insn_normal}, |
499 { ".quad", { -1, -1, -1, -1}, pseudo_parse_fqb, pseudo_resolve_fqb, lwasm_insn_normal}, | 500 { ".quad", { -1, -1, -1, -1}, pseudo_parse_fqb, pseudo_resolve_fqb, lwasm_insn_normal}, |
500 | 501 |
501 { ".word", { -1, -1, -1, -1}, pseudo_parse_fdb, pseudo_resolve_fdb, lwasm_insn_normal}, | 502 { ".word", { -1, -1, -1, -1}, pseudo_parse_fdb, pseudo_resolve_fdb, lwasm_insn_normal}, |
502 { ".dw", { -1, -1, -1, -1}, pseudo_parse_fdb, pseudo_resolve_fdb, lwasm_insn_normal}, | 503 { ".dw", { -1, -1, -1, -1}, pseudo_parse_fdb, pseudo_resolve_fdb, lwasm_insn_normal}, |
503 | 504 |
504 { ".byte", { -1, -1, -1, -1}, pseudo_parse_fcb, pseudo_resolve_fcb, lwasm_insn_normal}, | 505 { ".byte", { -1, -1, -1, -1}, pseudo_parse_fcb, pseudo_resolve_fcb, lwasm_insn_normal}, |
505 { ".db", { -1, -1, -1, -1}, pseudo_parse_fcb, pseudo_resolve_fcb, lwasm_insn_normal}, | 506 { ".db", { -1, -1, -1, -1}, pseudo_parse_fcb, pseudo_resolve_fcb, lwasm_insn_normal}, |
506 | 507 /* |
507 { ".ascii", { -1, -1, -1, -1}, pseudo_parse_fcc, pseudo_resolve_fcc, lwasm_insn_normal}, | 508 { ".ascii", { -1, -1, -1, -1}, pseudo_parse_fcc, pseudo_resolve_fcc, lwasm_insn_normal}, |
508 { ".str", { -1, -1, -1, -1}, pseudo_parse_fcc, pseudo_resolve_fcc, lwasm_insn_normal}, | 509 { ".str", { -1, -1, -1, -1}, pseudo_parse_fcc, pseudo_resolve_fcc, lwasm_insn_normal}, |
509 | 510 |
510 { ".ascis", { -1, -1, -1, -1}, pseudo_parse_fcs, pseudo_resolve_fcs, lwasm_insn_normal}, | 511 { ".ascis", { -1, -1, -1, -1}, pseudo_parse_fcs, pseudo_resolve_fcs, lwasm_insn_normal}, |
511 { ".strs", { -1, -1, -1, -1}, pseudo_parse_fcs, pseudo_resolve_fcs, lwasm_insn_normal}, | 512 { ".strs", { -1, -1, -1, -1}, pseudo_parse_fcs, pseudo_resolve_fcs, lwasm_insn_normal}, |
517 { ".ds", { -1, -1, -1, -1}, pseudo_parse_rmb, pseudo_resolve_rmb, lwasm_insn_normal}, | 518 { ".ds", { -1, -1, -1, -1}, pseudo_parse_rmb, pseudo_resolve_rmb, lwasm_insn_normal}, |
518 { ".rs", { -1, -1, -1, -1}, pseudo_parse_rmb, pseudo_resolve_rmb, lwasm_insn_normal}, | 519 { ".rs", { -1, -1, -1, -1}, pseudo_parse_rmb, pseudo_resolve_rmb, lwasm_insn_normal}, |
519 | 520 |
520 // needs to handle C escapes maybe? | 521 // needs to handle C escapes maybe? |
521 // { ".ascii", { -1, -1, -1, -1}, pseudo_parse_ascii, pseudo_resolve_ascii, lwasm_insn_normal}, | 522 // { ".ascii", { -1, -1, -1, -1}, pseudo_parse_ascii, pseudo_resolve_ascii, lwasm_insn_normal}, |
523 */ | |
522 | 524 |
523 // for compatibility | 525 // for compatibility |
524 { ".end", { -1, -1, -1, -1 }, pseudo_parse_end, pseudo_resolve_end, lwasm_insn_normal}, | 526 { ".end", { -1, -1, -1, -1 }, pseudo_parse_end, pseudo_resolve_end, lwasm_insn_normal}, |
525 | 527 |
526 // extra ops that are ignored because they are generally only for | 528 // extra ops that are ignored because they are generally only for |
527 // pretty printing the listing | 529 // pretty printing the listing |
528 { "nam", { -1, -1, -1, -1 }, pseudo_parse_noop, pseudo_resolve_noop, lwasm_insn_normal}, | 530 { "nam", { -1, -1, -1, -1 }, pseudo_parse_noop, pseudo_resolve_noop, lwasm_insn_normal}, |
529 { "pag", { -1, -1, -1, -1 }, pseudo_parse_noop, pseudo_resolve_noop, lwasm_insn_normal}, | 531 { "pag", { -1, -1, -1, -1 }, pseudo_parse_noop, pseudo_resolve_noop, lwasm_insn_normal}, |
530 { "ttl", { -1, -1, -1, -1 }, pseudo_parse_noop, pseudo_resolve_noop, lwasm_insn_normal}, | 532 { "ttl", { -1, -1, -1, -1 }, pseudo_parse_noop, pseudo_resolve_noop, lwasm_insn_normal}, |
531 | 533 |
532 // flag end of table | 534 // flag end of table |
533 */ | |
534 { NULL, { -1, -1, -1, -1 }, NULL, NULL, lwasm_insn_normal} | 535 { NULL, { -1, -1, -1, -1 }, NULL, NULL, lwasm_insn_normal} |
535 }; | 536 }; |