Gaaaanz allgemein gesprochen:
Als erstes solltest du den Start des Arrays bestimmen, bepsielsweise mit
> mov bx, offset array
Dann muss du wissen, welches Element du haben möchtest
> mov si, 42 ; "43". Element (in Assember hat das 1. Element den Index 0
Jetzt kommt der "Trick": Wie groß sind die einzelnen Elemente? Byte, Word, DWord... (8, 16, 32... Bits). Das "erkennt" der Assembler über die angegebene Größe
> mov al, byte ptr[bx+si]
> mov ax, word ptr[bx+si]
> mov eax, dword ptr[bx+si]
Bei "dword ptr[bx+si]" weiss der Asselber, dass du einen 32 Bit-Wert haben möchtest, der
ab der Adresse bx + dem Wert aus si ( * sizeof(dword) ) liegt.
|