mirror of
https://github.com/kichikuou/xsystem35-sdl2.git
synced 2026-09-28 17:58:09 +03:00
52 lines
1.1 KiB
Plaintext
52 lines
1.1 KiB
Plaintext
MS FILE,"array.adv":
|
|
!used:0!
|
|
!size:0!
|
|
!array:0!
|
|
!index:0!
|
|
|
|
; DI should return (0, _) for an unallocated array
|
|
DI 1,used,size:
|
|
~AssertEqual 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:
|
|
~AssertEqual used,1,__LINE__:
|
|
~AssertEqual size,11,__LINE__:
|
|
DI 255,used,size:
|
|
~AssertEqual used,1,__LINE__:
|
|
~AssertEqual size,0,__LINE__:
|
|
|
|
DS index,array,0,1:
|
|
|
|
; Must be zero-initialized
|
|
~AssertEqual array[3],0,__LINE__:
|
|
|
|
!index:3!
|
|
!array:30! ; page1[3] = 30
|
|
|
|
; var[...] style access ignores the index variable
|
|
~AssertEqual array[3],30,__LINE__:
|
|
|
|
DR array:
|
|
DS index,array,1,1: ; now array maps page1[1..]
|
|
~AssertEqual array[2],30,__LINE__:
|
|
!index:2!
|
|
~AssertEqual array,30,__LINE__:
|
|
|
|
DF array,6,42: ; memset(page1+1+index, 42, 6)
|
|
~AssertEqual array[1],0,__LINE__:
|
|
~AssertEqual array[2],42,__LINE__:
|
|
~AssertEqual array[7],42,__LINE__:
|
|
~AssertEqual array[8],0,__LINE__:
|
|
|
|
; Array access without DS
|
|
!D05:5!
|
|
~AssertEqual D01[4],5,__LINE__:
|
|
DF D01,5,0:
|
|
~AssertEqual D01[4],0,__LINE__:
|
|
|
|
%0:
|