-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathprogram.mas
76 lines (76 loc) · 1.53 KB
/
program.mas
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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
jns mrs_main
halt
mrs_add_two, hex 000
load mrs_var1
store mrs_var0
load mrs_const0
add mrs_var0
jns mrs_stack_push
jumpi mrs_add_two
mrs_main, hex 000
input
jns mrs_stack_push
jns mrs_stack_pop
loadi mrs_stack_ptr
store mrs_var2
input
jns mrs_stack_push
jns mrs_stack_pop
loadi mrs_stack_ptr
store mrs_var3
mrs_0label0, load mrs_var3
store mrs_var0
load mrs_var2
subt mrs_var0
skipcond 400
jump mrs_0label2
load mrs_var2
store mrs_var4
load mrs_const0
add mrs_var4
store mrs_var2
jump mrs_0label1
mrs_0label2, load mrs_var2
store mrs_var4
load mrs_var3
subt mrs_var4
store mrs_var3
mrs_0label1, load mrs_var2
output
load mrs_var3
output
jumpi mrs_main
mrs_print_str, hex 0000
jns mrs_stack_pop
loadi mrs_stack_ptr
mrs_print_strcheck_null, store mrs_var4
loadi mrs_var4
skipcond 400
jump mrs_print_strprint_ch
jumpi mrs_print_str
mrs_print_strprint_ch, loadi mrs_var4
output
load mrs_var4
add mrs_const1
store mrs_var4
jump mrs_print_strcheck_null
mrs_stack_push, hex 0000
storei mrs_stack_ptr
load mrs_stack_ptr
subt mrs_stack_step
store mrs_stack_ptr
jumpi mrs_stack_push
mrs_stack_pop, hex 0000
load mrs_stack_ptr
add mrs_stack_step
store mrs_stack_ptr
jumpi mrs_stack_pop
mrs_const0, dec 2
mrs_const1, dec 1
mrs_stack_ptr, dec 4095
mrs_stack_step, dec 1
mrs_var0, dec 0
mrs_var1, dec 0
mrs_var2, dec 0
mrs_var3, dec 0
mrs_var4, dec 0