ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACAD
1
2
Multiply two defined numbers and store it at memory address 0Multiply two numbers from d.memory and store it at memory address
3
4
RSTALL;x = 73RSTALL;data_add_1 = 0
5
CONST 7;y = 106CONST 0;data_add_2 = 1
6
MOV R5, R1;9MOV AC, R1;
7
ADD;store_add = 012LOAD;store_add = 2
8
CONST 10;15MOV R5, DR;
9
MOV R5, R1;18CONST 1;
10
MUL;21MOV AC, R1;
11
MOV R7, AC;24LOAD;
12
CONST 0;27MOV AC, DR;
13
MOV AC, R1;30MUL;
14
STORE;36MOV R7, AC;
15
CONST 2;
16
MOV AC, R1;
17
Iterate and get the summation of numbers 1,2,3,...n STORE;
18
LOAD;
19
0RSTALL;n = 2
20
1CONST 2;Iterate and get the summation of sqaure numbers 1,2,3,...n
21
2MOV R7, R1;
22
3CONST 1;store_add = 0RSTALL;yup
23
4MOV R5, R1;CONST 10;
24
5MOV AC, R3;expected ans = 21MOV R7, R1;
25
6ADD;INCI
26
7MOV R2, R5;MOV AC, R2;
27
8INCI;MOV R5, R2;
28
9MOV R5, R2;MUL;
29
10MOV R3, AC;MOV R5, R3;
30
11MOV AC, R7;ADD;
31
SUB;MOV R3, AC;
32
JMPNZ;MOV R5, R2;
33
5;MOV AC, R7;
34
MOV R7, R3;SUB;
35
CONST 0;JMPNZ;
36
MOV AC, R1;3;
37
STORE;MOV R7, R3;
38
CONST 0;
39
Above code can be used to check JMPNZ, ADD, MOV operations
MOV AC, R1;
40
STORE;
41
LOAD;
42
To TestRSTALL;
43
MOV AC, R3;
44
4 x 4 Matrix Multiplication using 1 Core4 x 4 Matrix Multiplication using for any number of Cores
45
SIZE 3RSTALL;
46
ADDXMOV AC, R1;
47
ADDYRSTALL;RSTALL;
48
MOV02RSTALL;SIZE 4;SIZE 4;
49
MOV13MOV AC, R2;MOV02;MOV R5, R2;
50
ADDX;MOV AC, R2;
51
MOV R5, R3;ADD;
52
MUL;ADD;
53
Checks MOV02, ADDX,ADDY, SIZEMOV R5, R2;ADD;
54
ADD;MOV R5, AC;
55
RSTALL;LOAD;MOV02;
56
SIZE 2;core id = 0,00,1 or 1,01,1MOV R6, DR;ADDX;
57
MOV AC, R4;ans = 7 108MOV AC, R3;ADD;
58
MOV R5, R3;MOV R5, R2;LOAD;
59
ADD;MUL;MOV R6, DR;
60
ADDX;ADDY;INCI;
61
ADDY;MOV R5, R4;MOV R5, R2;
62
MOV R1, AC;ADD;MOV AC, R2;
63
MOV02;MOV R5, AC;ADD;
64
MOV R5, R1;MOV13;ADD;
65
ADD;ADD;ADD;
66
MOV R7, AC;LOAD;MOV R5, AC;
67
CONST 0;MOV AC, DR;MOV13;
68
MOV AC, R1;MOV R5, R6;ADDY;
69
STORE;MUL;ADD;
70
LOAD;MOV R5, R7;LOAD;
71
ADD;MOV AC, DR;
72
Checks MOV02,MOV13MOV R7, AC;INCI;
73
INCI;MOV R5, R6;
74
RSTALL;1011MOV R5, R2;MUL;
75
CONST 11;MOV AC, R3;MOV R5, R7;
76
MOV13;3SUB;ADD;
77
MOV R7, AC;JMPNZ;MOV R7, AC;
78
CONST 0;2;MOV AC, R4;
79
MOV AC, R1;MOV02;MOV R5, R2;
80
STORE;ADDX;SUB;
81
CONST 11;MOV R5, R3;JMPNZ;
82
MOV02;2MUL;2;
83
MOV R7, AC;ADDY;MOV02;
84
CONST 1;MOV R5, AC;ADDX;
85
MOV AC, R1;MOV13;MOV R5, R3;
86
STORE;ADD;MUL;
87
MOV R5, R4;ADDY;
88
Matrix Multiplication (for 2x2 cores) , can check one core as wellADD;MOV R5, AC;
89
ADD;MOV13;
90
RSTALL;Data memory 1STORE;ADD;
91
SIZE 2;2MOV R2, R1;STORE;
92
CONST 0;3INCI;MOV R2, R1;
93
MOV R2, R1;4MOV R1, R2;INCI;
94
CONST 0;1MOV R5, R1;MOV R5, R2;
95
MOV02;2CONST 0;CONST 0;
96
ADDX;3MOV R7, R1;MOV R7, R1;
97
MOV R5, R3;4RSTI;RSTI;
98
MUL;(0,0)Data Mem Ans => 7CONST 16;CONST 4;
99
MOV R5, R2;(0,1)10MOV AC, R1;MOV AC, R1;
100
ADD;(1,0)15MOV R1, R5;MOV R1, R5;