aboutsummaryrefslogtreecommitdiff
path: root/samples/std.orgaasm
blob: 958e0d312167ec4c8e6006a954f3dda04b15d4ee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
@clamp ( min max a -- b )
	/min /max RET

@min ( a b -- a < b ? a : b )
	OVR OVR LTH
	JNZ ,min/morethan
	SWP
@min/morethan
	POP
	RET

@max ( a b -- a > b ? a : b )
	OVR OVR GTH
	JNZ ,max/lessthan
	SWP
@max/lessthan
	POP
	RET

@memcpy.n 0000
@memcpy ( srcaddr dstaddr n -- ) ( !! doesn't work with n=0 )
	DEC -memcpy.n STA
	OVR OVR
	-memcpy.n LDA
	DUP ROT ADD SWP ROT OVR ADD LDA ROT STA
	DUP JNZ ,memcpy
	POP POP POP RET