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_addrm.h < prev    next >
Text File  |  1990-06-28  |  2KB  |  38 lines

  1. #define stack_address( code)                                       \
  2.    (0x100 | code->SP)
  3.  
  4. #define imm_address( code)                                         \
  5.    (code->PC++)
  6.  
  7. #define zero_address( code)                                        \
  8.    code->Me [imm_address( code)]
  9.  
  10. #define zero_x_address( code)                                      \
  11.    (zero_address( code) + code->Xr) & 0xFF
  12.  
  13. #define abs_address( code)                                         \
  14.   (code->PC += 2,                                                  \
  15.    code->Me [code->PC - 2] | code->Me [code->PC - 1] << 8)
  16.  
  17. #define abs_x_address( code)                                       \
  18.    abs_address( code) + code->Xr
  19.  
  20. #define abs_y_address( code)                                       \
  21.    abs_address( code) + code->Yr
  22.  
  23. #define ind_x_address( code)                                       \
  24.   (code->PC++,                                                     \
  25.    code->Me [(code->Me [code->PC - 1] + code->Xr) % 0xFF]      |   \
  26.    code->Me [(code->Me [code->PC - 1] + code->Xr + 1) % 0xFF] << 8)
  27.  
  28. #define ind_y_address( code)                                       \
  29.   (code->PC ++,                                                    \
  30.    (code->Me [code->Me [code->PC - 1]] |                           \
  31.     code->Me [code->Me [code->PC - 1] + 1] << 8) + code->Yr)
  32.  
  33. #define set_neg_zero_stat( code, register)                         \
  34.    code->Ne = (register >= 0x80);                                  \
  35.    code->Ze = (register == 0)
  36.  
  37.  
  38.