after reading another post on multi-dimensional arrays (, i figured this is somehow quite complicated.

i guess if you have an array which is only 2-dimensional (in pascal e.g. var a: array[0..9, 0..5] of byte) you might as well define two simple arrays, like:
a1 db 10 dup(?)
a2 db 6 dup(?)

addressing them would be e.g.
mov esi, offset a1
mov edi, offset a2
mov byte ptr , imm8

this seems a little simpler to me.
Posted on 2003-02-26 10:18:47 by ploptor
You've only allocated 16 bytes in the assembly, verses 60 bytes in the pascal.

You've mistaken the allocation algorithm as A + B + C, rather than A * B *C.

Posted on 2003-02-26 10:50:00 by Mirno
Mirno is correct.

The arrary should be

a1 db 6 dup (10 dup(?))
Posted on 2003-02-27 06:57:33 by roticv