Система команд процессора MIPS R3000 игровой приставки SONY PLAYSTATION
1.5. Система команд процессора MIPS R3000 игровой приставки SONY PLAYSTATION
Команда Запись на языке ассемблера Описание
ADD ADD rd, rs, rt Сложение rd = rs + rt ADDI ADDI rt, rs, imm Сложение с константой rt = rs + imm ADDIU ADDIU rt, rs, imm Сложение с константой без учета знака ADDU ADDU rd, rs, rt Сложение без учета знако rd = rs + rt AND AND rd, rs, rt Логическое И rd = rs & rt ANDI ANDI rt, rs, imm Логическое И с константой rt = rs & imm BEQ BEQ rt, rs, disp Переход, если rt = rs BGEZ BGEZ rt, disp Переход, если rt≥ 0 BGEZAL BGEZAL rt, disp Переход, если rt ≥ 0 с запоминанием адреса возврата в регистре 31 BGTZ BGTZ rt, disp Переход, если rt > 0 BLEZ BLEZ rt, disp Переход, если rt ≤ 0 BLTZ BLTZ rt, disp Переход, если rt BLTZAL BLTZAL rt, disp Переход, если rt BNE BNE rs, rt, disp Переход, если rs не равно rt BREAK BREAK Генерация исключения «точка прерывания» CFC2 CFC2 rs,c2c Копирование данных из управляющего регистра с2с сопроцессора графических вычислений (GTE) в регистр rs центрального процессора COP2 COP2 <b25> Обращение к сопроцессору 2 (GTE). Код команды сопроцессора определяется 25-разрядным двоичным числом b25 CTC2 CTC2 rs,c2c Копирование данных из регистра rs в управляющий регистр с2с сопроцессора графических вычислений (GTE) DIV DIV rs, rt Деление rs на rt. Частное помещается в регистр LO, остаток - в регистр HI DIVU DIVU rs, rt Деление rs на rt без учета знака. Частное помещается в регистр LO, остаток - в регистр HI J J addr Переход по указанному адресу JAL JAL addr Переход по указанному адресу и сохранение адреса возврата в регистре 31 JALR JALR rd,rs Переход по адресу из регистра rs и сохранение адреса возврата в регистре rd. Если регистр rd не указан, используется регистр 31 JR JR rs Переход по адресу из регистра rs LB LB rt, disp(base) Загрузка байта из ячейки памяти с адресом base+disp в регистр rt с расширением знакового бита LBU LBU rt, disp(base) Загрузка байта из ячейки памяти с адресом base+disp в регистр rt без расширения знакового бита LH LH rt, disp(base) Загрузка полуслова, расположенного по адресу base+disp, в регистр rt с расширением знакового бита LHU LHU rt, disp(base) Загрузка полуслова, расположенного по адресу base+disp, в регистр rt с расширением знакового бита LUI LUI rt, imm Загрузка константы в старшие 16 разрядов регистра rt LW LW rt, disp(base) Загрузка слава, расположенного па адресу base+disp, в регистр rt LWC2 LWC2 c2d, disp(base) Загрузка полуслова, расположенного по адресу base+disp, в регистр данных c2d сопроцессора графических вычислений (GTE) LWL LWL rt, disp(base) Загрузка слово, расположенного слева от адреса base+disp, в регистр rt без учета выравнивания LWR LWR rt, disp(base) Загрузка слова, расположенного справа от адреса base+disp, в регистр rt без учета выравнивания MFC0 MFCO rt, cOr Копирование данных из регистра с0r сопроцессора управления системой в регистр rt процессора MFC2 MFC2 rt,c2d Копирование данных из регистра данных c2d сопроцессора графических вычислений в регистр rt процессора MFHI MFHI rd Копирование данных из регистра HI в регистр rd MFLO MFLO rd Копирование данных из регистра LO в регистр rd MFC0 MTCO rd,c0r Копирование данных из регистра rt процессора в регистр с0r сопроцессора управления системой MFC2 MTC2 rd,c2d Копирование данных из регистра rt процессора в регистр данных c2d сопроцессора графических вычислений MTHI MTHI rd Копирование данных из регистра rd в регистр НI MTLO MTLO rd Копирование данных из регистра rd в регистр LO MULT MULT rs, rt Умножение rs на rt, результат в регистрах HI и LO MULTU MULTU rs, rt Умножение rs на rt без учета знака, результат в регистрах HI и LO OR OR rd, rs, rt Логическое ИЛИ rd = rs | rt ORI ORI rd, rs, imm Логическое ИЛИ с константой rd = rs | imm RFE RFE Разрешение прерываний и восстановление привилегий приложения SB SB rt, disp (base) Сохранение младшего байта из регистра rt в ячейке памяти с адресом base+disp SH SH rt, disp (bose) Сохранение полуслова (младшие 16 разрядов} из регистра rt в ячейке памяти с адресом base+disp SLL SLL rd, rt, sb Логический сдвиг влево регистра rt на sb разрядов, результат помещается в регистр rd SLLV SLLV rd,rt,rs Логический сдвиг влево регистре rt но rs разрядов, результат помещается в регистр rd SLT STL rd,rs,rt Сравнение rs и rt. Результат в rd SLTI SLTI rt, rs, imm Сравнение с константой SLTIU SLTIU rt, rs, imm Сравнение с константой без учета знака SLTU SLTIU rd,rt,rs Сравнение без учета знака SRA SRA rd,rt,sb Логический сдвиг влево регистра rt на sb разрядов, результат помещается в регистр rd SRAV SRAV rd, rt, rs Логический сдвиг влево регистра rt на rs разрядов, результат помещается в регистр rd SRL SRL rd, rt, sb Логический сдвиг влево регистра rt на sb разрядов, результат помещается в регистр rd SRLV SRIV rd,rt,rs Логический сдвиг влево регистра rt на rs разрядов, результат помещается в регистр rd SUB SUB rd,rt,re Вычитание rd = rt - rs SUBI SUBI rt, rs, imm Вычитание константы SUBIU SUBIU rt, rs,imm Вычитание константы без учета знака SUBU SUBU rd,rt,rs Вычитание без учета знака SW SW rt,disp(base) Сохранение слова из регистра rt в ячейке памяти с адресом base+disp SWC2 SWC2 c2d,disp(base) Сохранение слова из регистра данных сопроцессора графических вычислений c2d в ячейке памяти с адресом base+disp SWL SWL rt, disp(base) Сохранение слова из регистра rt в ячейках памяти, расположенных слева от адреса base+disp, без учета выравнивания SWR SWR rt, disp(base) Сохранение слова из регистра rt в ячейках памяти, расположенных справа от адреса base+disp, без учета выравнивания SYSCALL SYSCALL <b20> Вызов функции операционной системы. Номер функции определяется значением в 20-разрядном поле b20 XOR XOR rd,rs,rt Исключающее ИЛИ XORI XORI rs, rt, imm Исключающее ИЛИ с константой
Условные обозначения: rd, rs, rt - регистры центрального процессора imm - 16-разрядная константа base - базовый адрес в памяти disp - 16-разрядное смещение с0r - регистр сопроцессора управления системой с2с - регистр управления-сопроцессора графических вычислений c2d - регистр данных сопроцессора графических вычислений sb - счетчик разрядов в операции сдвига (от 1 до 32) Ь20, Ь25 - битовые поля, определяющие код операции сопроцессора
1261 Прочтений • [Система команд процессора MIPS R3000 игровой приставки SONY PLAYSTATION] [19.05.2012] [Комментариев: 0]