Contributor: DUNCAN MURDOCH
{ Updated MISC.SWG on May 26, 1995 }
{
From: dmurdoch@mast.queensu.ca (Duncan Murdoch)>How can I access double-dimentional arrays in Pascal using asm? My array>is declared like this: var myarray:array[0..5] of array[0..5] of byte.
You need to do the addressing yourself. For example, to load myarray[i,j]
into AH, do the following:
}
 mov ax, i
 mov bx, 6 { The size of a row of your array }
 mul bx { Now ax holds the offset to element myarray[i,0] }
 add ax,j { now it holds the offset to element myarray[i,j] }
 mov bx,ax { Put the offset in BX. }
 mov ah,myarray[bx] { Load the byte at the calculated offset }
{
This is untested, but it looks okay to me...
}


AltStyle によって変換されたページ (->オリジナル) /