This is my nasm code:
extern fprintf
extern printf
extern stdout
section .data
mas dw 1,1,1,1,1, 2,2,2,2,2, 3,3,3,3,3, 4,4,4,4,4, 5,5,5,5,5, 6,6,6,6,6, 7,7,7,7,7
fmtstr db "%d", 10, 0
section .text
global main
main:
push rbp
mov rbp,rsp
mov esi, 2
mov eax, [mas + esi * 20]
mov rdi, fmtstr
mov rsi, rdx
mov rax, 0
call printf
leave
ret
all I want is to get in eax mas[2], where each element of array consists of 5 int, so it is 20 bytes But nasm complains about [mas + esi * 20]: error: invalid effective address