/*SPEL virtual machine Copyright (C) 2016 Logan Streondj This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . contact: streondj at gmail dot com */ #include // opencl compatible #include // NOT opencl compatible #include #include // NOT opencl compatible// uses memset and memcmp #include "seed.h" #include "dictionary.h" inline void x6048009D00000000(unsigned char *text) { assert(text != NULL); printf("ini %02X\n", (uint)text[0]); printf("%s", text); } inline void x6048029D00000000(signed char *text) { assert(text != NULL); printf("%s", text); } inline void x4124000000000000(v8us *hook_list) { if (memcmp((char *)&hook_list[ACCUSATIVE_SPOT], (char *)&hook_list[INSTRUMENTAL_SPOT], 16) == 0) { hook_list[DATIVE_SPOT][0] = FACT_WORD; } else { hook_list[DATIVE_SPOT][0] = WRONG_WORD; } } inline void x8006000000000000(v8us *hook_list) { if (memcmp((char *)&hook_list[ACCUSATIVE_SPOT], (char *)&hook_list[INSTRUMENTAL_SPOT], 16) != 0) { hook_list[DATIVE_SPOT][0] = FACT_WORD; } else { hook_list[DATIVE_SPOT][0] = WRONG_WORD; } } inline void xA130143D143D0000(uint16_t *accusative, uint16_t *instrumental) { if (*instrumental) { *accusative = (uint16_t)~(*accusative); } } inline void xC450143D143D0000(uint16_t *accusative, uint16_t *instrumental) { *accusative = (uint16_t)(*accusative - *instrumental); } inline void x8006143D143D0000(uint16_t *accusative, uint16_t *instrumental) { *accusative = (uint16_t)(*accusative + *instrumental); }