dyncom: General cleanup of STM
This commit is contained in:
		
							parent
							
								
									e37425b380
								
							
						
					
					
						commit
						36dab56c31
					
				@ -5983,47 +5983,45 @@ unsigned InterpreterMainLoop(ARMul_State* state) {
 | 
				
			|||||||
            inst_cream->get_addr(cpu, inst_cream->inst, addr, 0);
 | 
					            inst_cream->get_addr(cpu, inst_cream->inst, addr, 0);
 | 
				
			||||||
            if (BIT(inst_cream->inst, 22) == 1) {
 | 
					            if (BIT(inst_cream->inst, 22) == 1) {
 | 
				
			||||||
                for (i = 0; i < 13; i++) {
 | 
					                for (i = 0; i < 13; i++) {
 | 
				
			||||||
                    if(BIT(inst_cream->inst, i)) {
 | 
					                    if (BIT(inst_cream->inst, i)) {
 | 
				
			||||||
                        Memory::Write32(addr, cpu->Reg[i]);
 | 
					                        Memory::Write32(addr, cpu->Reg[i]);
 | 
				
			||||||
                        addr += 4;
 | 
					                        addr += 4;
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                if (BIT(inst_cream->inst, 13)) {
 | 
					                if (BIT(inst_cream->inst, 13)) {
 | 
				
			||||||
                    if (cpu->Mode == USER32MODE) {
 | 
					                    if (cpu->Mode == USER32MODE)
 | 
				
			||||||
                        Memory::Write32(addr, cpu->Reg[i]);
 | 
					                        Memory::Write32(addr, cpu->Reg[i]);
 | 
				
			||||||
                        addr += 4;
 | 
					                    else
 | 
				
			||||||
                    } else {
 | 
					 | 
				
			||||||
                        Memory::Write32(addr, cpu->Reg_usr[0]);
 | 
					                        Memory::Write32(addr, cpu->Reg_usr[0]);
 | 
				
			||||||
                        addr += 4;
 | 
					
 | 
				
			||||||
                    }
 | 
					                    addr += 4;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                if (BIT(inst_cream->inst, 14)) {
 | 
					                if (BIT(inst_cream->inst, 14)) {
 | 
				
			||||||
                    if (cpu->Mode == USER32MODE) {
 | 
					                    if (cpu->Mode == USER32MODE)
 | 
				
			||||||
                        Memory::Write32(addr, cpu->Reg[i]);
 | 
					                        Memory::Write32(addr, cpu->Reg[i]);
 | 
				
			||||||
                        addr += 4;
 | 
					                    else
 | 
				
			||||||
                    } else {
 | 
					 | 
				
			||||||
                        Memory::Write32(addr, cpu->Reg_usr[1]);
 | 
					                        Memory::Write32(addr, cpu->Reg_usr[1]);
 | 
				
			||||||
                        addr += 4;
 | 
					
 | 
				
			||||||
                    }
 | 
					                    addr += 4;
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
                if (BIT(inst_cream->inst, 15)) {
 | 
					                if (BIT(inst_cream->inst, 15)) {
 | 
				
			||||||
                    Memory::Write32(addr, cpu->Reg_usr[1] + 8);
 | 
					                    Memory::Write32(addr, cpu->Reg_usr[1] + 8);
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                for( i = 0; i < 15; i++ ) {
 | 
					                for (i = 0; i < 15; i++) {
 | 
				
			||||||
                    if(BIT(inst_cream->inst, i)) {
 | 
					                    if (BIT(inst_cream->inst, i)) {
 | 
				
			||||||
                        if(i == Rn)
 | 
					                        if (i == Rn)
 | 
				
			||||||
                            Memory::Write32(addr, old_RN);
 | 
					                            Memory::Write32(addr, old_RN);
 | 
				
			||||||
                        else
 | 
					                        else
 | 
				
			||||||
                            Memory::Write32(addr, cpu->Reg[i]);
 | 
					                            Memory::Write32(addr, cpu->Reg[i]);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        addr += 4;
 | 
					                        addr += 4;
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                // Check PC reg
 | 
					                // Check PC reg
 | 
				
			||||||
                if(BIT(inst_cream->inst, i)) {
 | 
					                if (BIT(inst_cream->inst, 15))
 | 
				
			||||||
                    Memory::Write32(addr, cpu->Reg_usr[1] + 8);
 | 
					                    Memory::Write32(addr, cpu->Reg_usr[1] + 8);
 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        cpu->Reg[15] += GET_INST_SIZE(cpu);
 | 
					        cpu->Reg[15] += GET_INST_SIZE(cpu);
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user