Lines Matching refs:ptr
184 int *ptr, uint32_t *saved, int print) in atom_get_src_int() argument
192 idx = U16(*ptr); in atom_get_src_int()
193 (*ptr) += 2; in atom_get_src_int()
224 idx = U8(*ptr); in atom_get_src_int()
225 (*ptr)++; in atom_get_src_int()
233 idx = U8(*ptr); in atom_get_src_int()
234 (*ptr)++; in atom_get_src_int()
270 idx = U16(*ptr); in atom_get_src_int()
271 (*ptr) += 2; in atom_get_src_int()
281 idx = U8(*ptr); in atom_get_src_int()
282 (*ptr)++; in atom_get_src_int()
295 val = U32(*ptr); in atom_get_src_int()
296 (*ptr) += 4; in atom_get_src_int()
303 val = U16(*ptr); in atom_get_src_int()
304 (*ptr) += 2; in atom_get_src_int()
312 val = U8(*ptr); in atom_get_src_int()
313 (*ptr)++; in atom_get_src_int()
320 idx = U8(*ptr); in atom_get_src_int()
321 (*ptr)++; in atom_get_src_int()
327 idx = U8(*ptr); in atom_get_src_int()
328 (*ptr)++; in atom_get_src_int()
368 static void atom_skip_src_int(atom_exec_context *ctx, uint8_t attr, int *ptr) in atom_skip_src_int() argument
374 (*ptr) += 2; in atom_skip_src_int()
381 (*ptr)++; in atom_skip_src_int()
386 (*ptr) += 4; in atom_skip_src_int()
391 (*ptr) += 2; in atom_skip_src_int()
397 (*ptr)++; in atom_skip_src_int()
404 static uint32_t atom_get_src(atom_exec_context *ctx, uint8_t attr, int *ptr) in atom_get_src() argument
406 return atom_get_src_int(ctx, attr, ptr, NULL, 1); in atom_get_src()
409 static uint32_t atom_get_src_direct(atom_exec_context *ctx, uint8_t align, int *ptr) in atom_get_src_direct() argument
415 val = U32(*ptr); in atom_get_src_direct()
416 (*ptr) += 4; in atom_get_src_direct()
421 val = U16(*ptr); in atom_get_src_direct()
422 (*ptr) += 2; in atom_get_src_direct()
428 val = U8(*ptr); in atom_get_src_direct()
429 (*ptr)++; in atom_get_src_direct()
436 int *ptr, uint32_t *saved, int print) in atom_get_dst() argument
441 ptr, saved, print); in atom_get_dst()
444 static void atom_skip_dst(atom_exec_context *ctx, int arg, uint8_t attr, int *ptr) in atom_skip_dst() argument
448 3] << 3, ptr); in atom_skip_dst()
452 int *ptr, uint32_t val, uint32_t saved) in atom_put_dst() argument
465 idx = U16(*ptr); in atom_put_dst()
466 (*ptr) += 2; in atom_put_dst()
498 idx = U8(*ptr); in atom_put_dst()
499 (*ptr)++; in atom_put_dst()
504 idx = U8(*ptr); in atom_put_dst()
505 (*ptr)++; in atom_put_dst()
537 idx = U8(*ptr); in atom_put_dst()
538 (*ptr)++; in atom_put_dst()
547 idx = U8(*ptr); in atom_put_dst()
548 (*ptr)++; in atom_put_dst()
553 idx = U8(*ptr); in atom_put_dst()
554 (*ptr)++; in atom_put_dst()
587 static void atom_op_add(atom_exec_context *ctx, int *ptr, int arg) in atom_op_add() argument
589 uint8_t attr = U8((*ptr)++); in atom_op_add()
591 int dptr = *ptr; in atom_op_add()
593 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); in atom_op_add()
595 src = atom_get_src(ctx, attr, ptr); in atom_op_add()
601 static void atom_op_and(atom_exec_context *ctx, int *ptr, int arg) in atom_op_and() argument
603 uint8_t attr = U8((*ptr)++); in atom_op_and()
605 int dptr = *ptr; in atom_op_and()
607 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); in atom_op_and()
609 src = atom_get_src(ctx, attr, ptr); in atom_op_and()
615 static void atom_op_beep(atom_exec_context *ctx, int *ptr, int arg) in atom_op_beep() argument
620 static void atom_op_calltable(atom_exec_context *ctx, int *ptr, int arg) in atom_op_calltable() argument
622 int idx = U8((*ptr)++); in atom_op_calltable()
636 static void atom_op_clear(atom_exec_context *ctx, int *ptr, int arg) in atom_op_clear() argument
638 uint8_t attr = U8((*ptr)++); in atom_op_clear()
640 int dptr = *ptr; in atom_op_clear()
643 atom_get_dst(ctx, arg, attr, ptr, &saved, 0); in atom_op_clear()
648 static void atom_op_compare(atom_exec_context *ctx, int *ptr, int arg) in atom_op_compare() argument
650 uint8_t attr = U8((*ptr)++); in atom_op_compare()
653 dst = atom_get_dst(ctx, arg, attr, ptr, NULL, 1); in atom_op_compare()
655 src = atom_get_src(ctx, attr, ptr); in atom_op_compare()
662 static void atom_op_delay(atom_exec_context *ctx, int *ptr, int arg) in atom_op_delay() argument
664 unsigned count = U8((*ptr)++); in atom_op_delay()
674 static void atom_op_div(atom_exec_context *ctx, int *ptr, int arg) in atom_op_div() argument
676 uint8_t attr = U8((*ptr)++); in atom_op_div()
679 dst = atom_get_dst(ctx, arg, attr, ptr, NULL, 1); in atom_op_div()
681 src = atom_get_src(ctx, attr, ptr); in atom_op_div()
691 static void atom_op_eot(atom_exec_context *ctx, int *ptr, int arg) in atom_op_eot() argument
696 static void atom_op_jump(atom_exec_context *ctx, int *ptr, int arg) in atom_op_jump() argument
698 int execute = 0, target = U16(*ptr); in atom_op_jump()
701 (*ptr) += 2; in atom_op_jump()
745 *ptr = ctx->start + target; in atom_op_jump()
749 static void atom_op_mask(atom_exec_context *ctx, int *ptr, int arg) in atom_op_mask() argument
751 uint8_t attr = U8((*ptr)++); in atom_op_mask()
753 int dptr = *ptr; in atom_op_mask()
755 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); in atom_op_mask()
756 mask = atom_get_src_direct(ctx, ((attr >> 3) & 7), ptr); in atom_op_mask()
759 src = atom_get_src(ctx, attr, ptr); in atom_op_mask()
766 static void atom_op_move(atom_exec_context *ctx, int *ptr, int arg) in atom_op_move() argument
768 uint8_t attr = U8((*ptr)++); in atom_op_move()
770 int dptr = *ptr; in atom_op_move()
772 atom_get_dst(ctx, arg, attr, ptr, &saved, 0); in atom_op_move()
774 atom_skip_dst(ctx, arg, attr, ptr); in atom_op_move()
778 src = atom_get_src(ctx, attr, ptr); in atom_op_move()
783 static void atom_op_mul(atom_exec_context *ctx, int *ptr, int arg) in atom_op_mul() argument
785 uint8_t attr = U8((*ptr)++); in atom_op_mul()
788 dst = atom_get_dst(ctx, arg, attr, ptr, NULL, 1); in atom_op_mul()
790 src = atom_get_src(ctx, attr, ptr); in atom_op_mul()
794 static void atom_op_nop(atom_exec_context *ctx, int *ptr, int arg) in atom_op_nop() argument
799 static void atom_op_or(atom_exec_context *ctx, int *ptr, int arg) in atom_op_or() argument
801 uint8_t attr = U8((*ptr)++); in atom_op_or()
803 int dptr = *ptr; in atom_op_or()
805 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); in atom_op_or()
807 src = atom_get_src(ctx, attr, ptr); in atom_op_or()
813 static void atom_op_postcard(atom_exec_context *ctx, int *ptr, int arg) in atom_op_postcard() argument
815 uint8_t val = U8((*ptr)++); in atom_op_postcard()
819 static void atom_op_repeat(atom_exec_context *ctx, int *ptr, int arg) in atom_op_repeat() argument
824 static void atom_op_restorereg(atom_exec_context *ctx, int *ptr, int arg) in atom_op_restorereg() argument
829 static void atom_op_savereg(atom_exec_context *ctx, int *ptr, int arg) in atom_op_savereg() argument
834 static void atom_op_setdatablock(atom_exec_context *ctx, int *ptr, int arg) in atom_op_setdatablock() argument
836 int idx = U8(*ptr); in atom_op_setdatablock()
837 (*ptr)++; in atom_op_setdatablock()
848 static void atom_op_setfbbase(atom_exec_context *ctx, int *ptr, int arg) in atom_op_setfbbase() argument
850 uint8_t attr = U8((*ptr)++); in atom_op_setfbbase()
852 ctx->ctx->fb_base = atom_get_src(ctx, attr, ptr); in atom_op_setfbbase()
855 static void atom_op_setport(atom_exec_context *ctx, int *ptr, int arg) in atom_op_setport() argument
860 port = U16(*ptr); in atom_op_setport()
869 (*ptr) += 2; in atom_op_setport()
873 (*ptr)++; in atom_op_setport()
877 (*ptr)++; in atom_op_setport()
882 static void atom_op_setregblock(atom_exec_context *ctx, int *ptr, int arg) in atom_op_setregblock() argument
884 ctx->ctx->reg_block = U16(*ptr); in atom_op_setregblock()
885 (*ptr) += 2; in atom_op_setregblock()
889 static void atom_op_shift_left(atom_exec_context *ctx, int *ptr, int arg) in atom_op_shift_left() argument
891 uint8_t attr = U8((*ptr)++), shift; in atom_op_shift_left()
893 int dptr = *ptr; in atom_op_shift_left()
897 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); in atom_op_shift_left()
898 shift = atom_get_src_direct(ctx, ATOM_SRC_BYTE0, ptr); in atom_op_shift_left()
905 static void atom_op_shift_right(atom_exec_context *ctx, int *ptr, int arg) in atom_op_shift_right() argument
907 uint8_t attr = U8((*ptr)++), shift; in atom_op_shift_right()
909 int dptr = *ptr; in atom_op_shift_right()
913 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); in atom_op_shift_right()
914 shift = atom_get_src_direct(ctx, ATOM_SRC_BYTE0, ptr); in atom_op_shift_right()
921 static void atom_op_shl(atom_exec_context *ctx, int *ptr, int arg) in atom_op_shl() argument
923 uint8_t attr = U8((*ptr)++), shift; in atom_op_shl()
925 int dptr = *ptr; in atom_op_shl()
928 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); in atom_op_shl()
931 shift = atom_get_src(ctx, attr, ptr); in atom_op_shl()
940 static void atom_op_shr(atom_exec_context *ctx, int *ptr, int arg) in atom_op_shr() argument
942 uint8_t attr = U8((*ptr)++), shift; in atom_op_shr()
944 int dptr = *ptr; in atom_op_shr()
947 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); in atom_op_shr()
950 shift = atom_get_src(ctx, attr, ptr); in atom_op_shr()
959 static void atom_op_sub(atom_exec_context *ctx, int *ptr, int arg) in atom_op_sub() argument
961 uint8_t attr = U8((*ptr)++); in atom_op_sub()
963 int dptr = *ptr; in atom_op_sub()
965 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); in atom_op_sub()
967 src = atom_get_src(ctx, attr, ptr); in atom_op_sub()
973 static void atom_op_switch(atom_exec_context *ctx, int *ptr, int arg) in atom_op_switch() argument
975 uint8_t attr = U8((*ptr)++); in atom_op_switch()
978 src = atom_get_src(ctx, attr, ptr); in atom_op_switch()
979 while (U16(*ptr) != ATOM_CASE_END) in atom_op_switch()
980 if (U8(*ptr) == ATOM_CASE_MAGIC) { in atom_op_switch()
981 (*ptr)++; in atom_op_switch()
985 ptr); in atom_op_switch()
986 target = U16(*ptr); in atom_op_switch()
989 *ptr = ctx->start + target; in atom_op_switch()
992 (*ptr) += 2; in atom_op_switch()
997 (*ptr) += 2; in atom_op_switch()
1000 static void atom_op_test(atom_exec_context *ctx, int *ptr, int arg) in atom_op_test() argument
1002 uint8_t attr = U8((*ptr)++); in atom_op_test()
1005 dst = atom_get_dst(ctx, arg, attr, ptr, NULL, 1); in atom_op_test()
1007 src = atom_get_src(ctx, attr, ptr); in atom_op_test()
1012 static void atom_op_xor(atom_exec_context *ctx, int *ptr, int arg) in atom_op_xor() argument
1014 uint8_t attr = U8((*ptr)++); in atom_op_xor()
1016 int dptr = *ptr; in atom_op_xor()
1018 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1); in atom_op_xor()
1020 src = atom_get_src(ctx, attr, ptr); in atom_op_xor()
1026 static void atom_op_debug(atom_exec_context *ctx, int *ptr, int arg) in atom_op_debug() argument
1162 int len, ws, ps, ptr; in atom_execute_table_locked() local
1173 ptr = base + ATOM_CT_CODE_PTR; in atom_execute_table_locked()
1190 op = CU8(ptr++); in atom_execute_table_locked()
1192 SDEBUG("%s @ 0x%04X\n", atom_op_names[op], ptr - 1); in atom_execute_table_locked()
1194 SDEBUG("[%d] @ 0x%04X\n", op, ptr - 1); in atom_execute_table_locked()
1197 base, len, ws, ps, ptr - 1); in atom_execute_table_locked()
1203 opcode_table[op].func(&ectx, &ptr, in atom_execute_table_locked()