34 lines
585 B
ArmAsm
34 lines
585 B
ArmAsm
|
/*
|
||
|
* Purpose: demonstrate handling of .new uses appearing before the associated
|
||
|
* definition.
|
||
|
* Here we perform a jump that skips the code resetting R2 from 0xDEADBEEF to 0,
|
||
|
* only if P0.new is true, but P0 is assigned to 1 (R4) in the next instruction
|
||
|
* in the packet.
|
||
|
*/
|
||
|
|
||
|
.text
|
||
|
.globl _start
|
||
|
|
||
|
_start:
|
||
|
{
|
||
|
r2 = #-559038737
|
||
|
}
|
||
|
{
|
||
|
r4 = #1
|
||
|
}
|
||
|
{
|
||
|
if (p0.new) jump:nt skip
|
||
|
p0 = r4;
|
||
|
}
|
||
|
|
||
|
fallthrough:
|
||
|
{
|
||
|
r2 = #0
|
||
|
}
|
||
|
|
||
|
skip:
|
||
|
{
|
||
|
p0 = cmp.eq(r2, #-559038737); if (p0.new) jump:t pass
|
||
|
jump fail
|
||
|
}
|