cpu
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| cpu [2026/07/17 11:34] – gecko | cpu [2026/07/17 12:48] (текущий) – gecko | ||
|---|---|---|---|
| Строка 86: | Строка 86: | ||
| * jalr $r - безусловный переход по переменному адресу с сохранением адреса возврата в $31 | * jalr $r - безусловный переход по переменному адресу с сохранением адреса возврата в $31 | ||
| * jalr $r, $a - двухадресная форма jalr. Позволяет задать регистр для сохранения адреса возврата | * jalr $r, $a - двухадресная форма jalr. Позволяет задать регистр для сохранения адреса возврата | ||
| + | |||
| + | **Условный переход (ветвление): | ||
| + | * beq $r, $a, imm - переход по константному адресу при равенстве операндов | ||
| + | * bne $r, $a, imm - переход по константному адресу при неравенстве операндов | ||
| + | * bgez $r, imm - переход по константному адресу, | ||
| + | * bltz $r, imm - переход по константному адресу, | ||
| + | * bgezal $r, imm - переход по константному адресу, | ||
| + | * bltzal $r, imm - переход по константному адресу, | ||
| + | |||
| + | **Псевдоинструкции: | ||
| + | |||
| + | * li $r, imm - загружает 32-битную константу. Если значение длиннее 16 бит, инструкция транслируется в lui и ori. Если значение умещается в 16 бит и не имеет знака, транслируется в ori. Если значение умещается в 16 бит и имеет знак, транслируется в addiu с нулевым первым операндом | ||
| + | * nop - то же самое, что sll $0, $0, 0 (такой вариант удобен тем, что в машинном коде выглядит как 0x00000000). Инструкция-филлер, | ||
cpu.1784288063.txt.gz · Последнее изменение: — gecko
