Как бы я кодировал этот конкретный оператор MIPS в C? - PullRequest
0 голосов
/ 15 мая 2019

Я создаю эмулятор MIPS с использованием C и пытаюсь создать метод для BEQ и BNE, однако действия меня смущают.Ниже приведены действия, которые выполняются в MIPS, а также то, как я их интерпретировал, что, по-видимому, неверно.

BEQ if (rs == rt) pc + = смещение * 4

//beq
            else if(opCodeType == 4)
            {
                if(registers[rsVariable] = registers[rtVariable])
                {
                    pc = pc + offset*4;
                }
            } 

BNE if (rs! = Rt) pc + = смещение * 4

//bne 
            else if(opCodeType == 5)
            {
                if(registers[rsVariable] != registers[rtVariable])
                {
                    pc = pc + offset*4;
                }
            } 

Вся помощь очень ценится, так как это последний кусок головоломки!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...