summaryrefslogtreecommitdiff
path: root/attack_code/evict_load/victim.asm
blob: bd3effbc3c1c21f13e7b310d591e32dcf25fbd8f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
; code similar to gcc -O2 -c victim.c, working on gem5
; it doesn't store rdi to stack as -O0

extern array1
extern array2
extern array_size

global victim

victim:
xor eax, eax
cmp [rel array_size], rdi
jbe fret
lea rax, [rel array1]
add rax, rdi
movzx eax, byte [rax]
shl eax, 6
cdq
lea rdx, [rel array2]
mov eax, [rdx + rax]
fret:
rep ret