14.10.2013, 07:22
(
Последний раз редактировалось ipsBruno; 14.10.2013 в 10:40.
)
SetAll
Created by Me, Thanks to Slice.
pawn Код:
SetAll(array[][], value = 0, size_1 = sizeof array, size_2 = sizeof array[]) {
static
x,
addr1,
addr2,
slot;
for( x = 0; x != size_2; ++x )
array[0][x] = value;
// get array
#emit load.s.pri array
// move to pri -> alt
#emit move.alt
// load in pri first idx of array
#emit load.i
// add pri with alt
#emit add
// stor in addr result
#emit stor.pri addr1
for( x = 1; x != size_1; ++x ) {
slot = x;
#emit LOAD.S.pri array
#emit SHL.C.alt 2
#emit ADD
#emit STOR.pri slot
#emit LOAD.I
#emit ADD
#emit STOR.pri addr2
#emit LOAD.pri addr1
#emit LOAD.alt slot
#emit SUB
#emit STOR.I
}
return true;
}
pawn Код:
new array[6][3];
SetAll( array, -1 );
for(new x = 0; x != sizeof array; x++)
for(new i = 0;i != sizeof array[]; i++)
printf("%d", array[x][i]);
Created by Me, Thanks to Slice.
