.data var1 byte 1, 2, 3, 4, 5, 6, 7 ;przykładowa tablica bajtów var2 word 1, 2, 3, 4, 5, 6, 7 ;przykładowa tablica słów maszynowych var3 dword 1, 2, 3, 4, 5, 6, 7 ;przykładowa tablica podwójnych słów maszynowych var4 qword 1, 2, 3, 4, 5, 6, 7 ;przykładowa tablica poczwórnych słów maszynowych bigArray1 dword 64 dup(0FFFFFFFFh) ;przykładowa tablica 64 elementy (podwójne słowa) z początkową wartością 0FFFFFFFFh każdego elementu bigArray2 byte 512 dup('?') ;przykładowa tablica 512 bajtów z początkową wartością 03Fh (kod ASCII znaku zapytania) każdego elementu .code Main proc ;Przykładowe uzyskania dostępu do określonego elementu tablicy xor rax, rax ;wyzerowanie rejestru RAX lea rdx, var1 ;wczytanie do rejestru RDX adresu tablicy var1 mov rcx, 4 ;indeks elementu tablicy do którego uzyskuje się dostęp (od zera!) mov al, byte ptr [rdx + rcx * sizeof byte] ;kopiowanie piątego elementu tablicy bajtów do rejestru AL xor rax, rax ;wyzerowanie rejestru RAX lea rdx, var2 ;wczytanie do rejestru RDX adresu tablicy var2 mov rcx, 3 ;indeks elementu tablicy do którego uzyskuje się dostęp (od zera!) mov ax, word ptr [rdx + rcx * sizeof word] ;kopiowanie czwartego elementu tablicy słów do rejestru AX xor rax, rax ;wyzerowanie rejestru RAX lea rdx, var3 ;wczytanie do rejestru RDX adresu tablicy var3 mov rcx, 2 ;indeks elementu tablicy do którego uzyskuje się dostęp (od zera!) mov eax, dword ptr [rdx + rcx * sizeof dword] ;kopiowanie trzeciego elementu tablicy podwójnych słów do rejestru EAX xor rax, rax ;wyzerowanie rejestru RAX lea rdx, var4 ;wczytanie do rejestru RDX adresu tablicy var4 mov rcx, 1 ;indeks elementu tablicy do którego uzyskuje się dostęp (od zera!) mov rax, qword ptr [rdx + rcx * sizeof qword] ;kopiowanie drugiego elementu tablicy poczwórnych słów do rejestru RAX ret Main endp end