A32/location_descriptor: Implement SetIT
This commit is contained in:
parent
5e75bd41a4
commit
1e29ef8b0e
1 changed files with 6 additions and 2 deletions
|
@ -88,13 +88,17 @@ public:
|
||||||
return LocationDescriptor(arm_pc, cpsr, A32::FPSCR{new_fpscr & FPSCR_MODE_MASK}, single_stepping);
|
return LocationDescriptor(arm_pc, cpsr, A32::FPSCR{new_fpscr & FPSCR_MODE_MASK}, single_stepping);
|
||||||
}
|
}
|
||||||
|
|
||||||
LocationDescriptor AdvanceIT() const {
|
LocationDescriptor SetIT(ITState new_it) const {
|
||||||
PSR new_cpsr = cpsr;
|
PSR new_cpsr = cpsr;
|
||||||
new_cpsr.IT(new_cpsr.IT().Advance());
|
new_cpsr.IT(new_it);
|
||||||
|
|
||||||
return LocationDescriptor(arm_pc, new_cpsr, fpscr, single_stepping);
|
return LocationDescriptor(arm_pc, new_cpsr, fpscr, single_stepping);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LocationDescriptor AdvanceIT() const {
|
||||||
|
return SetIT(IT().Advance());
|
||||||
|
}
|
||||||
|
|
||||||
LocationDescriptor SetSingleStepping(bool new_single_stepping) const {
|
LocationDescriptor SetSingleStepping(bool new_single_stepping) const {
|
||||||
return LocationDescriptor(arm_pc, cpsr, fpscr, new_single_stepping);
|
return LocationDescriptor(arm_pc, cpsr, fpscr, new_single_stepping);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue