Lines Matching refs:ptr

163 atom_get_src_int(atom_exec_context *ctx, uint8 attr, int *ptr,
172 idx = U16(*ptr);
173 (*ptr)+=2;
201 idx = U8(*ptr);
202 (*ptr)++;
207 idx = U8(*ptr);
208 (*ptr)++;
242 idx = U16(*ptr);
243 (*ptr) += 2;
247 idx = U8(*ptr);
248 (*ptr)++;
261 val = U32(*ptr);
262 (*ptr)+=4;
267 val = U16(*ptr);
268 (*ptr) += 2;
274 val = U8(*ptr);
275 (*ptr)++;
280 idx = U8(*ptr);
281 (*ptr)++;
285 idx = U8(*ptr);
286 (*ptr)++;
299 atom_skip_src_int(atom_exec_context *ctx, uint8 attr, int *ptr)
305 (*ptr) += 2;
312 (*ptr)++;
317 (*ptr) += 4;
322 (*ptr) += 2;
328 (*ptr)++;
337 atom_get_src(atom_exec_context *ctx, uint8 attr, int *ptr)
339 return atom_get_src_int(ctx, attr, ptr, NULL, 1);
344 atom_get_src_direct(atom_exec_context *ctx, uint8_t align, int *ptr)
350 val = U32(*ptr);
351 (*ptr) += 4;
356 val = U16(*ptr);
357 (*ptr) += 2;
363 val = U8(*ptr);
364 (*ptr)++;
373 int *ptr, uint32 *saved, int print)
376 arg|atom_dst_to_src[(attr>>3)&7][(attr>>6)&3]<<3, ptr, saved, print);
381 atom_skip_dst(atom_exec_context *ctx, int arg, uint8 attr, int *ptr)
384 arg|atom_dst_to_src[(attr>>3)&7][(attr>>6)&3]<<3, ptr);
390 int *ptr, uint32 val, uint32 saved)
402 idx = U16(*ptr);
403 (*ptr) += 2;
435 idx = U8(*ptr);
436 (*ptr)++;
440 idx = U8(*ptr);
441 (*ptr)++;
472 idx = U8(*ptr);
473 (*ptr)++;
482 idx = U8(*ptr);
483 (*ptr)++;
487 idx = U8(*ptr);
488 (*ptr)++;
496 atom_op_add(atom_exec_context *ctx, int *ptr, int arg)
498 uint8 attr = U8((*ptr)++);
500 int dptr = *ptr;
501 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1);
502 src = atom_get_src(ctx, attr, ptr);
513 atom_op_and(atom_exec_context *ctx, int *ptr, int arg)
515 uint8 attr = U8((*ptr)++);
517 int dptr = *ptr;
518 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1);
519 src = atom_get_src(ctx, attr, ptr);
530 atom_op_beep(atom_exec_context *ctx, int *ptr, int arg)
537 atom_op_calltable(atom_exec_context *ctx, int *ptr, int arg)
539 int idx = U8((*ptr)++);
559 atom_op_clear(atom_exec_context *ctx, int *ptr, int arg)
561 uint8 attr = U8((*ptr)++);
563 int dptr = *ptr;
566 atom_get_dst(ctx, arg, attr, ptr, &saved, 0);
573 atom_op_compare(atom_exec_context *ctx, int *ptr, int arg)
575 uint8 attr = U8((*ptr)++);
577 dst = atom_get_dst(ctx, arg, attr, ptr, NULL, 1);
578 src = atom_get_src(ctx, attr, ptr);
587 atom_op_delay(atom_exec_context *ctx, int *ptr, int arg)
589 bigtime_t count = U8((*ptr)++);
603 atom_op_div(atom_exec_context *ctx, int *ptr, int arg)
605 uint8 attr = U8((*ptr)++);
607 dst = atom_get_dst(ctx, arg, attr, ptr, NULL, 1);
608 src = atom_get_src(ctx, attr, ptr);
625 atom_op_div32(atom_exec_context *ctx, int *ptr, int arg)
628 uint8 attr = U8((*ptr)++);
630 dst = atom_get_dst(ctx, arg, attr, ptr, NULL, 1);
631 src = atom_get_src(ctx, attr, ptr);
653 atom_op_eot(atom_exec_context *ctx, int *ptr, int arg)
660 atom_op_jump(atom_exec_context *ctx, int *ptr, int arg)
662 int execute = 0, target = U16(*ptr);
663 (*ptr) += 2;
706 *ptr = ctx->start + target;
712 atom_op_mask(atom_exec_context *ctx, int *ptr, int arg)
714 uint8 attr = U8((*ptr)++);
716 int dptr = *ptr;
717 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1);
718 mask = atom_get_src_direct(ctx, ((attr >> 3) & 7), ptr);
719 src = atom_get_src(ctx, attr, ptr);
729 atom_op_move(atom_exec_context *ctx, int *ptr, int arg)
731 uint8 attr = U8((*ptr)++);
733 int dptr = *ptr;
735 atom_get_dst(ctx, arg, attr, ptr, &saved, 0);
737 atom_skip_dst(ctx, arg, attr, ptr);
740 src = atom_get_src(ctx, attr, ptr);
748 atom_op_mul(atom_exec_context *ctx, int *ptr, int arg)
750 uint8 attr = U8((*ptr)++);
752 dst = atom_get_dst(ctx, arg, attr, ptr, NULL, 1);
753 src = atom_get_src(ctx, attr, ptr);
761 atom_op_mul32(atom_exec_context *ctx, int *ptr, int arg)
764 uint8 attr = U8((*ptr)++);
766 dst = atom_get_dst(ctx, arg, attr, ptr, NULL, 1);
767 src = atom_get_src(ctx, attr, ptr);
782 atom_op_nop(atom_exec_context *ctx, int *ptr, int arg)
789 atom_op_or(atom_exec_context *ctx, int *ptr, int arg)
791 uint8 attr = U8((*ptr)++);
793 int dptr = *ptr;
794 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1);
795 src = atom_get_src(ctx, attr, ptr);
806 atom_op_postcard(atom_exec_context *ctx, int *ptr, int arg)
809 uint8 val = U8((*ptr)++);
815 static void atom_op_repeat(atom_exec_context *ctx, int *ptr, int arg)
822 atom_op_restorereg(atom_exec_context *ctx, int *ptr, int arg)
829 atom_op_savereg(atom_exec_context *ctx, int *ptr, int arg)
836 atom_op_setdatablock(atom_exec_context *ctx, int *ptr, int arg)
838 int idx = U8(*ptr);
839 (*ptr)++;
851 atom_op_setfbbase(atom_exec_context *ctx, int *ptr, int arg)
853 uint8 attr = U8((*ptr)++);
854 ctx->ctx->fb_base = atom_get_src(ctx, attr, ptr);
860 atom_op_setport(atom_exec_context *ctx, int *ptr, int arg)
865 port = U16(*ptr);
875 (*ptr) += 2;
879 (*ptr)++;
883 (*ptr)++;
890 atom_op_setregblock(atom_exec_context *ctx, int *ptr, int arg)
892 ctx->ctx->reg_block = U16(*ptr);
893 (*ptr)+=2;
897 static void atom_op_shift_left(atom_exec_context *ctx, int *ptr, int arg)
899 uint8 attr = U8((*ptr)++), shift;
901 int dptr = *ptr;
904 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1);
905 shift = atom_get_src_direct(ctx, ATOM_SRC_BYTE0, ptr);
915 static void atom_op_shift_right(atom_exec_context *ctx, int *ptr, int arg)
917 uint8 attr = U8((*ptr)++), shift;
919 int dptr = *ptr;
922 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1);
923 shift = atom_get_src_direct(ctx, ATOM_SRC_BYTE0, ptr);
933 static void atom_op_shl(atom_exec_context *ctx, int *ptr, int arg)
935 uint8 attr = U8((*ptr)++), shift;
937 int dptr = *ptr;
939 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1);
942 shift = atom_get_src(ctx, attr, ptr);
954 static void atom_op_shr(atom_exec_context *ctx, int *ptr, int arg)
956 uint8 attr = U8((*ptr)++), shift;
958 int dptr = *ptr;
960 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1);
963 shift = atom_get_src(ctx, attr, ptr);
976 atom_op_sub(atom_exec_context *ctx, int *ptr, int arg)
978 uint8 attr = U8((*ptr)++);
980 int dptr = *ptr;
981 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1);
982 src = atom_get_src(ctx, attr, ptr);
993 atom_op_switch(atom_exec_context *ctx, int *ptr, int arg)
995 uint8 attr = U8((*ptr)++);
998 src = atom_get_src(ctx, attr, ptr);
999 while (U16(*ptr) != ATOM_CASE_END)
1000 if (U8(*ptr) == ATOM_CASE_MAGIC) {
1001 (*ptr)++;
1003 val = atom_get_src(ctx, (attr & 0x38) | ATOM_ARG_IMM, ptr);
1004 target = U16(*ptr);
1006 *ptr = ctx->start + target;
1009 (*ptr) += 2;
1014 (*ptr) += 2;
1019 atom_op_test(atom_exec_context *ctx, int *ptr, int arg)
1021 uint8 attr = U8((*ptr)++);
1023 dst = atom_get_dst(ctx, arg, attr, ptr, NULL, 1);
1024 src = atom_get_src(ctx, attr, ptr);
1033 atom_op_xor(atom_exec_context *ctx, int *ptr, int arg)
1035 uint8 attr = U8((*ptr)++);
1037 int dptr = *ptr;
1038 dst = atom_get_dst(ctx, arg, attr, ptr, &saved, 1);
1039 src = atom_get_src(ctx, attr, ptr);
1050 atom_op_debug(atom_exec_context *ctx, int *ptr, int arg)
1053 uint8 val = U8((*ptr)++);
1060 atom_op_processds(atom_exec_context *ctx, int *ptr, int arg)
1062 uint16 val = U16(*ptr);
1063 (*ptr) += val + 2;
1206 int len, ws, ps, ptr;
1218 ptr = base + ATOM_CT_CODE_PTR;
1235 op = CU8(ptr++);
1243 TRACE("%s: %s @ 0x%" B_PRIX16 "\n", __func__, operationName, ptr - 1);
1248 operationName, op, ptr - 1);
1254 opcode_table[op].func(&ectx, &ptr, opcode_table[op].arg);