mirror of
https://github.com/irmen/prog8.git
synced 2024-11-23 07:32:10 +00:00
cx16.macptr() now has additional argument in the carry flag, to reflect recent X16 kernal api change.
Also now allow bool type for status flag args and returnvalues.
This commit is contained in:
parent
b70e0a0870
commit
7b6cd0cfbe
@ -111,7 +111,7 @@ internal_vload:
|
|||||||
size = 255
|
size = 255
|
||||||
if num_bytes<size
|
if num_bytes<size
|
||||||
size = num_bytes
|
size = num_bytes
|
||||||
size = cx16.macptr(lsb(size), bufferpointer)
|
size = cx16.macptr(lsb(size), bufferpointer, false)
|
||||||
if_cs
|
if_cs
|
||||||
goto byte_read_loop ; macptr block read not supported, do fallback loop
|
goto byte_read_loop ; macptr block read not supported, do fallback loop
|
||||||
diskio.list_blocks += size
|
diskio.list_blocks += size
|
||||||
|
@ -363,7 +363,7 @@ romsub $fed5 = console_set_paging_message(uword msgptr @R0) clobbers(A,X,Y)
|
|||||||
romsub $fecf = entropy_get() -> ubyte @A, ubyte @X, ubyte @Y
|
romsub $fecf = entropy_get() -> ubyte @A, ubyte @X, ubyte @Y
|
||||||
romsub $fecc = monitor() clobbers(A,X,Y)
|
romsub $fecc = monitor() clobbers(A,X,Y)
|
||||||
|
|
||||||
romsub $ff44 = macptr(ubyte length @A, uword buffer @XY) clobbers(A) -> ubyte @Pc, uword @XY
|
romsub $ff44 = macptr(ubyte length @A, uword buffer @XY, bool dontAdvance @Pc) clobbers(A) -> bool @Pc, uword @XY
|
||||||
romsub $ff47 = enter_basic(ubyte cold_or_warm @Pc) clobbers(A,X,Y)
|
romsub $ff47 = enter_basic(ubyte cold_or_warm @Pc) clobbers(A,X,Y)
|
||||||
romsub $ff4d = clock_set_date_time(uword yearmonth @R0, uword dayhours @R1, uword minsecs @R2, ubyte jiffies @R3) clobbers(A, X, Y)
|
romsub $ff4d = clock_set_date_time(uword yearmonth @R0, uword dayhours @R1, uword minsecs @R2, ubyte jiffies @R3) clobbers(A, X, Y)
|
||||||
romsub $ff50 = clock_get_date_time() clobbers(A, X, Y) -> uword @R0, uword @R1, uword @R2, ubyte @R3 ; result registers see clock_set_date_time()
|
romsub $ff50 = clock_get_date_time() clobbers(A, X, Y) -> uword @R0, uword @R1, uword @R2, ubyte @R3 ; result registers see clock_set_date_time()
|
||||||
|
@ -323,8 +323,8 @@ internal class AstChecker(private val program: Program,
|
|||||||
err("parameter '${param.first.name}' should be (u)word (an address) or str")
|
err("parameter '${param.first.name}' should be (u)word (an address) or str")
|
||||||
}
|
}
|
||||||
else if(param.second.statusflag!=null) {
|
else if(param.second.statusflag!=null) {
|
||||||
if (param.first.type != DataType.UBYTE)
|
if (param.first.type != DataType.UBYTE && param.first.type != DataType.BOOL)
|
||||||
err("parameter '${param.first.name}' should be ubyte")
|
err("parameter '${param.first.name}' should be bool or ubyte")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
subroutine.returntypes.zip(subroutine.asmReturnvaluesRegisters).forEachIndexed { index, pair ->
|
subroutine.returntypes.zip(subroutine.asmReturnvaluesRegisters).forEachIndexed { index, pair ->
|
||||||
@ -338,8 +338,8 @@ internal class AstChecker(private val program: Program,
|
|||||||
err("return type #${index + 1} should be (u)word/address")
|
err("return type #${index + 1} should be (u)word/address")
|
||||||
}
|
}
|
||||||
else if(pair.second.statusflag!=null) {
|
else if(pair.second.statusflag!=null) {
|
||||||
if (pair.first != DataType.UBYTE)
|
if (pair.first != DataType.UBYTE && pair.first != DataType.BOOL)
|
||||||
err("return type #${index + 1} should be ubyte")
|
err("return type #${index + 1} should be bool or ubyte")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user