Нужно вывести двумерный массив, содержащийся в структуре, на экран. Обращаюсь в память по соображениям, что array[i][j] = (адресс первого элемента + N*M*i + N*j), где N - размер элемента в байтах, M - количество строк в дв. массиве, i и j - счётчики в циклах(использую rcx и rdx, соответственно). Кажется, регистр выбрал верный, но всё равно ошибка 
main.asm [26]:
			mov ax, [field.grid + 8*(field.size_n*rcx + rdx)]	
processed: mov ax,[field.grid+8*(field.size_n*rcx+rdx)]
error: operand sizes do not match.
 при компиляции. Архитектура х64, препроцессор FASM
Код:
format ELF64
public _start
struc playing_field n {
	.size_n db n
	.grid rw n*n
	.max_score db 0
}
field playing_field 4
_start:
	call exit
section ".print_grid" executable
; | input:
; rax = array
print_grid:
	xor rcx, rcx
	.first_iter:
		xor rdx, rdx
		.second_iter:
			mov ax, [field.grid + 8*(field.size_n*rcx + rdx)]	
			
			inc rdx
			cmp rdx, field.size_n
			je .next
			jmp .second_iter
		.next:
			inc rcx
			cmp rcx, field.size_n
			je .quit
			jmp .first_iter	
	.quit:
		ret