Defines | |
#define | A 1 |
#define | V 2 |
#define | R 3 |
#define | S 4 |
#define | C 5 |
#define | L 6 |
#define | G 7 |
#define | N 8 |
#define | I 9 |
#define | P 10 |
#define | X 11 |
#define | PP 12 |
#define | PPP 13 |
#define | PPR 14 |
#define | T 15 |
#define | RRR 16 |
#define | F 17 |
#define | B 18 |
#define | PRR 19 |
#define | inst_name(C) ((char *)inst_table[C][0]) |
#define | cell_opcode(C) (*(pb)(C)) |
#define | cell_opregaddr1(C) (rreg+((pb)(cell))[1]) |
#define | cell_opregaddr2(C) (rreg+((pb)(cell))[2]) |
#define | cell_opregaddr3(C) (rreg+((pb)(cell))[3]) |
#define | cell_opregaddrn(C, N) (rreg+((pb)(cell))[N]) |
#define | cell_opreg1(C) (cell(opregaddr1(C))) |
#define | cell_opreg2(C) (cell(opregaddr2(C))) |
#define | cell_opreg3(C) (cell(opregaddr3(C))) |
#define | cell_opregn(C) (cell(opregaddrn(C,N))) |
#define | cell_operand1(C) (((pb)(C))[1]) |
#define | cell_operand2(C) (((pb)(C))[2]) |
#define | cell_operand3(C) (((pb)(C))[3]) |
#define | cell_operandn(C, N) (((pb)(C))[N]) |
#define | BUILTIN_TBL_SZ 256 |
#define | getpvar 0x00 |
#define | getpval 0x01 |
#define | getstrv 0x02 |
#define | gettval 0x03 |
#define | getcon 0x04 |
#define | getnil 0x05 |
#define | getstr 0x06 |
#define | getlist 0x07 |
#define | unipvar 0x08 |
#define | unipval 0x09 |
#define | unitvar 0x0a |
#define | unitval 0x0b |
#define | unicon 0x0c |
#define | uninil 0x0d |
#define | getnumcon 0x0e |
#define | putnumcon 0x0f |
#define | putpvar 0x10 |
#define | putpval 0x11 |
#define | puttvar 0x12 |
#define | putstrv 0x13 |
#define | putcon 0x14 |
#define | putnil 0x15 |
#define | putstr 0x16 |
#define | putlist 0x17 |
#define | bldpvar 0x18 |
#define | bldpval 0x19 |
#define | bldtvar 0x1a |
#define | bldtval 0x1b |
#define | bldcon 0x1c |
#define | bldnil 0x1d |
#define | uninumcon 0x1e |
#define | bldnumcon 0x1f |
#define | no_inst 0x20 |
#define | uniavar 0x21 |
#define | bldavar 0x22 |
#define | getattv 0x30 |
#define | putattv 0x31 |
#define | getlist_tvar_tvar 0x48 |
#define | trie_no_cp_attv 0x5c |
#define | trie_trust_attv 0x5d |
#define | trie_try_attv 0x5e |
#define | trie_retry_attv 0x5f |
#define | trie_no_cp_str 0x60 |
#define | trie_trust_str 0x61 |
#define | trie_try_str 0x62 |
#define | trie_retry_str 0x63 |
#define | trie_no_cp_list 0x64 |
#define | trie_trust_list 0x65 |
#define | trie_try_list 0x66 |
#define | trie_retry_list 0x67 |
#define | trie_no_cp_var 0x68 |
#define | trie_trust_var 0x69 |
#define | trie_try_var 0x6a |
#define | trie_retry_var 0x6b |
#define | trie_no_cp_val 0x6c |
#define | trie_trust_val 0x6d |
#define | trie_try_val 0x6e |
#define | trie_retry_val 0x6f |
#define | trie_no_cp_numcon 0x70 |
#define | trie_trust_numcon 0x71 |
#define | trie_try_numcon 0x72 |
#define | trie_retry_numcon 0x73 |
#define | trie_no_cp_numcon_succ 0x74 |
#define | trie_trust_numcon_succ 0x75 |
#define | trie_try_numcon_succ 0x76 |
#define | trie_retry_numcon_succ 0x77 |
#define | trie_proceed 0x78 |
#define | hash_opcode 0x79 |
#define | hash_handle 0x7a |
#define | trie_assert_inst 0x7c |
#define | trie_root 0x7d |
#define | trie_no_cp_fail 0x90 |
#define | trie_trust_fail 0x91 |
#define | trie_try_fail 0x92 |
#define | trie_retry_fail 0x93 |
#define | trie_fail_unlock 0x94 |
#define | getfloat 0x80 |
#define | putfloat 0x81 |
#define | unifloat 0x82 |
#define | bldfloat 0x83 |
#define | dynfail 0x9e |
#define | dyntrymeelse 0x9f |
#define | trymeelse 0xa0 |
#define | retrymeelse 0xa1 |
#define | trustmeelsefail 0xa2 |
#define | try 0xa3 |
#define | retry 0xa4 |
#define | trust 0xa5 |
#define | getpbreg 0xa6 |
#define | gettbreg 0xa7 |
#define | putpbreg 0xa8 |
#define | puttbreg 0xa9 |
#define | jumptbreg 0xaa |
#define | getVn 0xab |
#define | test_heap 0xac |
#define | switchonterm 0xb0 |
#define | switchonbound 0xb3 |
#define | switchon3bound 0xb4 |
#define | switchonthread 0xb5 |
#define | trymeorelse 0xb7 |
#define | retrymeorelse 0xb8 |
#define | trustmeorelsefail 0xb9 |
#define | dyntrustmeelsefail 0xba |
#define | dynretrymeelse 0xbb |
#define | tabletrysingle 0xc0 |
#define | tabletry 0xc1 |
#define | tableretry 0xc2 |
#define | tabletrust 0xc3 |
#define | check_complete 0xc4 |
#define | answer_return 0xc5 |
#define | resume_compl_suspension 0xc6 |
#define | check_interrupt 0xce |
#define | new_answer_dealloc 0xcf |
#define | term_comp 0xd0 |
#define | movreg 0xd1 |
#define | negate 0xd2 |
#define | and 0xd3 |
#define | or 0xd4 |
#define | logshiftl 0xd5 |
#define | logshiftr 0xd6 |
#define | addreg 0xd7 |
#define | subreg 0xd8 |
#define | mulreg 0xd9 |
#define | divreg 0xda |
#define | idivreg 0xdb |
#define | int_test_z 0xdc |
#define | int_test_nz 0xdd |
#define | fun_test_ne 0xde |
#define | putdval 0xe0 |
#define | putuval 0xe1 |
#define | minreg 0xe2 |
#define | maxreg 0xe3 |
#define | dynnoop 0xe4 |
#define | call_forn 0xe5 |
#define | load_pred 0xe6 |
#define | allocate_gc 0xe7 |
#define | call 0xe8 |
#define | allocate 0xe9 |
#define | deallocate 0xea |
#define | proceed 0xeb |
#define | xsb_execute 0xec |
#define | calld 0xef |
#define | jump 0xf0 |
#define | jumpz 0xf1 |
#define | jumpnz 0xf2 |
#define | jumplt 0xf3 |
#define | jumple 0xf4 |
#define | jumpgt 0xf5 |
#define | jumpge 0xf6 |
#define | cases 0xf7 |
#define | fail 0xf8 |
#define | noop 0xf9 |
#define | halt 0xfa |
#define | builtin 0xfb |
#define | unifunc 0xfc |
#define | jumpcof 0xfe |
#define | endfile 0xff |
Functions | |
void | init_inst_table (void) |
Variables | |
Cell | inst_table [BUILTIN_TBL_SZ][5] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|