advent-of-code/2019/Scala/intcode/opcode/OpCode2.scala
2019-12-09 13:20:04 +01:00

16 lines
560 B
Scala

package intcode.opcode
/** Multiplication */
case object OpCode2 extends Action
{
/** length of an instruction */
override val length: Int = 4
/** Executes instruction for given parameters and modes */
override def exec(tape: Array[Long], relative: Long, param1: Long, param2: Long, param3: Long, mode1: Int, mode2: Int, mode3: Int): Unit =
{
val result = accessor(relative, param1, mode1, tape) * accessor(relative, param2, mode2, tape)
writer(tape, relative, param3, mode3, result) // Write mode is 0 default for now
}
}