home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 405.lha / AppleII_Emulators_src / src-2 / cpu_bran.c < prev    next >
C/C++ Source or Header  |  1990-06-28  |  2KB  |  143 lines

  1. #include <cpu_prog_model.h>
  2. #include <cpu6502_addrm.h>
  3.  
  4.  
  5. void BCC( code)
  6. PM *code;
  7. {
  8.    if (!code->Ca)
  9.    {
  10.       short int value;
  11.  
  12.       value = code->Me [(code->PC)++];
  13.       if (value >= 0x80)
  14.          value |= (-1 ^ 0xFF);
  15.       (code->PC) += value;
  16.    }
  17.  
  18.    else
  19.       (code->PC)++;
  20. }
  21.  
  22. void BCS( code)
  23. PM *code;
  24. {
  25.    if (code->Ca)
  26.    {
  27.       short int value;
  28.  
  29.       value = code->Me [(code->PC)++];
  30.       if (value >= 0x80)
  31.          value |= (-1 ^ 0xFF);
  32.       (code->PC) += value;
  33.    }
  34.  
  35.    else
  36.       (code->PC)++;
  37. }
  38.  
  39. void BEQ( code)
  40. PM *code;
  41. {
  42.    if (code->Ze)
  43.    {
  44.       short int value;
  45.  
  46.       value = code->Me [(code->PC)++];
  47.       if (value >= 0x80)
  48.          value |= (-1 ^ 0xFF);
  49.       (code->PC) += value;
  50.    }
  51.  
  52.    else
  53.       (code->PC)++;
  54. }
  55.  
  56. void BMI( code)
  57. PM *code;
  58. {
  59.    if (code->Ne)
  60.    {
  61.       short int value;
  62.  
  63.       value = code->Me [(code->PC)++];
  64.       if (value >= 0x80)
  65.          value |= (-1 ^ 0xFF);
  66.       (code->PC) += value;
  67.    }
  68.  
  69.    else
  70.       (code->PC)++;
  71. }
  72.  
  73. void BNE( code)
  74. PM *code;
  75. {
  76.    if (!code->Ze)
  77.    {
  78.       short int value;
  79.  
  80.       value = code->Me [(code->PC)++];
  81.       if (value >= 0x80)
  82.          value |= (-1 ^ 0xFF);
  83.       (code->PC) += value;
  84.    }
  85.  
  86.    else
  87.       (code->PC)++;
  88. }
  89.  
  90. void BPL( code)
  91. PM *code;
  92. {
  93.    if (!code->Ne)
  94.    {
  95.       short int value;
  96.  
  97.       value = code->Me [(code->PC)++];
  98.       if (value >= 0x80)
  99.          value |= (-1 ^ 0xFF);
  100.       (code->PC) += value;
  101.    }
  102.  
  103.    else
  104.       (code->PC)++;
  105. }
  106.  
  107. void BVC( code)
  108. PM *code;
  109. {
  110.    if (!code->Ov)
  111.    {
  112.       short int value;
  113.  
  114.       value = code->Me [(code->PC)++];
  115.       if (value >= 0x80)
  116.          value |= (-1 ^ 0xFF);
  117.  
  118.       (code->PC) += value;
  119.    }
  120.  
  121.    else
  122.       (code->PC)++;
  123. }
  124.  
  125. void BVS( code)
  126. PM *code;
  127. {
  128.    if (code->Ov)
  129.    {
  130.       short int value;
  131.  
  132.       value = code->Me [(code->PC)++];
  133.       if (value >= 0x80)
  134.          value |= (-1 ^ 0xFF);
  135.       (code->PC) += value;
  136.    }
  137.  
  138.    else
  139.       (code->PC)++;
  140. }
  141.  
  142.  
  143.