3 Routines for handling Flash2 AVM2 ABC Actionscript
5 Extension module for the rfxswf library.
6 Part of the swftools package.
8 Copyright (c) 2008 Matthias Kramm <kramm@quiss.org>
10 This program is free software; you can redistribute it and/or modify
11 it under the terms of the GNU General Public License as published by
12 the Free Software Foundation; either version 2 of the License, or
13 (at your option) any later version.
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License for more details.
20 You should have received a copy of the GNU General Public License
21 along with this program; if not, write to the Free Software
22 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
25 code_t* abc_add(code_t*prev)
27 code_t*self = add_opcode(prev, 0xa0);
30 code_t* abc_add_i(code_t*prev)
32 code_t*self = add_opcode(prev, 0xc5);
35 code_t* abc_astype(code_t*prev, char* name)
37 code_t*self = add_opcode(prev, 0x86);
38 self->data[0] = multiname_fromstring(name);
41 code_t* abc_astype2(code_t*prev, multiname_t* name)
43 code_t*self = add_opcode(prev, 0x86);
44 self->data[0] = multiname_clone(name);
47 code_t* abc_astypelate(code_t*prev)
49 code_t*self = add_opcode(prev, 0x87);
52 code_t* abc_bitand(code_t*prev)
54 code_t*self = add_opcode(prev, 0xA8);
57 code_t* abc_bitnot(code_t*prev)
59 code_t*self = add_opcode(prev, 0x97);
62 code_t* abc_bitor(code_t*prev)
64 code_t*self = add_opcode(prev, 0xa9);
67 code_t* abc_bitxor(code_t*prev)
69 code_t*self = add_opcode(prev, 0xaa);
72 code_t* abc_call(code_t*prev, int v)
74 code_t*self = add_opcode(prev, 0x41);
75 self->data[0] = (void*)(ptroff_t)v;
78 code_t* abc_callmethod(code_t*prev, abc_method_body_t* m, int v)
80 code_t*self = add_opcode(prev, 0x43);
82 self->data[1] = (void*)(ptroff_t)v;
85 code_t* abc_callproplex(code_t*prev, char* name, int v)
87 code_t*self = add_opcode(prev, 0x4c);
88 self->data[0] = multiname_fromstring(name);
89 self->data[1] = (void*)(ptroff_t)v;
92 code_t* abc_callproplex2(code_t*prev, multiname_t* name, int v)
94 code_t*self = add_opcode(prev, 0x4c);
95 self->data[0] = multiname_clone(name);
96 self->data[1] = (void*)(ptroff_t)v;
99 code_t* abc_callproperty(code_t*prev, char* name, int v)
101 code_t*self = add_opcode(prev, 0x46);
102 self->data[0] = multiname_fromstring(name);
103 self->data[1] = (void*)(ptroff_t)v;
106 code_t* abc_callproperty2(code_t*prev, multiname_t* name, int v)
108 code_t*self = add_opcode(prev, 0x46);
109 self->data[0] = multiname_clone(name);
110 self->data[1] = (void*)(ptroff_t)v;
113 code_t* abc_callpropvoid(code_t*prev, char* name, int v)
115 code_t*self = add_opcode(prev, 0x4f);
116 self->data[0] = multiname_fromstring(name);
117 self->data[1] = (void*)(ptroff_t)v;
120 code_t* abc_callpropvoid2(code_t*prev, multiname_t* name, int v)
122 code_t*self = add_opcode(prev, 0x4f);
123 self->data[0] = multiname_clone(name);
124 self->data[1] = (void*)(ptroff_t)v;
127 code_t* abc_callstatic(code_t*prev, abc_method_t* m, int v)
129 code_t*self = add_opcode(prev, 0x44);
131 self->data[1] = (void*)(ptroff_t)v;
134 code_t* abc_callsuper(code_t*prev, char* name, int v)
136 code_t*self = add_opcode(prev, 0x45);
137 self->data[0] = multiname_fromstring(name);
138 self->data[1] = (void*)(ptroff_t)v;
141 code_t* abc_callsuper2(code_t*prev, multiname_t* name, int v)
143 code_t*self = add_opcode(prev, 0x45);
144 self->data[0] = multiname_clone(name);
145 self->data[1] = (void*)(ptroff_t)v;
148 code_t* abc_callsupervoid(code_t*prev, char* name, int v)
150 code_t*self = add_opcode(prev, 0x4e);
151 self->data[0] = multiname_fromstring(name);
152 self->data[1] = (void*)(ptroff_t)v;
155 code_t* abc_callsupervoid2(code_t*prev, multiname_t* name, int v)
157 code_t*self = add_opcode(prev, 0x4e);
158 self->data[0] = multiname_clone(name);
159 self->data[1] = (void*)(ptroff_t)v;
162 code_t* abc_checkfilter(code_t*prev)
164 code_t*self = add_opcode(prev, 0x78);
167 code_t* abc_coerce(code_t*prev, char* name)
169 code_t*self = add_opcode(prev, 0x80);
170 self->data[0] = multiname_fromstring(name);
173 code_t* abc_coerce2(code_t*prev, multiname_t* name)
175 code_t*self = add_opcode(prev, 0x80);
176 self->data[0] = multiname_clone(name);
179 code_t* abc_coerce_a(code_t*prev)
181 code_t*self = add_opcode(prev, 0x82);
184 code_t* abc_coerce_s(code_t*prev)
186 code_t*self = add_opcode(prev, 0x85);
189 code_t* abc_construct(code_t*prev, int v)
191 code_t*self = add_opcode(prev, 0x42);
192 self->data[0] = (void*)(ptroff_t)v;
195 code_t* abc_constructprop(code_t*prev, char* name, int v)
197 code_t*self = add_opcode(prev, 0x4a);
198 self->data[0] = multiname_fromstring(name);
199 self->data[1] = (void*)(ptroff_t)v;
202 code_t* abc_constructprop2(code_t*prev, multiname_t* name, int v)
204 code_t*self = add_opcode(prev, 0x4a);
205 self->data[0] = multiname_clone(name);
206 self->data[1] = (void*)(ptroff_t)v;
209 code_t* abc_constructsuper(code_t*prev, int v)
211 code_t*self = add_opcode(prev, 0x49);
212 self->data[0] = (void*)(ptroff_t)v;
215 code_t* abc_convert_b(code_t*prev)
217 code_t*self = add_opcode(prev, 0x76);
220 code_t* abc_convert_i(code_t*prev)
222 code_t*self = add_opcode(prev, 0x73);
225 code_t* abc_convert_d(code_t*prev)
227 code_t*self = add_opcode(prev, 0x75);
230 code_t* abc_convert_o(code_t*prev)
232 code_t*self = add_opcode(prev, 0x77);
235 code_t* abc_convert_u(code_t*prev)
237 code_t*self = add_opcode(prev, 0x74);
240 code_t* abc_convert_s(code_t*prev)
242 code_t*self = add_opcode(prev, 0x70);
245 code_t* abc_debug(code_t*prev, void* debuginfo)
247 code_t*self = add_opcode(prev, 0xef);
248 /* FIXME: write debuginfo debuginfo */
251 code_t* abc_debugfile(code_t*prev, char* s)
253 code_t*self = add_opcode(prev, 0xf1);
254 self->data[0] = strdup(s);
257 code_t* abc_debugline(code_t*prev, int v)
259 code_t*self = add_opcode(prev, 0xf0);
260 self->data[0] = (void*)(ptroff_t)v;
263 code_t* abc_declocal(code_t*prev, int reg)
265 code_t*self = add_opcode(prev, 0x94);
266 self->data[0] = (void*)(ptroff_t)reg;
269 code_t* abc_declocal_i(code_t*prev, int reg)
271 code_t*self = add_opcode(prev, 0xc3);
272 self->data[0] = (void*)(ptroff_t)reg;
275 code_t* abc_decrement(code_t*prev)
277 code_t*self = add_opcode(prev, 0x93);
280 code_t* abc_decrement_i(code_t*prev)
282 code_t*self = add_opcode(prev, 0xc1);
285 code_t* abc_deleteproperty(code_t*prev, char* name)
287 code_t*self = add_opcode(prev, 0x6a);
288 self->data[0] = multiname_fromstring(name);
291 code_t* abc_deleteproperty2(code_t*prev, multiname_t* name)
293 code_t*self = add_opcode(prev, 0x6a);
294 self->data[0] = multiname_clone(name);
297 code_t* abc_divide(code_t*prev)
299 code_t*self = add_opcode(prev, 0xa3);
302 code_t* abc_dup(code_t*prev)
304 code_t*self = add_opcode(prev, 0x2a);
307 code_t* abc_dxns(code_t*prev, char* s)
309 code_t*self = add_opcode(prev, 0x06);
310 self->data[0] = strdup(s);
313 code_t* abc_dxnslate(code_t*prev)
315 code_t*self = add_opcode(prev, 0x07);
318 code_t* abc_equals(code_t*prev)
320 code_t*self = add_opcode(prev, 0xab);
323 code_t* abc_esc_xattr(code_t*prev)
325 code_t*self = add_opcode(prev, 0x72);
328 code_t* abc_esc_xelem(code_t*prev)
330 code_t*self = add_opcode(prev, 0x71);
333 code_t* abc_findproperty(code_t*prev, char* name)
335 code_t*self = add_opcode(prev, 0x5e);
336 self->data[0] = multiname_fromstring(name);
339 code_t* abc_findproperty2(code_t*prev, multiname_t* name)
341 code_t*self = add_opcode(prev, 0x5e);
342 self->data[0] = multiname_clone(name);
345 code_t* abc_findpropstrict(code_t*prev, char* name)
347 code_t*self = add_opcode(prev, 0x5d);
348 self->data[0] = multiname_fromstring(name);
351 code_t* abc_findpropstrict2(code_t*prev, multiname_t* name)
353 code_t*self = add_opcode(prev, 0x5d);
354 self->data[0] = multiname_clone(name);
357 code_t* abc_getdescendants(code_t*prev, char* name)
359 code_t*self = add_opcode(prev, 0x59);
360 self->data[0] = multiname_fromstring(name);
363 code_t* abc_getdescendants2(code_t*prev, multiname_t* name)
365 code_t*self = add_opcode(prev, 0x59);
366 self->data[0] = multiname_clone(name);
369 code_t* abc_getglobalscope(code_t*prev)
371 code_t*self = add_opcode(prev, 0x64);
374 code_t* abc_getglobalslot(code_t*prev, int v)
376 code_t*self = add_opcode(prev, 0x6e);
377 self->data[0] = (void*)(ptroff_t)v;
380 code_t* abc_getlex(code_t*prev, char* name)
382 code_t*self = add_opcode(prev, 0x60);
383 self->data[0] = multiname_fromstring(name);
386 code_t* abc_getlex2(code_t*prev, multiname_t* name)
388 code_t*self = add_opcode(prev, 0x60);
389 self->data[0] = multiname_clone(name);
392 code_t* abc_getlocal(code_t*prev, int reg)
394 code_t*self = add_opcode(prev, 0x62);
395 self->data[0] = (void*)(ptroff_t)reg;
398 code_t* abc_getlocal_0(code_t*prev)
400 code_t*self = add_opcode(prev, 0xd0);
403 code_t* abc_getlocal_1(code_t*prev)
405 code_t*self = add_opcode(prev, 0xd1);
408 code_t* abc_getlocal_2(code_t*prev)
410 code_t*self = add_opcode(prev, 0xd2);
413 code_t* abc_getlocal_3(code_t*prev)
415 code_t*self = add_opcode(prev, 0xd3);
418 code_t* abc_getproperty(code_t*prev, char* name)
420 code_t*self = add_opcode(prev, 0x66);
421 self->data[0] = multiname_fromstring(name);
424 code_t* abc_getproperty2(code_t*prev, multiname_t* name)
426 code_t*self = add_opcode(prev, 0x66);
427 self->data[0] = multiname_clone(name);
430 code_t* abc_getscopeobject(code_t*prev, int v)
432 code_t*self = add_opcode(prev, 0x65);
433 self->data[0] = (void*)(ptroff_t)v;
436 code_t* abc_getslot(code_t*prev, int v)
438 code_t*self = add_opcode(prev, 0x6c);
439 self->data[0] = (void*)(ptroff_t)v;
442 code_t* abc_getsuper(code_t*prev, char* name)
444 code_t*self = add_opcode(prev, 0x04);
445 self->data[0] = multiname_fromstring(name);
448 code_t* abc_getsuper2(code_t*prev, multiname_t* name)
450 code_t*self = add_opcode(prev, 0x04);
451 self->data[0] = multiname_clone(name);
454 code_t* abc_greaterthan(code_t*prev)
456 code_t*self = add_opcode(prev, 0xaf);
459 code_t* abc_greaterequals(code_t*prev)
461 code_t*self = add_opcode(prev, 0xb0);
464 code_t* abc_hasnext(code_t*prev)
466 code_t*self = add_opcode(prev, 0x1f);
469 code_t* abc_hasnext2(code_t*prev, int reg, int reg2)
471 code_t*self = add_opcode(prev, 0x32);
472 self->data[0] = (void*)(ptroff_t)reg;
473 self->data[1] = (void*)(ptroff_t)reg2;
476 code_t* abc_ifeq(code_t*prev, code_t* label)
478 code_t*self = add_opcode(prev, 0x13);
479 self->data[0] = 0; //placeholder
480 self->branch = label;
483 code_t* abc_iffalse(code_t*prev, code_t* label)
485 code_t*self = add_opcode(prev, 0x12);
486 self->data[0] = 0; //placeholder
487 self->branch = label;
490 code_t* abc_ifge(code_t*prev, code_t* label)
492 code_t*self = add_opcode(prev, 0x18);
493 self->data[0] = 0; //placeholder
494 self->branch = label;
497 code_t* abc_ifgt(code_t*prev, code_t* label)
499 code_t*self = add_opcode(prev, 0x17);
500 self->data[0] = 0; //placeholder
501 self->branch = label;
504 code_t* abc_ifle(code_t*prev, code_t* label)
506 code_t*self = add_opcode(prev, 0x16);
507 self->data[0] = 0; //placeholder
508 self->branch = label;
511 code_t* abc_iflt(code_t*prev, code_t* label)
513 code_t*self = add_opcode(prev, 0x15);
514 self->data[0] = 0; //placeholder
515 self->branch = label;
518 code_t* abc_ifnge(code_t*prev, code_t* label)
520 code_t*self = add_opcode(prev, 0x0f);
521 self->data[0] = 0; //placeholder
522 self->branch = label;
525 code_t* abc_ifngt(code_t*prev, code_t* label)
527 code_t*self = add_opcode(prev, 0x0e);
528 self->data[0] = 0; //placeholder
529 self->branch = label;
532 code_t* abc_ifnle(code_t*prev, code_t* label)
534 code_t*self = add_opcode(prev, 0x0d);
535 self->data[0] = 0; //placeholder
536 self->branch = label;
539 code_t* abc_ifnlt(code_t*prev, code_t* label)
541 code_t*self = add_opcode(prev, 0x0c);
542 self->data[0] = 0; //placeholder
543 self->branch = label;
546 code_t* abc_ifne(code_t*prev, code_t* label)
548 code_t*self = add_opcode(prev, 0x14);
549 self->data[0] = 0; //placeholder
550 self->branch = label;
553 code_t* abc_ifstricteq(code_t*prev, code_t* label)
555 code_t*self = add_opcode(prev, 0x19);
556 self->data[0] = 0; //placeholder
557 self->branch = label;
560 code_t* abc_ifstrictne(code_t*prev, code_t* label)
562 code_t*self = add_opcode(prev, 0x1a);
563 self->data[0] = 0; //placeholder
564 self->branch = label;
567 code_t* abc_iftrue(code_t*prev, code_t* label)
569 code_t*self = add_opcode(prev, 0x11);
570 self->data[0] = 0; //placeholder
571 self->branch = label;
574 code_t* abc_in(code_t*prev)
576 code_t*self = add_opcode(prev, 0xb4);
579 code_t* abc_inclocal(code_t*prev, int reg)
581 code_t*self = add_opcode(prev, 0x92);
582 self->data[0] = (void*)(ptroff_t)reg;
585 code_t* abc_inclocal_i(code_t*prev, int reg)
587 code_t*self = add_opcode(prev, 0xc2);
588 self->data[0] = (void*)(ptroff_t)reg;
591 code_t* abc_increment(code_t*prev)
593 code_t*self = add_opcode(prev, 0x91);
596 code_t* abc_increment_i(code_t*prev)
598 code_t*self = add_opcode(prev, 0xc0);
601 code_t* abc_initproperty(code_t*prev, char* name)
603 code_t*self = add_opcode(prev, 0x68);
604 self->data[0] = multiname_fromstring(name);
607 code_t* abc_initproperty2(code_t*prev, multiname_t* name)
609 code_t*self = add_opcode(prev, 0x68);
610 self->data[0] = multiname_clone(name);
613 code_t* abc_instanceof(code_t*prev)
615 code_t*self = add_opcode(prev, 0xb1);
618 code_t* abc_istype(code_t*prev, char* name)
620 code_t*self = add_opcode(prev, 0xb2);
621 self->data[0] = multiname_fromstring(name);
624 code_t* abc_istype2(code_t*prev, multiname_t* name)
626 code_t*self = add_opcode(prev, 0xb2);
627 self->data[0] = multiname_clone(name);
630 code_t* abc_istypelate(code_t*prev)
632 code_t*self = add_opcode(prev, 0xb3);
635 code_t* abc_jump(code_t*prev, code_t* label)
637 code_t*self = add_opcode(prev, 0x10);
638 self->data[0] = 0; //placeholder
639 self->branch = label;
642 code_t* abc_kill(code_t*prev, int reg)
644 code_t*self = add_opcode(prev, 0x08);
645 self->data[0] = (void*)(ptroff_t)reg;
648 code_t* abc_label(code_t*prev)
650 code_t*self = add_opcode(prev, 0x09);
653 code_t* abc_lessequals(code_t*prev)
655 code_t*self = add_opcode(prev, 0xae);
658 code_t* abc_lessthan(code_t*prev)
660 code_t*self = add_opcode(prev, 0xad);
663 code_t* abc_lookupswitch(code_t*prev, lookupswitch_t* l)
665 code_t*self = add_opcode(prev, 0x1b);
669 code_t* abc_lshift(code_t*prev)
671 code_t*self = add_opcode(prev, 0xa5);
674 code_t* abc_modulo(code_t*prev)
676 code_t*self = add_opcode(prev, 0xa4);
679 code_t* abc_multiply(code_t*prev)
681 code_t*self = add_opcode(prev, 0xa2);
684 code_t* abc_multiply_i(code_t*prev)
686 code_t*self = add_opcode(prev, 0xc7);
689 code_t* abc_negate(code_t*prev)
691 code_t*self = add_opcode(prev, 0x90);
694 code_t* abc_negate_i(code_t*prev)
696 code_t*self = add_opcode(prev, 0xc4);
699 code_t* abc_newactivation(code_t*prev)
701 code_t*self = add_opcode(prev, 0x57);
704 code_t* abc_newarray(code_t*prev, int v)
706 code_t*self = add_opcode(prev, 0x56);
707 self->data[0] = (void*)(ptroff_t)v;
710 code_t* abc_newcatch(code_t*prev, int v)
712 code_t*self = add_opcode(prev, 0x5a);
713 self->data[0] = (void*)(ptroff_t)v;
716 code_t* abc_newclass(code_t*prev, abc_class_t* m)
718 code_t*self = add_opcode(prev, 0x58);
722 code_t* abc_newfunction(code_t*prev, abc_method_body_t* m)
724 code_t*self = add_opcode(prev, 0x40);
728 code_t* abc_newobject(code_t*prev, int v)
730 code_t*self = add_opcode(prev, 0x55);
731 self->data[0] = (void*)(ptroff_t)v;
734 code_t* abc_nextname(code_t*prev)
736 code_t*self = add_opcode(prev, 0x1e);
739 code_t* abc_nextvalue(code_t*prev)
741 code_t*self = add_opcode(prev, 0x23);
744 code_t* abc_nop(code_t*prev)
746 code_t*self = add_opcode(prev, 0x02);
749 code_t* abc_not(code_t*prev)
751 code_t*self = add_opcode(prev, 0x96);
754 code_t* abc_pop(code_t*prev)
756 code_t*self = add_opcode(prev, 0x29);
759 code_t* abc_popscope(code_t*prev)
761 code_t*self = add_opcode(prev, 0x1d);
764 code_t* abc_pushbyte(code_t*prev, int v)
766 code_t*self = add_opcode(prev, 0x24);
767 self->data[0] = (void*)(ptroff_t)v;
770 code_t* abc_pushdouble(code_t*prev, double f)
772 code_t*self = add_opcode(prev, 0x2f);
773 double*fp = malloc(sizeof(double));
778 code_t* abc_pushfalse(code_t*prev)
780 code_t*self = add_opcode(prev, 0x27);
783 code_t* abc_pushint(code_t*prev, int i)
785 code_t*self = add_opcode(prev, 0x2d);
786 self->data[0] = (void*)(ptroff_t)i;
789 code_t* abc_pushnamespace(code_t*prev, int v)
791 code_t*self = add_opcode(prev, 0x31);
792 self->data[0] = (void*)(ptroff_t)v;
795 code_t* abc_pushnan(code_t*prev)
797 code_t*self = add_opcode(prev, 0x28);
800 code_t* abc_pushnull(code_t*prev)
802 code_t*self = add_opcode(prev, 0x20);
805 code_t* abc_pushscope(code_t*prev)
807 code_t*self = add_opcode(prev, 0x30);
810 code_t* abc_pushshort(code_t*prev, int v)
812 code_t*self = add_opcode(prev, 0x25);
813 self->data[0] = (void*)(ptroff_t)v;
816 code_t* abc_pushstring(code_t*prev, char* s)
818 code_t*self = add_opcode(prev, 0x2c);
819 self->data[0] = strdup(s);
822 code_t* abc_pushtrue(code_t*prev)
824 code_t*self = add_opcode(prev, 0x26);
827 code_t* abc_pushuint(code_t*prev, unsigned int u)
829 code_t*self = add_opcode(prev, 0x2e);
830 self->data[0] = (void*)(ptroff_t)u;
833 code_t* abc_pushundefined(code_t*prev)
835 code_t*self = add_opcode(prev, 0x21);
838 code_t* abc_pushwith(code_t*prev)
840 code_t*self = add_opcode(prev, 0x1c);
843 code_t* abc_returnvalue(code_t*prev)
845 code_t*self = add_opcode(prev, 0x48);
848 code_t* abc_returnvoid(code_t*prev)
850 code_t*self = add_opcode(prev, 0x47);
853 code_t* abc_rshift(code_t*prev)
855 code_t*self = add_opcode(prev, 0xa6);
858 code_t* abc_setlocal(code_t*prev, int reg)
860 code_t*self = add_opcode(prev, 0x63);
861 self->data[0] = (void*)(ptroff_t)reg;
864 code_t* abc_setlocal_0(code_t*prev)
866 code_t*self = add_opcode(prev, 0xd4);
869 code_t* abc_setlocal_1(code_t*prev)
871 code_t*self = add_opcode(prev, 0xd5);
874 code_t* abc_setlocal_2(code_t*prev)
876 code_t*self = add_opcode(prev, 0xd6);
879 code_t* abc_setlocal_3(code_t*prev)
881 code_t*self = add_opcode(prev, 0xd7);
884 code_t* abc_setglobalslot(code_t*prev, int v)
886 code_t*self = add_opcode(prev, 0x6f);
887 self->data[0] = (void*)(ptroff_t)v;
890 code_t* abc_setproperty(code_t*prev, char* name)
892 code_t*self = add_opcode(prev, 0x61);
893 self->data[0] = multiname_fromstring(name);
896 code_t* abc_setproperty2(code_t*prev, multiname_t* name)
898 code_t*self = add_opcode(prev, 0x61);
899 self->data[0] = multiname_clone(name);
902 code_t* abc_setslot(code_t*prev, int v)
904 code_t*self = add_opcode(prev, 0x6d);
905 self->data[0] = (void*)(ptroff_t)v;
908 code_t* abc_setsuper(code_t*prev, char* name)
910 code_t*self = add_opcode(prev, 0x05);
911 self->data[0] = multiname_fromstring(name);
914 code_t* abc_setsuper2(code_t*prev, multiname_t* name)
916 code_t*self = add_opcode(prev, 0x05);
917 self->data[0] = multiname_clone(name);
920 code_t* abc_strictequals(code_t*prev)
922 code_t*self = add_opcode(prev, 0xac);
925 code_t* abc_subtract(code_t*prev)
927 code_t*self = add_opcode(prev, 0xa1);
930 code_t* abc_subtract_i(code_t*prev)
932 code_t*self = add_opcode(prev, 0xc6);
935 code_t* abc_swap(code_t*prev)
937 code_t*self = add_opcode(prev, 0x2b);
940 code_t* abc_throw(code_t*prev)
942 code_t*self = add_opcode(prev, 0x03);
945 code_t* abc_typeof(code_t*prev)
947 code_t*self = add_opcode(prev, 0x95);
950 code_t* abc_urshift(code_t*prev)
952 code_t*self = add_opcode(prev, 0xa7);