-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathexample_program.lasm
More file actions
54 lines (39 loc) · 874 Bytes
/
example_program.lasm
File metadata and controls
54 lines (39 loc) · 874 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
52
53
54
!main
xor rbp,rbp
mov rsp,rbp
mov rbf,0x10
sub rsp,rbf
# Defining i iterable
mov rbf,0x10
sub rbp,rbf
mov *rbp,0x0
xor rbx,rbx
# Defining addCounter
mov rbf,0x8
sub rbp,rbf
mov *rbp,0x0
!loop
# Put i into rax
mov rbf,0x10
sub rbp,rbf
mov rax,*rbp
add rbx,rax
# i is still in rax
mov rbf, 0x10
cmp rax,rbf # Set's flag (LT;GT;ZF)
jne loop
# Loading added result into rax
mov rbf,0x8
sub rbp,rbf
mov rdi, *rbp
mov rax, 0x85 # Syscall for print Number
syscall
# Calling exit!
mov rax,0x84
xor rdi,rdi
syscall
mov rax, 0x2 # mov 2 into rax
mov rdi, 1 # mov 1 into rdi
mov rax,*rdi # mov val at rdi into rax
mov rbx,rax # mov rax into rax
mov *rbx,0xff # write 0xff to loc of rbx