Lines Matching refs:wback
1892 if wback then R[n] = offset_addr; in EmulateSTRRtSP()
1910 bool wback; in EmulateSTRRtSP() local
1922 wback = (BitIsClear (opcode, 24) || BitIsSet (opcode, 21)); in EmulateSTRRtSP()
1924 if (wback && ((Rn == 15) || (Rn == Rt))) in EmulateSTRRtSP()
1971 if (wback) in EmulateSTRRtSP()
3355 if wback && registers<n> == '0' then R[n] = R[n] + 4 * BitCount (registers); in EmulateLDM()
3356 … if wback && registers<n> == '1' then R[n] = bits(32) UNKNOWN; // Only possible for encoding A1 in EmulateLDM()
3366 bool wback; in EmulateLDM() local
3375 wback = BitIsClear (registers, n); in EmulateLDM()
3386 wback = BitIsSet (opcode, 21); in EmulateLDM()
3399 if (wback in EmulateLDM()
3407 wback = BitIsSet (opcode, 21); in EmulateLDM()
3433 if (wback && (n == 13)) // Pop Instruction in EmulateLDM()
3466 if (wback && BitIsClear (registers, n)) in EmulateLDM()
3476 if (wback && BitIsSet (registers, n)) in EmulateLDM()
3502 if wback && registers<n> == '0' then R[n] = R[n] - 4*BitCount(registers); in EmulateLDMDA()
3503 if wback && registers<n> == '1' then R[n] = bits(32) UNKNOWN; in EmulateLDMDA()
3512 bool wback; in EmulateLDMDA() local
3522 wback = BitIsSet (opcode, 21); in EmulateLDMDA()
3580 if (wback && BitIsClear (registers, n)) in EmulateLDMDA()
3594 if (wback && BitIsSet (registers, n)) in EmulateLDMDA()
3618 if wback && registers<n> == '0' then R[n] = R[n] - 4*BitCount(registers); in EmulateLDMDB()
3619 … if wback && registers<n> == '1' then R[n] = bits(32) UNKNOWN; // Only possible for encoding A1 in EmulateLDMDB()
3628 bool wback; in EmulateLDMDB() local
3637 wback = BitIsSet (opcode, 21); in EmulateLDMDB()
3650 if (wback && BitIsSet (registers, n)) in EmulateLDMDB()
3659 wback = BitIsSet (opcode, 21); in EmulateLDMDB()
3717 if (wback && BitIsClear (registers, n)) in EmulateLDMDB()
3731 if (wback && BitIsSet (registers, n)) in EmulateLDMDB()
3754 if wback && registers<n> == '0' then R[n] = R[n] + 4*BitCount(registers); in EmulateLDMIB()
3755 if wback && registers<n> == '1' then R[n] = bits(32) UNKNOWN; in EmulateLDMIB()
3764 bool wback; in EmulateLDMIB() local
3772 wback = BitIsSet (opcode, 21); in EmulateLDMIB()
3830 if (wback && BitIsClear (registers, n)) in EmulateLDMIB()
3844 if (wback && BitIsSet (registers, n)) in EmulateLDMIB()
3864 if wback then R[n] = offset_addr; in EmulateLDRRtRnImm()
3883 bool add, index, wback; in EmulateLDRRtRnImm() local
3892 wback = false; in EmulateLDRRtRnImm()
3905 wback = false; in EmulateLDRRtRnImm()
3919 wback = false; in EmulateLDRRtRnImm()
3943 wback = BitIsSet (opcode, 8); in EmulateLDRRtRnImm()
3946 if ((wback && (Rn == Rt)) || ((Rt == 15) && InITBlock() && !LastInITBlock())) in EmulateLDRRtRnImm()
3966 if (wback) in EmulateLDRRtRnImm()
4020 if i == n && wback && i != LowestSetBit(registers) then in EmulateSTM()
4028 if wback then R[n] = R[n] + 4*BitCount(registers); in EmulateSTM()
4037 bool wback; in EmulateSTM() local
4048 wback = true; in EmulateSTM()
4061 wback = BitIsSet (opcode, 21); in EmulateSTM()
4068 if (wback && BitIsSet (registers, n)) in EmulateSTM()
4077 wback = BitIsSet (opcode, 21); in EmulateSTM()
4110 if ((i == n) && wback && (i != lowest_set_bit)) in EmulateSTM()
4148 if (wback) in EmulateSTM()
4174 if i == n && wback && i != LowestSetBit(registers) then in EmulateSTMDA()
4183 if wback then R[n] = R[n] - 4*BitCount(registers); in EmulateSTMDA()
4192 bool wback; in EmulateSTMDA() local
4202 wback = BitIsSet (opcode, 21); in EmulateSTMDA()
4235 if ((i == n) && wback && (i != lowest_bit_set)) in EmulateSTMDA()
4273 if (wback) in EmulateSTMDA()
4299 if i == n && wback && i != LowestSetBit(registers) then in EmulateSTMDB()
4308 if wback then R[n] = R[n] - 4*BitCount(registers); in EmulateSTMDB()
4318 bool wback; in EmulateSTMDB() local
4334 wback = BitIsSet (opcode, 21); in EmulateSTMDB()
4339 if (wback && BitIsSet (registers, n)) in EmulateSTMDB()
4352 wback = BitIsSet (opcode, 21); in EmulateSTMDB()
4386 if ((i == n) && wback && (i != lowest_set_bit)) in EmulateSTMDB()
4424 if (wback) in EmulateSTMDB()
4450 if i == n && wback && i != LowestSetBit(registers) then in EmulateSTMIB()
4459 if wback then R[n] = R[n] + 4*BitCount(registers); in EmulateSTMIB()
4468 bool wback; in EmulateSTMIB() local
4478 wback = BitIsSet (opcode, 21); in EmulateSTMIB()
4511 if ((i == n) && wback && (i != lowest_set_bit)) in EmulateSTMIB()
4550 if (wback) in EmulateSTMIB()
4577 if wback then R[n] = offset_addr; in EmulateSTRThumb()
4591 bool wback; in EmulateSTRThumb() local
4604 wback = false; in EmulateSTRThumb()
4616 wback = false; in EmulateSTRThumb()
4632 wback = false; in EmulateSTRThumb()
4655 wback = BitIsSet (opcode, 8); in EmulateSTRThumb()
4658 if ((t == 15) || (wback && (n == t))) in EmulateSTRThumb()
4712 if (wback) in EmulateSTRThumb()
4742 if wback then R[n] = offset_addr; in EmulateSTRRegister()
4758 bool wback; in EmulateSTRRegister() local
4773 wback = false; in EmulateSTRRegister()
4793 wback = false; in EmulateSTRRegister()
4815 wback = (BitIsClear (opcode, 24) || BitIsSet (opcode, 21)); in EmulateSTRRegister()
4827 if (wback && ((n == 15) || (n == t))) in EmulateSTRRegister()
4903 if (wback) in EmulateSTRRegister()
4924 if wback then R[n] = offset_addr; in EmulateSTRBThumb()
4937 bool wback; in EmulateSTRBThumb() local
4950 wback = false; in EmulateSTRBThumb()
4966 wback = false; in EmulateSTRBThumb()
4987 wback = BitIsSet (opcode, 8); in EmulateSTRBThumb()
4990 if ((BadReg (t)) || (wback && (n == t))) in EmulateSTRBThumb()
5037 if (wback) in EmulateSTRBThumb()
5065 if wback then R[n] = offset_addr; in EmulateSTRHRegister()
5077 bool wback; in EmulateSTRHRegister() local
5094 wback = false; in EmulateSTRHRegister()
5114 wback = false; in EmulateSTRHRegister()
5136 wback = (BitIsClear (opcode, 24) || BitIsSet (opcode, 21)); in EmulateSTRHRegister()
5147 if (wback && ((n == 15) || (n == t))) in EmulateSTRHRegister()
5217 if (wback) in EmulateSTRHRegister()
5787 if wback then R[n] = offset_addr; in EmulateLDRImmediateARM()
5807 bool wback; in EmulateLDRImmediateARM() local
5823 wback = (BitIsClear (opcode, 24) || BitIsSet (opcode, 21)); in EmulateLDRImmediateARM()
5826 if (wback && (n == t)) in EmulateLDRImmediateARM()
5867 if (wback) in EmulateLDRImmediateARM()
5927 if wback then R[n] = offset_addr; in EmulateLDRRegister()
5950 bool wback; in EmulateLDRRegister() local
5966 wback = false; in EmulateLDRRegister()
5984 wback = false; in EmulateLDRRegister()
6011 wback = (BitIsClear (opcode, 24) || BitIsSet (opcode, 21)); in EmulateLDRRegister()
6023 if (wback && ((n == 15) || (n == t))) in EmulateLDRRegister()
6074 if (wback) in EmulateLDRRegister()
6138 if wback then R[n] = offset_addr; in EmulateLDRBImmediate()
6150 bool wback; in EmulateLDRBImmediate() local
6164 wback= false; in EmulateLDRBImmediate()
6179 wback = false; in EmulateLDRBImmediate()
6203 wback = BitIsSet (opcode, 8); in EmulateLDRBImmediate()
6206 if (BadReg (t) || (wback && (n == t))) in EmulateLDRBImmediate()
6252 if (wback) in EmulateLDRBImmediate()
6355 if wback then R[n] = offset_addr; in EmulateLDRBRegister()
6367 bool wback; in EmulateLDRBRegister() local
6383 wback = false; in EmulateLDRBRegister()
6401 wback = false; in EmulateLDRBRegister()
6423 wback = (BitIsClear (opcode, 24) || BitIsSet (opcode, 21)); in EmulateLDRBRegister()
6435 if (wback && ((n == 15) || (n == t))) in EmulateLDRBRegister()
6488 if (wback) in EmulateLDRBRegister()
6511 if wback then R[n] = offset_addr; in EmulateLDRHImmediate()
6528 bool wback; in EmulateLDRHImmediate() local
6542 wback = false; in EmulateLDRHImmediate()
6557 wback = false; in EmulateLDRHImmediate()
6580 wback = BitIsSet (opcode, 8); in EmulateLDRHImmediate()
6583 if (BadReg (t) || (wback && (n == t))) in EmulateLDRHImmediate()
6623 if (wback) in EmulateLDRHImmediate()
6769 if wback then R[n] = offset_addr; in EmulateLDRHRegister()
6785 bool wback; in EmulateLDRHRegister() local
6802 wback = false; in EmulateLDRHRegister()
6821 wback = false; in EmulateLDRHRegister()
6842 wback = (BitIsClear (opcode, 24) || BitIsSet (opcode, 21)); in EmulateLDRHRegister()
6853 if (wback && ((n == 15) || (n == t))) in EmulateLDRHRegister()
6905 if (wback) in EmulateLDRHRegister()
6943 if wback then R[n] = offset_addr; in EmulateLDRSBImmediate()
6955 bool wback; in EmulateLDRSBImmediate() local
6971 wback = false; in EmulateLDRSBImmediate()
6995 wback = BitIsSet (opcode, 8); in EmulateLDRSBImmediate()
7000 || (wback && (n == t))) in EmulateLDRSBImmediate()
7020 wback = (BitIsClear (opcode, 24) || BitIsSet (opcode, 21)); in EmulateLDRSBImmediate()
7023 if ((t == 15) || (wback && (n == t))) in EmulateLDRSBImmediate()
7069 if (wback) in EmulateLDRSBImmediate()
7183 if wback then R[n] = offset_addr; in EmulateLDRSBRegister()
7195 bool wback; in EmulateLDRSBRegister() local
7211 wback = false; in EmulateLDRSBRegister()
7230 wback = false; in EmulateLDRSBRegister()
7251 wback = BitIsClear (opcode, 24) || BitIsSet (opcode, 21); in EmulateLDRSBRegister()
7262 if (wback && ((n == 15) || (n == t))) in EmulateLDRSBRegister()
7317 if (wback) in EmulateLDRSBRegister()
7340 if wback then R[n] = offset_addr; in EmulateLDRSHImmediate()
7356 bool wback; in EmulateLDRSHImmediate() local
7372 wback = false; in EmulateLDRSHImmediate()
7396 wback = BitIsSet (opcode, 8); in EmulateLDRSHImmediate()
7399 if (BadReg (t) || (wback && (n == t))) in EmulateLDRSHImmediate()
7418 wback = BitIsClear (opcode, 24) || BitIsSet (opcode, 21); in EmulateLDRSHImmediate()
7421 if ((t == 15) || (wback && (n == t))) in EmulateLDRSHImmediate()
7462 if (wback) in EmulateLDRSHImmediate()
7605 if wback then R[n] = offset_addr; in EmulateLDRSHRegister()
7621 bool wback; in EmulateLDRSHRegister() local
7638 wback = false; in EmulateLDRSHRegister()
7657 wback = false; in EmulateLDRSHRegister()
7679 wback = BitIsClear (opcode, 24) || BitIsSet (opcode, 21); in EmulateLDRSHRegister()
7690 if (wback && ((n == 15) || (n == t))) in EmulateLDRSHRegister()
7743 if (wback) in EmulateLDRSHRegister()
8117 if wback then R[n] = if increment then R[n]+8 else R[n]-8; in EmulateRFE()
8125 bool wback; in EmulateRFE() local
8135 wback = BitIsSet (opcode, 21); in EmulateRFE()
8152 wback = BitIsSet (opcode, 21); in EmulateRFE()
8171 wback = BitIsSet (opcode, 21); in EmulateRFE()
8228 if (wback) in EmulateRFE()
9867 if wback then R[n] = offset_addr; in EmulateSTRBImmARM()
9879 bool wback; in EmulateSTRBImmARM() local
9893 wback = BitIsClear (opcode, 24) || BitIsSet (opcode, 21); in EmulateSTRBImmARM()
9900 if (wback && ((n == 15) || (n == t))) in EmulateSTRBImmARM()
9944 if (wback) in EmulateSTRBImmARM()
9963 if wback then R[n] = offset_addr; in EmulateSTRImmARM()
9975 bool wback; in EmulateSTRImmARM() local
9992 wback = BitIsClear (opcode, 24) || BitIsSet (opcode, 21); in EmulateSTRImmARM()
9995 if (wback && ((n == 15) || (n == t))) in EmulateSTRImmARM()
10051 if (wback) in EmulateSTRImmARM()
10076 if wback then R[n] = offset_addr; in EmulateLDRDImmediate()
10089 bool wback; in EmulateLDRDImmediate() local
10105 wback = BitIsSet (opcode, 21); in EmulateLDRDImmediate()
10108 if (wback && ((n == t) || (n == t2))) in EmulateLDRDImmediate()
10131 wback = BitIsClear (opcode, 24) || BitIsSet (opcode, 21); in EmulateLDRDImmediate()
10138 if (wback && ((n == t) || (n == t2))) in EmulateLDRDImmediate()
10196 if (wback) in EmulateLDRDImmediate()
10221 if wback then R[n] = offset_addr; in EmulateLDRDRegister()
10234 bool wback; in EmulateLDRDRegister() local
10251 wback = BitIsClear (opcode, 24) || BitIsSet (opcode, 21); in EmulateLDRDRegister()
10262 if (wback && ((n == 15) || (n == t) || (n == t2))) in EmulateLDRDRegister()
10266 if ((ArchVersion() < 6) && wback && (m == n)) in EmulateLDRDRegister()
10323 if (wback) in EmulateLDRDRegister()
10348 if wback then R[n] = offset_addr; in EmulateSTRDImm()
10361 bool wback; in EmulateSTRDImm() local
10376 wback = BitIsSet (opcode, 21); in EmulateSTRDImm()
10379 if (wback && ((n == t) || (n == t2))) in EmulateSTRDImm()
10402 wback = BitIsClear (opcode, 24) || BitIsSet (opcode, 21); in EmulateSTRDImm()
10409 if (wback && ((n == 15) || (n == t) || (n == t2))) in EmulateSTRDImm()
10472 if (wback) in EmulateSTRDImm()
10496 if wback then R[n] = offset_addr; in EmulateSTRDReg()
10509 bool wback; in EmulateSTRDReg() local
10527 wback = BitIsClear (opcode, 24) || BitIsSet (opcode, 21); in EmulateSTRDReg()
10538 if (wback && ((n == 15) || (n == t) || (n == t2))) in EmulateSTRDReg()
10542 if ((ArchVersion() < 6) && wback && (m == n)) in EmulateSTRDReg()
10606 if (wback) in EmulateSTRDReg()
10629 if wback then R[n] = if add then R[n]+imm32 else R[n]-imm32; in EmulateVLDM()
10645 bool wback; in EmulateVLDM() local
10666 wback = BitIsSet (opcode, 21); in EmulateVLDM()
10677 if (n == 15 && (wback || CurrentInstrSet() != eModeARM)) in EmulateVLDM()
10699 wback = BitIsSet (opcode, 21); in EmulateVLDM()
10708 if ((n == 15) && (wback || (CurrentInstrSet() != eModeARM))) in EmulateVLDM()
10737 if (wback) in EmulateVLDM()
10820 if wback then R[n] = if add then R[n]+imm32 else R[n]-imm32; in EmulateVSTM()
10837 bool wback; in EmulateVSTM() local
10858 wback = BitIsSet (opcode, 21); in EmulateVSTM()
10869 if ((n == 15) && (wback || (CurrentInstrSet() != eModeARM))) in EmulateVSTM()
10891 wback = BitIsSet (opcode, 21); in EmulateVSTM()
10900 if ((n == 15) && (wback || (CurrentInstrSet () != eModeARM))) in EmulateVSTM()
10929 if (wback) in EmulateVSTM()
11280 if wback then R[n] = R[n] + (if register_index then R[m] else 8*regs); in EmulateVLD1Multiple()
11299 bool wback; in EmulateVLD1Multiple() local
11363 wback = (m != 15); in EmulateVLD1Multiple()
11390 if (wback) in EmulateVLD1Multiple()
11446 if wback then R[n] = R[n] + (if register_index then R[m] else ebytes); in EmulateVLD1Single()
11461 bool wback; in EmulateVLD1Single() local
11535 wback = (m != 15); in EmulateVLD1Single()
11562 if (wback) in EmulateVLD1Single()
11622 if wback then R[n] = R[n] + (if register_index then R[m] else 8*regs); in EmulateVST1Multiple()
11641 bool wback; in EmulateVST1Multiple() local
11698 wback = (m != 15); in EmulateVST1Multiple()
11729 if (wback) in EmulateVST1Multiple()
11785 if wback then R[n] = R[n] + (if register_index then R[m] else ebytes); in EmulateVST1Single()
11800 bool wback; in EmulateVST1Single() local
11875 wback = (m != 15); in EmulateVST1Single()
11901 if (wback) in EmulateVST1Single()
11947 if wback then R[n] = R[n] + (if register_index then R[m] else ebytes); in EmulateVLD1SingleAll()
11964 bool wback; in EmulateVLD1SingleAll() local
11997 wback = (m != 15); in EmulateVLD1SingleAll()
12027 if (wback) in EmulateVLD1SingleAll()