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_load.c < prev    next >
Encoding:
C/C++ Source or Header  |  1990-06-28  |  4.1 KB  |  215 lines

  1. #include <cpu_prog_model.h>
  2. #include <cpu6502_addrm.h>
  3.  
  4.  
  5.  
  6. void LDA_imm( code)
  7. PM *code;
  8. {
  9.    code->Ac = code->Me [imm_address( code)];
  10.    set_neg_zero_stat( code, code->Ac);
  11. }
  12.  
  13. void LDA_zer( code)
  14. PM *code;
  15. {
  16.    unsigned short int address;
  17.  
  18.    address = zero_address( code);
  19.    mem_check( address, &(code->Me [address]), code, Func_LOAD);
  20.    code->Ac = code->Me [address];
  21.    set_neg_zero_stat( code, code->Ac);
  22. }
  23.  
  24. void LDA_zex( code)
  25. PM *code;
  26. {
  27.    unsigned short int address;
  28.  
  29.    address = zero_x_address( code);
  30.  
  31.    mem_check( address, &(code->Me [address]), code, Func_LOAD);
  32.    code->Ac = code->Me [address];
  33.    set_neg_zero_stat( code, code->Ac);
  34. }
  35.  
  36. void LDA_abs( code)
  37. PM *code;
  38. {
  39.    unsigned short int address;
  40.  
  41.    address = abs_address( code);
  42.  
  43.    mem_check( address, &(code->Me [address]), code, Func_LOAD);
  44.    code->Ac = code->Me [address];
  45.  
  46.    set_neg_zero_stat( code, code->Ac);
  47. }
  48.  
  49. void LDA_abx( code)
  50. PM *code;
  51. {
  52.    unsigned short int address;
  53.  
  54.    address = abs_x_address( code);
  55.  
  56.    mem_check( address, &(code->Me [address]), code, Func_LOAD);
  57.    code->Ac = code->Me [address];
  58.    set_neg_zero_stat( code, code->Ac);
  59. }
  60.  
  61. void LDA_aby( code)
  62. PM *code;
  63. {
  64.    unsigned short int address;
  65.  
  66.    address = abs_y_address( code);
  67.  
  68.    mem_check( address, &(code->Me [address]), code, Func_LOAD);
  69.    code->Ac = code->Me [address];
  70.    set_neg_zero_stat( code, code->Ac);
  71. }
  72.  
  73. void LDA_inx( code)
  74. PM *code;
  75. {
  76.    unsigned short int address;
  77.  
  78.    address = ind_x_address( code);
  79.  
  80.    mem_check( address, &(code->Me [address]), code, Func_LOAD);
  81.    code->Ac = code->Me [address];
  82.    set_neg_zero_stat( code, code->Ac);
  83. }
  84.  
  85. void LDA_iny( code)
  86. PM *code;
  87. {
  88.    unsigned short int address;
  89.  
  90.    address = ind_y_address( code);
  91.    mem_check( address, &(code->Me [address]), code, Func_LOAD);
  92.    code->Ac = code->Me [address];
  93.    set_neg_zero_stat( code, code->Ac);
  94. }
  95.  
  96.  
  97. void LDX_imm( code)
  98. PM *code;
  99. {
  100.    code->Xr = code->Me [imm_address( code)];
  101.    set_neg_zero_stat( code, code->Xr);
  102. }
  103.  
  104. void LDX_zer( code)
  105. PM *code;
  106. {
  107.    unsigned short int address;
  108.  
  109.    address = zero_address( code);
  110.    mem_check( address, &(code->Me [address]), code, Func_LOAD);
  111.    code->Xr = code->Me [address];
  112.    set_neg_zero_stat( code, code->Xr);
  113. }
  114.  
  115. void LDX_zex( code)
  116. PM *code;
  117. {
  118.    unsigned short int address;
  119.  
  120.    address = zero_x_address( code);
  121.    mem_check( address, &(code->Me [address]), code, Func_LOAD);
  122.    code->Xr = code->Me [address];
  123.    set_neg_zero_stat( code, code->Xr);
  124. }
  125.  
  126. void LDX_abs( code)
  127. PM *code;
  128. {
  129.    unsigned short int address;
  130.  
  131.    address = abs_address( code);
  132.    mem_check( address, &(code->Me [address]), code, Func_LOAD);
  133.    code->Xr = code->Me [address];
  134.    set_neg_zero_stat( code, code->Xr);
  135. }
  136.  
  137. void LDX_abx( code)
  138. PM *code;
  139. {
  140.    unsigned short int address;
  141.  
  142.    address = abs_x_address( code);
  143.    mem_check( address, &(code->Me [address]), code, Func_LOAD);
  144.    code->Xr = code->Me [address];
  145.    set_neg_zero_stat( code, code->Xr);
  146. }
  147.  
  148. void LDX_aby( code)
  149. PM *code;
  150. {
  151.    unsigned short int address;
  152.  
  153.    address = abs_y_address( code);
  154.    mem_check( address, &(code->Me [address]), code, Func_LOAD);
  155.    code->Xr = code->Me [address];
  156.    set_neg_zero_stat( code, code->Xr);
  157. }
  158.  
  159.  
  160. void LDY_imm( code)
  161. PM *code;
  162. {
  163.    code->Yr= code->Me [imm_address( code)];
  164.    set_neg_zero_stat( code, code->Yr);
  165. }
  166.  
  167. void LDY_zer( code)
  168. PM *code;
  169. {
  170.    unsigned short int address;
  171.  
  172.    address = zero_address( code);
  173.    mem_check( address, &(code->Me [address]), code, Func_LOAD);
  174.    code->Yr = code->Me [address];
  175.    set_neg_zero_stat( code, code->Yr);
  176. }
  177.  
  178. void LDY_zex( code)
  179. PM *code;
  180. {
  181.    unsigned short int address;
  182.  
  183.    address = zero_x_address( code);
  184.    mem_check( address, &(code->Me [address]), code, Func_LOAD);
  185.    code->Yr = code->Me [address];
  186.    set_neg_zero_stat( code, code->Yr);
  187. }
  188.  
  189. void LDY_abs( code)
  190. PM *code;
  191. {
  192.    unsigned short int address;
  193.  
  194.    address = abs_address( code);
  195.  
  196.    mem_check( address, &(code->Me [address]), code, Func_LOAD);
  197.    code->Yr = code->Me [address];
  198.    set_neg_zero_stat( code, code->Yr);
  199.  
  200. }
  201.  
  202. void LDY_abx( code)
  203. PM *code;
  204. {
  205.    unsigned short int address;
  206.  
  207.    address = abs_x_address( code);
  208.  
  209.    mem_check( address, &(code->Me [address]), code, Func_LOAD);
  210.    code->Yr = code->Me [address];
  211.    set_neg_zero_stat( code, code->Yr);
  212.  
  213. }
  214.  
  215.