############################################################################
#
#	File:     opdefs.icn
#
#	Subject:  Definitions for Icon virtual-machine instructions
#
#	Author:   Ralph E. Griswold
#
#	Date:     June 8, 1994
#
############################################################################
#
#   This file is in the public domain.
#
############################################################################
#
#  This file provides definitions for the codes for the Icon virtual
#  machine.
#
############################################################################

$define Op_Asgn		"\x1"
$define Op_Bang		"\x2"
$define Op_Cat		"\x3"
$define Op_Compl	"\x4"
$define Op_Diff		"\x5"
$define Op_Div		"\x6"
$define Op_Eqv		"\x7"
$define Op_Inter	"\x8"
$define Op_Lconcat	"\x9"
$define Op_Lexeq	"\xa"
$define Op_Lexge	"\xb"
$define Op_Lexgt	"\xc"
$define Op_Lexle	"\xd"
$define Op_Lexlt	"\xe"
$define Op_Lexne	"\xf"
$define Op_Minus	"\x10"
$define Op_Mod		"\x11"
$define Op_Mult		"\x12"
$define Op_Neg		"\x13"
$define Op_Neqv		"\x14"
$define Op_Nonnull	"\x15"
$define Op_Null		"\x16"
$define Op_Number	"\x17"
$define Op_Numeq	"\x18"
$define Op_Numge	"\x19"
$define Op_Numgt	"\x1a"
$define Op_Numle	"\x1b"
$define Op_Numlt	"\x1c"
$define Op_Numne	"\x1d"
$define Op_Plus		"\x1e"
$define Op_Power	"\x1f"
$define Op_Random	"\x20"
$define Op_Rasgn	"\x21"
$define Op_Refresh	"\x22"
$define Op_Rswap	"\x23"
$define Op_Sect		"\x24"
$define Op_Size		"\x25"
$define Op_Subsc	"\x26"
$define Op_Swap		"\x27"
$define Op_Tabmat	"\x28"
$define Op_Toby		"\x29"
$define Op_Unions	"\x2a"
$define Op_Value	"\x2b"
$define Op_Bscan	"\x2c"
$define Op_Ccase	"\x2d"
$define Op_Chfail	"\x2e"
$define Op_Coact	"\x2f"
$define Op_Cofail	"\x30"
$define Op_Coret	"\x31"
$define Op_Create	"\x32"
$define Op_Cset		"\x33"
$define Op_Dup		"\x34"
$define Op_Efail	"\x35"
$define Op_Eret		"\x36"
$define Op_Escan	"\x37"
$define Op_Esusp	"\x38"
$define Op_Field	"\x39"
$define Op_Goto		"\x3a"
$define Op_Init		"\x3b"
$define Op_Int		"\x3c"
$define Op_Invoke	"\x3d"
$define Op_Keywd	"\x3e"
$define Op_Limit	"\x3f"
$define Op_Line		"\x40"
$define Op_Llist	"\x41"
$define Op_Lsusp	"\x42"
$define Op_Mark		"\x43"
$define Op_Pfail	"\x44"
$define Op_Pnull	"\x45"
$define Op_Pop		"\x46"
$define Op_Pret		"\x47"
$define Op_Psusp	"\x48"
$define Op_Push1	"\x49"
$define Op_Pushn1	"\x4a"
$define Op_Real		"\x4b"
$define Op_Sdup		"\x4c"
$define Op_Str		"\x4d"
$define Op_Unmark	"\x4e"
$define Op_Var		"\x50"
$define Op_Arg		"\x51"
$define Op_Static	"\x52"
$define Op_Local	"\x53"
$define Op_Global	"\x54"
$define Op_Mark0	"\x55"
$define Op_Quit		"\x56"
$define Op_FQuit	"\x57"
$define Op_Tally	"\x58"
$define Op_Apply	"\x59"
$define Op_Acset	"\x5a"
$define Op_Areal	"\x5b"
$define Op_Astr		"\x5c"
$define Op_Aglobal	"\x5d"
$define Op_Astatic	"\x5e"
$define Op_Agoto	"\x5f"
$define Op_Amark	"\x60"
$define Op_Noop		"\x62"
$define Op_SymEvents	"\x64"
$define Op_Colm		"\x6c"
