Lines Matching refs:ptr

182 				 int *ptr, uint32_t *saved, int print)
190 idx = U16(*ptr);
191 (*ptr) += 2;
222 idx = U8(*ptr);
223 (*ptr)++;
231 idx = U8(*ptr);
232 (*ptr)++;
268 idx = U16(*ptr);
269 (*ptr) += 2;
279 idx = U8(*ptr);
280 (*ptr)++;
293 val = U32(*ptr);
294 (*ptr) += 4;
301 val = U16(*ptr);
302 (*ptr) += 2;
310 val = U8(*ptr);
311 (*ptr)++;
318 idx = U8(*ptr);
319 (*ptr)++;
325 idx = U8(*ptr);
326 (*ptr)++;
366 static void atom_skip_src_int(atom_exec_context *ctx, uint8_t attr, int *ptr)
372 (*ptr) += 2;
379 (*ptr)++;
384 (*ptr) += 4;
389 (*ptr) += 2;
395 (*ptr)++;
402 static uint32_t atom_get_src(atom_exec_context *ctx, uint8_t attr, int *ptr)
404 return atom_get_src_int(ctx, attr, ptr, NULL, 1);
407 static uint32_t atom_get_src_direct(atom_exec_context *ctx, uint8_t align, int *ptr)
413 val = U32(*ptr);
414 (*ptr) += 4;
419 val = U16(*ptr);
420 (*ptr) += 2;
426 val = U8(*ptr);
427 (*ptr)++;
434 int *ptr, uint32_t *saved, int print)
439 ptr, saved, print);
442 static void atom_skip_dst(atom_exec_context *ctx, int arg, uint8_t attr, int *ptr)
446 3] << 3, ptr);
450 int *ptr, uint32_t val, uint32_t saved)
463 idx = U16(*ptr);
464 (*ptr) += 2;
496 idx = U8(*ptr);
497 (*ptr)++;
502 idx = U8(*ptr);
503 (*ptr)++;
535 idx = U8(*ptr);
536 (*ptr)++;
545 idx = U8(*ptr);
546 (*ptr)++;
551 idx = U8(*ptr);
552 (*ptr)++;
585 static void atom_op_add(atom_exec_context *ctx, int *ptr, int arg)
587 uint8_t attr = U8((*ptr)++);
589 int dptr = *ptr;
591 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1);
593 src = atom_get_src(ctx, attr, ptr);
599 static void atom_op_and(atom_exec_context *ctx, int *ptr, int arg)
601 uint8_t attr = U8((*ptr)++);
603 int dptr = *ptr;
605 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1);
607 src = atom_get_src(ctx, attr, ptr);
613 static void atom_op_beep(atom_exec_context *ctx, int *ptr, int arg)
618 static void atom_op_calltable(atom_exec_context *ctx, int *ptr, int arg)
620 int idx = U8((*ptr)++);
634 static void atom_op_clear(atom_exec_context *ctx, int *ptr, int arg)
636 uint8_t attr = U8((*ptr)++);
638 int dptr = *ptr;
641 atom_get_dst(ctx, arg, attr, ptr, &saved, 0);
646 static void atom_op_compare(atom_exec_context *ctx, int *ptr, int arg)
648 uint8_t attr = U8((*ptr)++);
651 dst = atom_get_dst(ctx, arg, attr, ptr, NULL, 1);
653 src = atom_get_src(ctx, attr, ptr);
660 static void atom_op_delay(atom_exec_context *ctx, int *ptr, int arg)
662 unsigned count = U8((*ptr)++);
672 static void atom_op_div(atom_exec_context *ctx, int *ptr, int arg)
674 uint8_t attr = U8((*ptr)++);
677 dst = atom_get_dst(ctx, arg, attr, ptr, NULL, 1);
679 src = atom_get_src(ctx, attr, ptr);
689 static void atom_op_div32(atom_exec_context *ctx, int *ptr, int arg)
692 uint8_t attr = U8((*ptr)++);
695 dst = atom_get_dst(ctx, arg, attr, ptr, NULL, 1);
697 src = atom_get_src(ctx, attr, ptr);
710 static void atom_op_eot(atom_exec_context *ctx, int *ptr, int arg)
715 static void atom_op_jump(atom_exec_context *ctx, int *ptr, int arg)
717 int execute = 0, target = U16(*ptr);
720 (*ptr) += 2;
765 *ptr = ctx->start + target;
769 static void atom_op_mask(atom_exec_context *ctx, int *ptr, int arg)
771 uint8_t attr = U8((*ptr)++);
773 int dptr = *ptr;
775 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1);
776 mask = atom_get_src_direct(ctx, ((attr >> 3) & 7), ptr);
779 src = atom_get_src(ctx, attr, ptr);
786 static void atom_op_move(atom_exec_context *ctx, int *ptr, int arg)
788 uint8_t attr = U8((*ptr)++);
790 int dptr = *ptr;
792 atom_get_dst(ctx, arg, attr, ptr, &saved, 0);
794 atom_skip_dst(ctx, arg, attr, ptr);
798 src = atom_get_src(ctx, attr, ptr);
803 static void atom_op_mul(atom_exec_context *ctx, int *ptr, int arg)
805 uint8_t attr = U8((*ptr)++);
808 dst = atom_get_dst(ctx, arg, attr, ptr, NULL, 1);
810 src = atom_get_src(ctx, attr, ptr);
814 static void atom_op_mul32(atom_exec_context *ctx, int *ptr, int arg)
817 uint8_t attr = U8((*ptr)++);
820 dst = atom_get_dst(ctx, arg, attr, ptr, NULL, 1);
822 src = atom_get_src(ctx, attr, ptr);
828 static void atom_op_nop(atom_exec_context *ctx, int *ptr, int arg)
833 static void atom_op_or(atom_exec_context *ctx, int *ptr, int arg)
835 uint8_t attr = U8((*ptr)++);
837 int dptr = *ptr;
839 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1);
841 src = atom_get_src(ctx, attr, ptr);
847 static void atom_op_postcard(atom_exec_context *ctx, int *ptr, int arg)
849 uint8_t val = U8((*ptr)++);
853 static void atom_op_repeat(atom_exec_context *ctx, int *ptr, int arg)
858 static void atom_op_restorereg(atom_exec_context *ctx, int *ptr, int arg)
863 static void atom_op_savereg(atom_exec_context *ctx, int *ptr, int arg)
868 static void atom_op_setdatablock(atom_exec_context *ctx, int *ptr, int arg)
870 int idx = U8(*ptr);
871 (*ptr)++;
882 static void atom_op_setfbbase(atom_exec_context *ctx, int *ptr, int arg)
884 uint8_t attr = U8((*ptr)++);
886 ctx->ctx->fb_base = atom_get_src(ctx, attr, ptr);
889 static void atom_op_setport(atom_exec_context *ctx, int *ptr, int arg)
894 port = U16(*ptr);
903 (*ptr) += 2;
907 (*ptr)++;
911 (*ptr)++;
916 static void atom_op_setregblock(atom_exec_context *ctx, int *ptr, int arg)
918 ctx->ctx->reg_block = U16(*ptr);
919 (*ptr) += 2;
923 static void atom_op_shift_left(atom_exec_context *ctx, int *ptr, int arg)
925 uint8_t attr = U8((*ptr)++), shift;
927 int dptr = *ptr;
931 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1);
932 shift = atom_get_src_direct(ctx, ATOM_SRC_BYTE0, ptr);
939 static void atom_op_shift_right(atom_exec_context *ctx, int *ptr, int arg)
941 uint8_t attr = U8((*ptr)++), shift;
943 int dptr = *ptr;
947 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1);
948 shift = atom_get_src_direct(ctx, ATOM_SRC_BYTE0, ptr);
955 static void atom_op_shl(atom_exec_context *ctx, int *ptr, int arg)
957 uint8_t attr = U8((*ptr)++), shift;
959 int dptr = *ptr;
962 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1);
965 shift = atom_get_src(ctx, attr, ptr);
974 static void atom_op_shr(atom_exec_context *ctx, int *ptr, int arg)
976 uint8_t attr = U8((*ptr)++), shift;
978 int dptr = *ptr;
981 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1);
984 shift = atom_get_src(ctx, attr, ptr);
993 static void atom_op_sub(atom_exec_context *ctx, int *ptr, int arg)
995 uint8_t attr = U8((*ptr)++);
997 int dptr = *ptr;
999 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1);
1001 src = atom_get_src(ctx, attr, ptr);
1007 static void atom_op_switch(atom_exec_context *ctx, int *ptr, int arg)
1009 uint8_t attr = U8((*ptr)++);
1012 src = atom_get_src(ctx, attr, ptr);
1013 while (U16(*ptr) != ATOM_CASE_END)
1014 if (U8(*ptr) == ATOM_CASE_MAGIC) {
1015 (*ptr)++;
1019 ptr);
1020 target = U16(*ptr);
1023 *ptr = ctx->start + target;
1026 (*ptr) += 2;
1031 (*ptr) += 2;
1034 static void atom_op_test(atom_exec_context *ctx, int *ptr, int arg)
1036 uint8_t attr = U8((*ptr)++);
1039 dst = atom_get_dst(ctx, arg, attr, ptr, NULL, 1);
1041 src = atom_get_src(ctx, attr, ptr);
1046 static void atom_op_xor(atom_exec_context *ctx, int *ptr, int arg)
1048 uint8_t attr = U8((*ptr)++);
1050 int dptr = *ptr;
1052 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1);
1054 src = atom_get_src(ctx, attr, ptr);
1060 static void atom_op_debug(atom_exec_context *ctx, int *ptr, int arg)
1062 uint8_t val = U8((*ptr)++);
1066 static void atom_op_processds(atom_exec_context *ctx, int *ptr, int arg)
1068 uint16_t val = U16(*ptr);
1069 (*ptr) += val + 2;
1210 int len, ws, ps, ptr;
1221 ptr = base + ATOM_CT_CODE_PTR;
1238 op = CU8(ptr++);
1240 SDEBUG("%s @ 0x%04X\n", atom_op_names[op], ptr - 1);
1242 SDEBUG("[%d] @ 0x%04X\n", op, ptr - 1);
1245 base, len, ws, ps, ptr - 1);
1251 opcode_table[op].func(&ectx, &ptr,