ITSTATE advances after normal execution of an IT block instruction. This is described by the ITAdvance() pseudocodefunction:
// ITAdvance()// ===========ITAdvance()if ITSTATE<2:0> == '000' thenITSTATE.IT = '00000000';elseITSTATE.IT<4:0> = LSL(ITSTATE.IT<4:0>, 1);
Now my question Does The function ITAdvance() called only after execution of an instruction only in IT Block or after any instruction execution even if it is not in an IT Block .. (being in IT block or not is checked by the least 4 significant bits of ITSTAT register) .... I couldn't find it in the operation pseudo code of any instruction of the ARMv7 manual
Thanks