Advertisement
Guest User

Hi dad

a guest
Feb 22nd, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.02 KB | None | 0 0
  1. case 0xD4: // RCRA - NOT WORKING
  2.  
  3.  
  4. saved_flags = Flags;
  5.  
  6. if ((Registers[REGISTER_A] & 0x01) == 0x01)
  7. {
  8. Flags = Flags | FLAG_C; // set carry flag
  9. }
  10. else
  11. {
  12. Flags = Flags & (0xff - FLAG_C); //Clear carry flag
  13. }
  14.  
  15. Registers[REGISTER_A] = (Registers[REGISTER_A] >> 1) & 0x7F;
  16.  
  17. if ((saved_flags & FLAG_C) == FLAG_C);
  18. {
  19. Registers[REGISTER_A] = Registers[REGISTER_A] | 0x80;
  20. }
  21.  
  22. set_flag_n(Registers[REGISTER_A]);
  23. set_flag_z(Registers[REGISTER_A]);
  24.  
  25. break;
  26.  
  27.  
  28.  
  29.  
  30. case 0xD5: // RLCA
  31.  
  32. saved_flags = Flags;
  33.  
  34. if ((Registers[REGISTER_A] & 0x80) == 0x80)
  35. {
  36. Flags = Flags | FLAG_C; // set carry flag
  37. }
  38. else
  39. {
  40. Flags = Flags & (0xFF - FLAG_C); //Clear carry flag
  41. }
  42.  
  43. Registers[REGISTER_A] = (Registers[REGISTER_A] << 1) & 0xFE;
  44.  
  45. if ((saved_flags & FLAG_C) == FLAG_C)
  46. {
  47. Registers[REGISTER_A] = Registers[REGISTER_A] | 0x01;
  48. }
  49.  
  50. set_flag_n(Registers[REGISTER_A]);
  51. set_flag_z(Registers[REGISTER_A]);
  52.  
  53. break;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement