mirror of
https://github.com/irmen/prog8.git
synced 2025-11-01 06:16:15 +00:00
added sys.pushl() and sys.popl()
This commit is contained in:
@@ -1177,12 +1177,19 @@ sys (part of syslib)
|
||||
This allows other code to run that might clobber these values temporarily.
|
||||
|
||||
``push (value)``
|
||||
pushes a byte value on the CPU hardware stack. Low-level function that should normally not be used.
|
||||
pushes a byte value on the CPU hardware stack.
|
||||
Low-level function that is seldomly used in user code.
|
||||
|
||||
``pushw (value)``
|
||||
pushes a 16-bit word value on the CPU hardware stack. Low-level function that should normally not be used.
|
||||
pushes a 16-bit word value on the CPU hardware stack.
|
||||
Low-level function that is seldomly used in user code.
|
||||
Don't assume anything about the order in which the bytes are pushed - popw will make sense of them again.
|
||||
|
||||
``pushl (value)``
|
||||
pushes a 32-bit value on the CPU hardware stack.
|
||||
Low-level function that is seldomly used in user code.
|
||||
Don't assume anything about the order in which the bytes are pushed - popl will make sense of them again.
|
||||
|
||||
``push_returnaddress (address)``
|
||||
pushes a 16 bit memory address on the CPU hardware stack in the same byte order as a JSR instruction would,
|
||||
which means the next RTS instruction will jump to that address instead.you
|
||||
@@ -1190,11 +1197,15 @@ sys (part of syslib)
|
||||
|
||||
``pop ()``
|
||||
pops a byte value off the CPU hardware stack and returns it.
|
||||
Low-level function that should normally not be used.
|
||||
Low-level function that is seldomly used in user code.
|
||||
|
||||
``popw ()``
|
||||
pops a 16-bit word value off the CPU hardware stack that was pushed before by pushw, and returns it.
|
||||
Low-level function that should normally not be used.
|
||||
Low-level function that is seldomly used in user code.
|
||||
|
||||
``popl ()``
|
||||
pops a 32-bit value off the CPU hardware stack that was pushed before by pushl, and returns it.
|
||||
Low-level function that is seldomly used in user code.
|
||||
|
||||
|
||||
textio (txt.*)
|
||||
|
||||
@@ -3,8 +3,7 @@ TODO
|
||||
|
||||
LONG TYPE
|
||||
---------
|
||||
= add pushl popl
|
||||
- scan through more library routines if there are opportunities to use the long?
|
||||
- scan through more library routines if there are opportunities to use a long param or returnvalue?
|
||||
- document the new long type! and mklong(a,b,c,d) and mklong2(w1,w2) , print_l , print_ulhex (& conv.str_l) and pokel, peekl, cbm.SETTIML/RDTIML, and the use of R0:R1 when doing LONG calculations
|
||||
- asmsub call convention: @R0R1_32 to specify a 32 bits long combined register R0:R1
|
||||
- how hard is it to also implement the other comparison operators (<,>,<=,>=) on longs?
|
||||
|
||||
Reference in New Issue
Block a user