summaryrefslogtreecommitdiff
path: root/frontends/calculator/CEdev/include/fasmg-ez80/ti84pceg.inc
blob: 73b7fc1594fc66eeaac24ba235f353c15486371d (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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
macro ?!
	; assign needs to be local so that it is only
	; defined once (no purge!) so that it can be
	; forward referenced so that it can recurse
	local assign
	macro assign: name*, expr&
		match left =% right, expr
			assign name, left mod right
		else match left =| right, expr
			assign name, left or right
		else match left =& right, expr
			assign name, left and right
		else match left =^ right, expr
			assign name, left xor right
		else match left =<=< right, expr
			assign name, left shl right
		else match left =>=> right, expr
			assign name, left shr right
		else match left =~ right, expr
			assign name, left not right
		else match =~ right, expr
			assign name, not right
		else
			name? := expr
		end match
	end macro
	struc (name) equ? expr&
		assign name, expr
	end struc
	macro Ld args&
		match =equ? expr, args
			assign name, expr
		end match
	end macro
	purge ?
end macro

macro .list?
end macro
macro .nolist?
end macro
macro #define? name
end macro
macro #ifdef? name
end macro
macro #ifndef? name
end macro
macro #endif?
end macro

element anovaf_vars?
include 'ti84pce.inc'

restruc equ?
purge Ld
purge .list?
purge .nolist?
purge #define?
purge #ifdef?
purge #ifndef?
purge #endif?