Figure 10- 31 Look for the 10th data source
If the value of R0 is 2, [IMServiceImpl iMessageService] is the 10th data source, otherwise
we have to further check the value of R1. If R1 is 0, then [IMServiceImpl smsService] is the 10th
datasouce, otherwise it should be [IMServiceImpl iMessageService]. The logic can be shown
with the following pseudo code:
- (BOOL)supportIMessage
{
if (R0 == 2 || R1 != 0) return YES;
return NO;
}
That is to say, the value of the 10th data source is determined by the combination of R0 and
R1, both of whom assume the responsibility of being the 11th data source, hereafter referred to
as 11th data source A and 11th data source B respectively. At the same time, the above pseudo
code can also be written as the following:
- (BOOL)supportIMessage
{
if (11thDataSourceA == 2 || 11thDataSourceB != 0) return YES;
return NO;
}
Get back to figure 10-31 to trace the 11th data source; R0 comes from "UXTB.W R0, R8".