-
Notifications
You must be signed in to change notification settings - Fork 5
/
ti84pceg.inc
60 lines (57 loc) · 1.16 KB
/
ti84pceg.inc
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
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
include 'ti84pce.inc'
restruc equ?
purge Ld
purge .list?
purge .nolist?
purge #define?
purge #ifdef?
purge #ifndef?
purge #endif?