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_cnts.c < prev    next >
C/C++ Source or Header  |  1990-06-28  |  3KB  |  177 lines

  1. #include <cpu_prog_model.h>
  2. #include <cpu6502_addrm.h>
  3.  
  4.  
  5.  
  6. void DEC_zer( code)
  7. PM *code;
  8. {
  9.    unsigned short int address;
  10.  
  11.    short memory;
  12.  
  13.    address = zero_address( code);
  14.    memory = code->Me [address] - 1;
  15.  
  16.    memory &= 0xFF;
  17.    mem_check( address, &memory, code, Func_STORE);
  18.    code->Me [address] = memory;
  19.  
  20.    set_neg_zero_stat( code, memory);
  21. }
  22.  
  23. void DEC_zex( code)
  24. PM *code;
  25. {
  26.    unsigned short int address;
  27.  
  28.    short memory;
  29.  
  30.    address = zero_x_address( code);
  31.    memory = code->Me [address] - 1;
  32.  
  33.    memory &= 0xFF;
  34.    mem_check( address, &memory, code, Func_STORE);
  35.    code->Me [address] = memory;
  36.  
  37.    set_neg_zero_stat( code, memory);
  38. }
  39.  
  40. void DEC_abs( code)
  41. PM *code;
  42. {
  43.    unsigned short int address;
  44.  
  45.    short memory;
  46.  
  47.    address = abs_address( code);
  48.    memory = code->Me [address] - 1;
  49.  
  50.    memory &= 0xFF;
  51.    mem_check( address, &memory, code, Func_STORE);
  52.    code->Me [address] = memory;
  53.  
  54.    set_neg_zero_stat( code, memory);
  55. }
  56.  
  57. void DEC_abx( code)
  58. PM *code;
  59. {
  60.    unsigned short int address;
  61.  
  62.    short memory;
  63.  
  64.    address = abs_x_address( code);
  65.    memory = code->Me [address] - 1;
  66.  
  67.    memory &= 0xFF;
  68.    mem_check( address, &memory, code, Func_STORE);
  69.    code->Me [address] = memory;
  70.  
  71.    set_neg_zero_stat( code, memory);
  72. }
  73.  
  74.  
  75. void DEX( code)
  76. PM *code;
  77. {
  78.    (code->Xr)--;
  79.    code->Xr &= 0xFF;
  80.    set_neg_zero_stat( code, code->Xr);
  81. }
  82.  
  83. void DEY( code)
  84. PM *code;
  85. {
  86.    (code->Yr)--;
  87.    code->Yr &= 0xFF;
  88.    set_neg_zero_stat( code, code->Yr);
  89. }
  90.  
  91. void INC_zer( code)
  92. PM *code;
  93. {
  94.    unsigned short int address;
  95.  
  96.    short memory;
  97.  
  98.    address = zero_address( code);
  99.    memory = code->Me [address] + 1;
  100.  
  101.    memory &= 0xFF;
  102.    mem_check( address, &memory, code, Func_STORE);
  103.    code->Me [address] = memory;
  104.  
  105.    set_neg_zero_stat( code, memory);
  106. }
  107.  
  108. void INC_zex( code)
  109. PM *code;
  110. {
  111.    unsigned short int address;
  112.  
  113.    short memory;
  114.  
  115.    address = zero_x_address( code);
  116.    memory = code->Me [address] + 1;
  117.  
  118.    memory &= 0xFF;
  119.    mem_check( address, &memory, code, Func_STORE);
  120.    code->Me [address] = memory;
  121.  
  122.    set_neg_zero_stat( code, memory);
  123. }
  124.  
  125. void INC_abs( code)
  126. PM *code;
  127. {
  128.    unsigned short int address;
  129.  
  130.    short memory;
  131.  
  132.    address = abs_address( code);
  133.    memory = code->Me [address] + 1;
  134.  
  135.    memory &= 0xFF;
  136.    mem_check( address, &memory, code, Func_STORE);
  137.    code->Me [address] = memory;
  138.  
  139.    set_neg_zero_stat( code, memory);
  140. }
  141.  
  142. void INC_abx( code)
  143. PM *code;
  144. {
  145.    unsigned short int address;
  146.  
  147.    short memory;
  148.  
  149.    address = abs_x_address( code);
  150.    memory = code->Me [address] + 1;
  151.  
  152.    memory &= 0xFF;
  153.    mem_check( address, &memory, code, Func_STORE);
  154.    code->Me [address] = memory;
  155.  
  156.    set_neg_zero_stat( code, memory);
  157. }
  158.  
  159.  
  160. void INX( code)
  161. PM *code;
  162. {
  163.    (code->Xr)++;
  164.    (code->Xr) &= 0xFF;
  165.    set_neg_zero_stat( code, code->Xr);
  166. }
  167.  
  168. void INY( code)
  169. PM *code;
  170. {
  171.    (code->Yr)++;
  172.    code->Yr &= 0xFF;
  173.    set_neg_zero_stat( code, code->Yr);
  174. }
  175.  
  176.  
  177.