 		{
 			switch (addressingMode)
 			{
-				
+				case REL:
+					if (P &  NEGATIVE_FLAG)
+					{
+						PC += param1;
+					}
+					break;
 				default:
 					_emulator.log("Invalid addressing mode " + ADDR_NAME[addressingMode] + " for Instruction: BMI");
 					break;

					A = param1 & 0xFF;
					break;
				case ZPG:
					A = _mem[param1] & 0xFF;
					break;
				default:
					_emulator.log("Invalid addressing mode " + ADDR_NAME[addressingMode] + " for Instruction: LDA");

					break;
				case ZPG:
					str += "ZPG $" + hexToStr(p1) + " = ";
					_mem.position = p1;
					str += hexToStr(_mem.readUnsignedByte());
					break;
				case IMP:
					break;
