programCounter; } public function jump(int $address): void { if (($address % 2) != 0) { throw new InvalidAddressException("Invalid address", $address); } $this->programCounter = $address; } public function relativeJump(int $address): void { $this->jump($this->programCounter + $address); } public function stepWords(int $word): int { $this->programCounter += ($word << 1); return $this->programCounter; } public function reset(): void { $this->programCounter = self::RESET_PC_VALUE; } }