-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexample.cpp
More file actions
51 lines (39 loc) · 718 Bytes
/
example.cpp
File metadata and controls
51 lines (39 loc) · 718 Bytes
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
/**
* Example 1
* This example will load specified amount of numbers from input and then output the sum and integer avg of these numbers!
*/
#include "ram4cpp.hpp"
int main() _RAM_BEGIN(-1) // -1 will default to 255 registers
read r101 // Count of numbers to load
load r101
jz end
load 1
store r100; // Iteration index
loadNext:
read *r100
load r100
add 1 // r100++
store r100
sub r101
jgz calcSum
jmp loadNext;
calcSum:
load 1
store r100;
sumLoop:
load r102
add *r100
store r102
load r100
add 1
store r100
sub r101
jgz end
jmp sumLoop;
end:
write r102 // The result (sum)
load r102
div r101
write r0 // Avg...
halt
_RAM_END