MS FILE,"array.adv": !used:0! !size:0! !array:0! !index:0! ; DI should return (0, _) for an unallocated array DI 1,used,size: ~AssertEquals used,0,__LINE__: DC 1,10,0: ; page1 = array[10] DC 255,65535,0: ; page255 = array[56635] ; DI should return (1, array-size + 1) DI 1,used,size: ~AssertEquals used,1,__LINE__: ~AssertEquals size,11,__LINE__: DI 255,used,size: ~AssertEquals used,1,__LINE__: ~AssertEquals size,0,__LINE__: DS index,array,0,1: ; Must be zero-initialized ~AssertEquals array[3],0,__LINE__: !index:3! !array:30! ; page1[3] = 30 ; var[...] style access ignores the index variable ~AssertEquals array[3],30,__LINE__: DR array: DS index,array,1,1: ; now array maps page1[1..] ~AssertEquals array[2],30,__LINE__: !index:2! ~AssertEquals array,30,__LINE__: DF array,6,42: ; memset(page1+1+index, 42, 6) ~AssertEquals array[1],0,__LINE__: ~AssertEquals array[2],42,__LINE__: ~AssertEquals array[7],42,__LINE__: ~AssertEquals array[8],0,__LINE__: ; Array access without DS !D05:5! ~AssertEquals D01[4],5,__LINE__: DF D01,5,0: ~AssertEquals D01[4],0,__LINE__: %0: