Lines Matching refs:ptr
175 int *ptr, uint32_t *saved, int print) in atom_get_src_int() argument
183 idx = U16(*ptr); in atom_get_src_int()
184 (*ptr) += 2; in atom_get_src_int()
218 idx = U8(*ptr); in atom_get_src_int()
219 (*ptr)++; in atom_get_src_int()
227 idx = U8(*ptr); in atom_get_src_int()
228 (*ptr)++; in atom_get_src_int()
264 idx = U16(*ptr); in atom_get_src_int()
265 (*ptr) += 2; in atom_get_src_int()
275 idx = U8(*ptr); in atom_get_src_int()
276 (*ptr)++; in atom_get_src_int()
289 val = U32(*ptr); in atom_get_src_int()
290 (*ptr) += 4; in atom_get_src_int()
297 val = U16(*ptr); in atom_get_src_int()
298 (*ptr) += 2; in atom_get_src_int()
306 val = U8(*ptr); in atom_get_src_int()
307 (*ptr)++; in atom_get_src_int()
314 idx = U8(*ptr); in atom_get_src_int()
315 (*ptr)++; in atom_get_src_int()
321 idx = U8(*ptr); in atom_get_src_int()
322 (*ptr)++; in atom_get_src_int()
362 static void atom_skip_src_int(atom_exec_context *ctx, uint8_t attr, int *ptr) in atom_skip_src_int() argument
368 (*ptr) += 2; in atom_skip_src_int()
375 (*ptr)++; in atom_skip_src_int()
380 (*ptr) += 4; in atom_skip_src_int()
385 (*ptr) += 2; in atom_skip_src_int()
391 (*ptr)++; in atom_skip_src_int()
398 static uint32_t atom_get_src(atom_exec_context *ctx, uint8_t attr, int *ptr) in atom_get_src() argument
400 return atom_get_src_int(ctx, attr, ptr, NULL, 1); in atom_get_src()
403 static uint32_t atom_get_src_direct(atom_exec_context *ctx, uint8_t align, int *ptr) in atom_get_src_direct() argument
409 val = U32(*ptr); in atom_get_src_direct()
410 (*ptr) += 4; in atom_get_src_direct()
415 val = U16(*ptr); in atom_get_src_direct()
416 (*ptr) += 2; in atom_get_src_direct()
422 val = U8(*ptr); in atom_get_src_direct()
423 (*ptr)++; in atom_get_src_direct()
430 int *ptr, uint32_t *saved, int print) in atom_get_dst() argument
435 ptr, saved, print); in atom_get_dst()
438 static void atom_skip_dst(atom_exec_context *ctx, int arg, uint8_t attr, int *ptr) in atom_skip_dst() argument
442 3] << 3, ptr); in atom_skip_dst()
446 int *ptr, uint32_t val, uint32_t saved) in atom_put_dst() argument
459 idx = U16(*ptr); in atom_put_dst()
460 (*ptr) += 2; in atom_put_dst()
495 idx = U8(*ptr); in atom_put_dst()
496 (*ptr)++; in atom_put_dst()
501 idx = U8(*ptr); in atom_put_dst()
502 (*ptr)++; in atom_put_dst()
534 idx = U8(*ptr); in atom_put_dst()
535 (*ptr)++; in atom_put_dst()
544 idx = U8(*ptr); in atom_put_dst()
545 (*ptr)++; in atom_put_dst()
550 idx = U8(*ptr); in atom_put_dst()
551 (*ptr)++; in atom_put_dst()
584 static void atom_op_add(atom_exec_context *ctx, int *ptr, int arg) in atom_op_add() argument
586 uint8_t attr = U8((*ptr)++); in atom_op_add()
588 int dptr = *ptr; in atom_op_add()
590 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); in atom_op_add()
592 src = atom_get_src(ctx, attr, ptr); in atom_op_add()
598 static void atom_op_and(atom_exec_context *ctx, int *ptr, int arg) in atom_op_and() argument
600 uint8_t attr = U8((*ptr)++); in atom_op_and()
602 int dptr = *ptr; in atom_op_and()
604 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); in atom_op_and()
606 src = atom_get_src(ctx, attr, ptr); in atom_op_and()
612 static void atom_op_beep(atom_exec_context *ctx, int *ptr, int arg) in atom_op_beep() argument
617 static void atom_op_calltable(atom_exec_context *ctx, int *ptr, int arg) in atom_op_calltable() argument
619 int idx = U8((*ptr)++); in atom_op_calltable()
633 static void atom_op_clear(atom_exec_context *ctx, int *ptr, int arg) in atom_op_clear() argument
635 uint8_t attr = U8((*ptr)++); in atom_op_clear()
637 int dptr = *ptr; in atom_op_clear()
640 atom_get_dst(ctx, arg, attr, ptr, &saved, 0); in atom_op_clear()
645 static void atom_op_compare(atom_exec_context *ctx, int *ptr, int arg) in atom_op_compare() argument
647 uint8_t attr = U8((*ptr)++); in atom_op_compare()
650 dst = atom_get_dst(ctx, arg, attr, ptr, NULL, 1); in atom_op_compare()
652 src = atom_get_src(ctx, attr, ptr); in atom_op_compare()
659 static void atom_op_delay(atom_exec_context *ctx, int *ptr, int arg) in atom_op_delay() argument
661 unsigned count = U8((*ptr)++); in atom_op_delay()
671 static void atom_op_div(atom_exec_context *ctx, int *ptr, int arg) in atom_op_div() argument
673 uint8_t attr = U8((*ptr)++); in atom_op_div()
676 dst = atom_get_dst(ctx, arg, attr, ptr, NULL, 1); in atom_op_div()
678 src = atom_get_src(ctx, attr, ptr); in atom_op_div()
688 static void atom_op_eot(atom_exec_context *ctx, int *ptr, int arg) in atom_op_eot() argument
693 static void atom_op_jump(atom_exec_context *ctx, int *ptr, int arg) in atom_op_jump() argument
695 int execute = 0, target = U16(*ptr); in atom_op_jump()
698 (*ptr) += 2; in atom_op_jump()
742 *ptr = ctx->start + target; in atom_op_jump()
746 static void atom_op_mask(atom_exec_context *ctx, int *ptr, int arg) in atom_op_mask() argument
748 uint8_t attr = U8((*ptr)++); in atom_op_mask()
750 int dptr = *ptr; in atom_op_mask()
752 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); in atom_op_mask()
753 mask = atom_get_src_direct(ctx, ((attr >> 3) & 7), ptr); in atom_op_mask()
756 src = atom_get_src(ctx, attr, ptr); in atom_op_mask()
763 static void atom_op_move(atom_exec_context *ctx, int *ptr, int arg) in atom_op_move() argument
765 uint8_t attr = U8((*ptr)++); in atom_op_move()
767 int dptr = *ptr; in atom_op_move()
769 atom_get_dst(ctx, arg, attr, ptr, &saved, 0); in atom_op_move()
771 atom_skip_dst(ctx, arg, attr, ptr); in atom_op_move()
775 src = atom_get_src(ctx, attr, ptr); in atom_op_move()
780 static void atom_op_mul(atom_exec_context *ctx, int *ptr, int arg) in atom_op_mul() argument
782 uint8_t attr = U8((*ptr)++); in atom_op_mul()
785 dst = atom_get_dst(ctx, arg, attr, ptr, NULL, 1); in atom_op_mul()
787 src = atom_get_src(ctx, attr, ptr); in atom_op_mul()
791 static void atom_op_nop(atom_exec_context *ctx, int *ptr, int arg) in atom_op_nop() argument
796 static void atom_op_or(atom_exec_context *ctx, int *ptr, int arg) in atom_op_or() argument
798 uint8_t attr = U8((*ptr)++); in atom_op_or()
800 int dptr = *ptr; in atom_op_or()
802 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); in atom_op_or()
804 src = atom_get_src(ctx, attr, ptr); in atom_op_or()
810 static void atom_op_postcard(atom_exec_context *ctx, int *ptr, int arg) in atom_op_postcard() argument
812 uint8_t val = U8((*ptr)++); in atom_op_postcard()
816 static void atom_op_repeat(atom_exec_context *ctx, int *ptr, int arg) in atom_op_repeat() argument
821 static void atom_op_restorereg(atom_exec_context *ctx, int *ptr, int arg) in atom_op_restorereg() argument
826 static void atom_op_savereg(atom_exec_context *ctx, int *ptr, int arg) in atom_op_savereg() argument
831 static void atom_op_setdatablock(atom_exec_context *ctx, int *ptr, int arg) in atom_op_setdatablock() argument
833 int idx = U8(*ptr); in atom_op_setdatablock()
834 (*ptr)++; in atom_op_setdatablock()
845 static void atom_op_setfbbase(atom_exec_context *ctx, int *ptr, int arg) in atom_op_setfbbase() argument
847 uint8_t attr = U8((*ptr)++); in atom_op_setfbbase()
849 ctx->ctx->fb_base = atom_get_src(ctx, attr, ptr); in atom_op_setfbbase()
852 static void atom_op_setport(atom_exec_context *ctx, int *ptr, int arg) in atom_op_setport() argument
857 port = U16(*ptr); in atom_op_setport()
866 (*ptr) += 2; in atom_op_setport()
870 (*ptr)++; in atom_op_setport()
874 (*ptr)++; in atom_op_setport()
879 static void atom_op_setregblock(atom_exec_context *ctx, int *ptr, int arg) in atom_op_setregblock() argument
881 ctx->ctx->reg_block = U16(*ptr); in atom_op_setregblock()
882 (*ptr) += 2; in atom_op_setregblock()
886 static void atom_op_shift_left(atom_exec_context *ctx, int *ptr, int arg) in atom_op_shift_left() argument
888 uint8_t attr = U8((*ptr)++), shift; in atom_op_shift_left()
890 int dptr = *ptr; in atom_op_shift_left()
894 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); in atom_op_shift_left()
895 shift = atom_get_src_direct(ctx, ATOM_SRC_BYTE0, ptr); in atom_op_shift_left()
902 static void atom_op_shift_right(atom_exec_context *ctx, int *ptr, int arg) in atom_op_shift_right() argument
904 uint8_t attr = U8((*ptr)++), shift; in atom_op_shift_right()
906 int dptr = *ptr; in atom_op_shift_right()
910 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); in atom_op_shift_right()
911 shift = atom_get_src_direct(ctx, ATOM_SRC_BYTE0, ptr); in atom_op_shift_right()
918 static void atom_op_shl(atom_exec_context *ctx, int *ptr, int arg) in atom_op_shl() argument
920 uint8_t attr = U8((*ptr)++), shift; in atom_op_shl()
922 int dptr = *ptr; in atom_op_shl()
925 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); in atom_op_shl()
928 shift = atom_get_src(ctx, attr, ptr); in atom_op_shl()
937 static void atom_op_shr(atom_exec_context *ctx, int *ptr, int arg) in atom_op_shr() argument
939 uint8_t attr = U8((*ptr)++), shift; in atom_op_shr()
941 int dptr = *ptr; in atom_op_shr()
944 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); in atom_op_shr()
947 shift = atom_get_src(ctx, attr, ptr); in atom_op_shr()
956 static void atom_op_sub(atom_exec_context *ctx, int *ptr, int arg) in atom_op_sub() argument
958 uint8_t attr = U8((*ptr)++); in atom_op_sub()
960 int dptr = *ptr; in atom_op_sub()
962 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); in atom_op_sub()
964 src = atom_get_src(ctx, attr, ptr); in atom_op_sub()
970 static void atom_op_switch(atom_exec_context *ctx, int *ptr, int arg) in atom_op_switch() argument
972 uint8_t attr = U8((*ptr)++); in atom_op_switch()
975 src = atom_get_src(ctx, attr, ptr); in atom_op_switch()
976 while (U16(*ptr) != ATOM_CASE_END) in atom_op_switch()
977 if (U8(*ptr) == ATOM_CASE_MAGIC) { in atom_op_switch()
978 (*ptr)++; in atom_op_switch()
982 ptr); in atom_op_switch()
983 target = U16(*ptr); in atom_op_switch()
986 *ptr = ctx->start + target; in atom_op_switch()
989 (*ptr) += 2; in atom_op_switch()
994 (*ptr) += 2; in atom_op_switch()
997 static void atom_op_test(atom_exec_context *ctx, int *ptr, int arg) in atom_op_test() argument
999 uint8_t attr = U8((*ptr)++); in atom_op_test()
1002 dst = atom_get_dst(ctx, arg, attr, ptr, NULL, 1); in atom_op_test()
1004 src = atom_get_src(ctx, attr, ptr); in atom_op_test()
1009 static void atom_op_xor(atom_exec_context *ctx, int *ptr, int arg) in atom_op_xor() argument
1011 uint8_t attr = U8((*ptr)++); in atom_op_xor()
1013 int dptr = *ptr; in atom_op_xor()
1015 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); in atom_op_xor()
1017 src = atom_get_src(ctx, attr, ptr); in atom_op_xor()
1023 static void atom_op_debug(atom_exec_context *ctx, int *ptr, int arg) in atom_op_debug() argument
1159 int len, ws, ps, ptr; in atom_execute_table_locked() local
1170 ptr = base + ATOM_CT_CODE_PTR; in atom_execute_table_locked()
1187 op = CU8(ptr++); in atom_execute_table_locked()
1189 ATOM_SDEBUG_PRINT("%s @ 0x%04X\n", atom_op_names[op], ptr - 1); in atom_execute_table_locked()
1191 ATOM_SDEBUG_PRINT("[%d] @ 0x%04X\n", op, ptr - 1); in atom_execute_table_locked()
1194 base, len, ws, ps, ptr - 1); in atom_execute_table_locked()
1200 opcode_table[op].func(&ectx, &ptr, in atom_execute_table_locked()