Commit | Line | Data |
---|---|---|
bc5b63cf AT |
1 | subtract |
2 | # Description: | |
3 | # Performs X-Y and returns result on TOS. | |
4 | # Stack Requirements: | |
5 | # Y Operand | |
6 | # X Operand | |
7 | # Return PC <-- TOS | |
8 | ||
9 | # Place Return PC at bottom of stack. | |
10 | LDSP+2 | |
11 | LDSP+1 | |
12 | STSP+3 | |
13 | STSP+0 | |
14 | ||
15 | # Stack now looks like: | |
16 | # Return PC | |
17 | # X Operand | |
18 | # Y Operand <-- TOS | |
19 | ||
20 | # Negate Y | |
21 | NOT | |
22 | IM_1 | |
23 | ADD | |
24 | ||
25 | ADD # Perform X + (-Y) | |
26 | ||
27 | SWAP # Put result behind Return PC on the stack. | |
28 | RTS | |
29 |