check.c 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #include <stdio.h>
  2. #include "prcalc.h"
  3. #include <inttypes.h>
  4. int main (int argc, char** argv) {
  5. prc_context ctx;
  6. uint64_t op1=0, op2=0;
  7. prc_init_context(&ctx);
  8. op1 = 10;
  9. op2 = 10;
  10. prc_push(&ctx, op1);
  11. prc_push(&ctx, op2);
  12. prc_add_stack(&ctx);
  13. printf("ADD(%20." PRIi64 ", %20." PRIi64 ")\tuint64_t: %20." PRIu64 "\tint64_t: %20." PRIi64 "\tHex: %16.lx\tFlags: %d\n", op1, op2, ctx.registers.A, ctx.registers.A, ctx.registers.A, ctx.registers.FLAGS);
  14. op1 = -1;
  15. op2 = 10;
  16. prc_push(&ctx, op1);
  17. prc_push(&ctx, op2);
  18. prc_add_stack(&ctx);
  19. printf("ADD(%20." PRIi64 ", %20." PRIi64 ")\tuint64_t: %20." PRIu64 "\tint64_t: %20." PRIi64 "\tHex: %16.lx\tFlags: %d\n", op1, op2, ctx.registers.A, ctx.registers.A, ctx.registers.A, ctx.registers.FLAGS);
  20. op1 = -1;
  21. op2 = -10;
  22. prc_push(&ctx, op1);
  23. prc_push(&ctx, op2);
  24. prc_add_stack(&ctx);
  25. printf("ADD(%20." PRIi64 ", %20." PRIi64 ")\tuint64_t: %20." PRIu64 "\tint64_t: %20." PRIi64 "\tHex: %16.lx\tFlags: %d\n", op1, op2, ctx.registers.A, ctx.registers.A, ctx.registers.A, ctx.registers.FLAGS);
  26. op1 = 0b0111111111111111111111111111111111111111111111111111111111111111;
  27. op2 = 1;
  28. prc_push(&ctx, op1);
  29. prc_push(&ctx, op2);
  30. prc_add_stack(&ctx);
  31. printf("ADD(%20." PRIi64 ", %20." PRIi64 ")\tuint64_t: %20." PRIu64 "\tint64_t: %20." PRIi64 "\tHex: %16.lx\tFlags: %d\n", op1, op2, ctx.registers.A, ctx.registers.A, ctx.registers.A, ctx.registers.FLAGS);
  32. op1 = 2;
  33. op2 = 0b1111111111111111111111111111111111111111111111111111111111111111;
  34. prc_push(&ctx, op1);
  35. prc_push(&ctx, op2);
  36. prc_add_stack(&ctx);
  37. printf("ADD(%20." PRIu64 ", %20." PRIu64 ")\tuint64_t: %20." PRIu64 "\tint64_t: %20." PRIi64 "\tHex: %16.lx\tFlags: %d\n", op1, op2, ctx.registers.A, ctx.registers.A, ctx.registers.A, ctx.registers.FLAGS);
  38. op1 = 4;
  39. op2 = 25;
  40. prc_push(&ctx, op1);
  41. prc_push(&ctx, op2);
  42. prc_mul_stack(&ctx);
  43. printf("ADD(%20." PRIi64 ", %20." PRIi64 ")\tuint64_t: %20." PRIu64 "\tint64_t: %20." PRIi64 "\tHex: %16.lx\tFlags: %d\n", op1, op2, ctx.registers.A, ctx.registers.A, ctx.registers.A, ctx.registers.FLAGS);
  44. //prc_mul_stack(&ctx);
  45. //printf("RESULT: %ld \nFLAGS: %d\n", ctx.registers.A, ctx.registers.FLAGS);
  46. }