mirror of
https://github.com/KarolS/millfork.git
synced 2025-02-06 01:30:13 +00:00
Define Constant.WordZero
This commit is contained in:
parent
aa09bc90a4
commit
9beac45e99
@ -38,7 +38,7 @@ object PseudoregisterBuiltIns {
|
|||||||
val result = ListBuffer[AssemblyLine]()
|
val result = ListBuffer[AssemblyLine]()
|
||||||
var hard = Option.empty[List[AssemblyLine]]
|
var hard = Option.empty[List[AssemblyLine]]
|
||||||
val niceReads = mutable.ListBuffer[(List[AssemblyLine], List[AssemblyLine])]()
|
val niceReads = mutable.ListBuffer[(List[AssemblyLine], List[AssemblyLine])]()
|
||||||
var constant: Constant = NumericConstant(0, 2)
|
var constant: Constant = Constant.WordZero
|
||||||
var counter = 0
|
var counter = 0
|
||||||
for ((subtract, read) <- reads) {
|
for ((subtract, read) <- reads) {
|
||||||
read match {
|
read match {
|
||||||
|
@ -188,7 +188,7 @@ object ZBuiltIns {
|
|||||||
}
|
}
|
||||||
|
|
||||||
def compile16BitSum(ctx: CompilationContext, params: List[(Boolean, Expression)], decimal: Boolean): List[ZLine] = {
|
def compile16BitSum(ctx: CompilationContext, params: List[(Boolean, Expression)], decimal: Boolean): List[ZLine] = {
|
||||||
var const: Constant = NumericConstant(0, 2)
|
var const: Constant = Constant.WordZero
|
||||||
var hasConst = false
|
var hasConst = false
|
||||||
var result = mutable.ListBuffer[ZLine]()
|
var result = mutable.ListBuffer[ZLine]()
|
||||||
if (decimal) {
|
if (decimal) {
|
||||||
@ -222,7 +222,7 @@ object ZBuiltIns {
|
|||||||
case _ =>
|
case _ =>
|
||||||
if (result.isEmpty) {
|
if (result.isEmpty) {
|
||||||
result += ZLine.ldImm16(ZRegister.HL, const)
|
result += ZLine.ldImm16(ZRegister.HL, const)
|
||||||
const = NumericConstant(0, 2)
|
const = Constant.WordZero
|
||||||
hasConst = false
|
hasConst = false
|
||||||
}
|
}
|
||||||
if (ctx.options.flag(CompilationFlag.EmitExtended80Opcodes)) {
|
if (ctx.options.flag(CompilationFlag.EmitExtended80Opcodes)) {
|
||||||
|
1
src/main/scala/millfork/env/Constant.scala
vendored
1
src/main/scala/millfork/env/Constant.scala
vendored
@ -5,6 +5,7 @@ import millfork.output.DivisibleAlignment
|
|||||||
|
|
||||||
object Constant {
|
object Constant {
|
||||||
val Zero: Constant = NumericConstant(0, 1)
|
val Zero: Constant = NumericConstant(0, 1)
|
||||||
|
val WordZero: Constant = NumericConstant(0, 2)
|
||||||
val One: Constant = NumericConstant(1, 1)
|
val One: Constant = NumericConstant(1, 1)
|
||||||
|
|
||||||
def apply(i: Long): Constant = NumericConstant(i, minimumSize(i))
|
def apply(i: Long): Constant = NumericConstant(i, minimumSize(i))
|
||||||
|
@ -473,7 +473,7 @@ class Environment(val parent: Option[Environment], val prefix: String, val cpuFa
|
|||||||
addUnexpandedWordConstant(s"segment.$segment.length")
|
addUnexpandedWordConstant(s"segment.$segment.length")
|
||||||
addUnexpandedByteConstant(s"segment.$segment.bank")
|
addUnexpandedByteConstant(s"segment.$segment.bank")
|
||||||
}
|
}
|
||||||
addThing(ConstantThing("$0000", NumericConstant(0, 2), p), None)
|
addThing(ConstantThing("$0000", Constant.WordZero, p), None)
|
||||||
addThing(FlagBooleanType("set_carry",
|
addThing(FlagBooleanType("set_carry",
|
||||||
BranchingOpcodeMapping(Opcode.BCS, IfFlagSet(ZFlag.C), MOpcode.BCS),
|
BranchingOpcodeMapping(Opcode.BCS, IfFlagSet(ZFlag.C), MOpcode.BCS),
|
||||||
BranchingOpcodeMapping(Opcode.BCC, IfFlagClear(ZFlag.C), MOpcode.BCC)),
|
BranchingOpcodeMapping(Opcode.BCC, IfFlagClear(ZFlag.C), MOpcode.BCC)),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user