We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 0394937 commit 9e04d30Copy full SHA for 9e04d30
2 files changed
src/crt/frameset_b.src
@@ -0,0 +1,22 @@
1
+ .assume adl=1
2
+
3
+ .section .text
4
+ .global __frameset_b
5
+ .type __frameset_b, @function
6
7
+ ; TODO: merge into __frameset.src once compiler starts emitting __frameset_b
8
+__frameset_b:
9
+ ; framesets -A bytes (1 to 256 bytes)
10
+ ; framesets 256 bytes if A is zero
11
+ scf
12
+ sbc hl, hl
13
+ ld l, a
14
+; __frameset:
15
+ pop de
16
+ push ix
17
+ ld ix, 0
18
+ add ix, sp
19
+ add hl, sp
20
+ ld sp, hl
21
+ ex de, hl
22
+ jp (hl)
src/crt/leave.src
@@ -0,0 +1,11 @@
+ .global __leave
+ .type __leave, @function
+__leave:
+ ; `jp __leave` saves a byte compared to `ld sp, ix \ pop ix \ ret`
+ ld sp, ix
+ pop ix
+ ret
0 commit comments