mirror of
https://github.com/irmen/prog8.git
synced 2026-04-20 11:17:01 +00:00
consolidate @rombank and @rambank into just @bank
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
package prog8.code
|
||||
|
||||
import prog8.code.ast.PtAsmSub
|
||||
import prog8.code.ast.PtNode
|
||||
import prog8.code.ast.PtProgram
|
||||
import prog8.code.core.*
|
||||
@@ -258,7 +257,7 @@ class StSub(name: String, val parameters: List<StSubroutineParameter>, val retur
|
||||
|
||||
|
||||
class StRomSub(name: String,
|
||||
val address: PtAsmSub.Address?, // null in case of asmsub, specified in case of romsub
|
||||
val address: Pair<UByte?, UInt>?, // null in case of asmsub, specified in case of romsub. bank, address.
|
||||
val parameters: List<StRomSubParameter>,
|
||||
val returns: List<StRomSubParameter>,
|
||||
astNode: PtNode) :
|
||||
|
||||
@@ -92,9 +92,8 @@ fun printAst(root: PtNode, skipLibraries: Boolean, output: (text: String) -> Uni
|
||||
if(node.address == null) {
|
||||
str + "asmsub ${node.name}($params) $clobbers $returns"
|
||||
} else {
|
||||
val rombank = if(node.address.rombank!=null) "@rombank ${node.address.rombank}" else ""
|
||||
val rambank = if(node.address.rambank!=null) "@rambank ${node.address.rambank}" else ""
|
||||
str + "romsub $rombank $rambank ${node.address.address.toHex()} = ${node.name}($params) $clobbers $returns"
|
||||
val bank = if(node.address.first!=null) "@bank ${node.address.first}" else ""
|
||||
str + "romsub $bank ${node.address.second.toHex()} = ${node.name}($params) $clobbers $returns"
|
||||
}
|
||||
}
|
||||
is PtBlock -> {
|
||||
|
||||
@@ -10,16 +10,13 @@ sealed interface IPtSubroutine {
|
||||
|
||||
class PtAsmSub(
|
||||
name: String,
|
||||
val address: Address?,
|
||||
val address: Pair<UByte?, UInt>?, // bank, address
|
||||
val clobbers: Set<CpuRegister>,
|
||||
val parameters: List<Pair<RegisterOrStatusflag, PtSubroutineParameter>>,
|
||||
val returns: List<Pair<RegisterOrStatusflag, DataType>>,
|
||||
val inline: Boolean,
|
||||
position: Position
|
||||
) : PtNamedNode(name, position), IPtSubroutine {
|
||||
|
||||
class Address(val rombank: UByte?, val rambank: UByte?, val address: UInt)
|
||||
}
|
||||
) : PtNamedNode(name, position), IPtSubroutine
|
||||
|
||||
|
||||
class PtSub(
|
||||
|
||||
Reference in New Issue
Block a user