ad 1) If array indexes are constant, like in
if (return_value = $0A) and (return_value2 = $23) then
then IRP bit is not involved. On the other hand, if the indexes are unknown at compile time then such conditional cannot work properly and has to be modified, for example
if return_value[i] = $0A then
if return_value2[j] = $23 then
ad 2) idx is just a name of a variable (short for index)
. To access the 5th byte of the array the variable has to have value of 4 (indexes start from 0).
Note that for the compiler
is equivalent to
due to simple code optimization and thus the relevant memory byte will be accessed directly, regardless of IRP bit.