/* opcodes.h: The big list of opcode values for Glulxe. Designed by Andrew Plotkin http://eblong.com/zarf/glulx/index.html */ #ifndef _OPCODES_H #define _OPCODES_H #define op_nop (0x00) #define op_add (0x10) #define op_sub (0x11) #define op_mul (0x12) #define op_div (0x13) #define op_mod (0x14) #define op_neg (0x15) #define op_bitand (0x18) #define op_bitor (0x19) #define op_bitxor (0x1A) #define op_bitnot (0x1B) #define op_shiftl (0x1C) #define op_sshiftr (0x1D) #define op_ushiftr (0x1E) #define op_jump (0x20) #define op_jz (0x22) #define op_jnz (0x23) #define op_jeq (0x24) #define op_jne (0x25) #define op_jlt (0x26) #define op_jge (0x27) #define op_jgt (0x28) #define op_jle (0x29) #define op_jltu (0x2A) #define op_jgeu (0x2B) #define op_jgtu (0x2C) #define op_jleu (0x2D) #define op_call (0x30) #define op_return (0x31) #define op_catch (0x32) #define op_throw (0x33) #define op_tailcall (0x34) #define op_copy (0x40) #define op_copys (0x41) #define op_copyb (0x42) #define op_sexs (0x44) #define op_sexb (0x45) #define op_aload (0x48) #define op_aloads (0x49) #define op_aloadb (0x4A) #define op_aloadbit (0x4B) #define op_astore (0x4C) #define op_astores (0x4D) #define op_astoreb (0x4E) #define op_astorebit (0x4F) #define op_stkcount (0x50) #define op_stkpeek (0x51) #define op_stkswap (0x52) #define op_stkroll (0x53) #define op_stkcopy (0x54) #define op_streamchar (0x70) #define op_streamnum (0x71) #define op_streamstr (0x72) #define op_streamunichar (0x73) #define op_gestalt (0x100) #define op_debugtrap (0x101) #define op_getmemsize (0x102) #define op_setmemsize (0x103) #define op_jumpabs (0x104) #define op_random (0x110) #define op_setrandom (0x111) #define op_quit (0x120) #define op_verify (0x121) #define op_restart (0x122) #define op_save (0x123) #define op_restore (0x124) #define op_saveundo (0x125) #define op_restoreundo (0x126) #define op_protect (0x127) #define op_glk (0x130) #define op_getstringtbl (0x140) #define op_setstringtbl (0x141) #define op_getiosys (0x148) #define op_setiosys (0x149) #define op_linearsearch (0x150) #define op_binarysearch (0x151) #define op_linkedsearch (0x152) #define op_callf (0x160) #define op_callfi (0x161) #define op_callfii (0x162) #define op_callfiii (0x163) #define op_mzero (0x170) #define op_mcopy (0x171) #define op_malloc (0x178) #define op_mfree (0x179) #define op_accelfunc (0x180) #define op_accelparam (0x181) #define op_numtof (0x190) #define op_ftonumz (0x191) #define op_ftonumn (0x192) #define op_ceil (0x198) #define op_floor (0x199) #define op_fadd (0x1A0) #define op_fsub (0x1A1) #define op_fmul (0x1A2) #define op_fdiv (0x1A3) #define op_fmod (0x1A4) #define op_sqrt (0x1A8) #define op_exp (0x1A9) #define op_log (0x1AA) #define op_pow (0x1AB) #define op_sin (0x1B0) #define op_cos (0x1B1) #define op_tan (0x1B2) #define op_asin (0x1B3) #define op_acos (0x1B4) #define op_atan (0x1B5) #define op_atan2 (0x1B6) #define op_jfeq (0x1C0) #define op_jfne (0x1C1) #define op_jflt (0x1C2) #define op_jfle (0x1C3) #define op_jfgt (0x1C4) #define op_jfge (0x1C5) #define op_jisnan (0x1C8) #define op_jisinf (0x1C9) #endif /* _OPCODES_H */