6502-opcodes/firepower-core/src/main/scala/com/htmlism/firepower/core/Load.scala

15 lines
376 B
Scala
Raw Normal View History

2022-12-04 23:36:11 +00:00
package com.htmlism.firepower.core
2022-11-20 04:04:27 +00:00
object Load:
def constA[B: Encoded.Byte](x: B): Asm1[Reg.A] =
2022-11-20 20:02:34 +00:00
const(x)
def constX[B: Encoded.Byte](x: B): Asm1[Reg.X] =
2022-11-20 20:02:34 +00:00
const(x)
def constY[B: Encoded.Byte](x: B): Asm1[Reg.Y] =
2022-11-20 20:02:34 +00:00
const(x)
2022-11-20 04:04:27 +00:00
2022-11-20 20:02:34 +00:00
private def const[R, A](x: A)(using R: Register[R], A: Encoded.Byte[A]) =
Asm1Instructions[R](List(s"${R.load} ${A.int(x)}"))