Команды переходов

Команды переходов предназначены для ветвления вычислительного процесса.

Безусловный переход R – типа.

- jmp rA – передает управление по адресу в rA.

Безусловный переход I- типа.

- br Label – передает управление по адресу Label безусловно.

Условные переходы I- типа.

- blt rA, rB, Label (branch if less than) – передает управление по адресу Label, если rA < rB c учетом знаков.

- bltu rA, rB, Label – передает управление по адресу Label, если rA < rB (операнды без знаков).

- beg rA, rB, Label - передает управление по адресу Label, если rA = rB.

- bne rA, rB, Label - передает управление по адресу Label, если rA!= rB.

- bge rA, rB, Label - передает управление по адресу Label, если rA >= rB с учетом знаков.

- bgeu rA, rB, Label - передает управление по адресу Label, если rA >= rB (операнды без знаков).

- bgt rA, rB, Label - передает управление по адресу Label, если rA > rB с учетом знаков.

Псевдокоманда. Выполняется blt с заменой операндов в rA и rB.

- bgtu rA, rB, Label - передает управление по адресу Label, если rA > rB (операнды без знаков).

Псевдокоманда. Выполняется bltu с заменой операндов в rA и rB.

- ble rA, rB, Label - передает управление по адресу Label, если rA <= rB с учетом знаков.

Псевдокоманда. Выполняется bge с заменой операндов в rA и rB.

- bleu rA, rB, Label - передает управление по адресу Label, если rA <= rB (операнды без знаков).

Псевдокоманда. Выполняется bgeu с заменой операндов в rA и rB.

Команды вызова подпрограммы и возврата из неё

Команда вызова подпрограммы J – типа.

· call Label - Вначале сохраняет адрес следующей команды в r31, а затем выполняет переход. Адрес перехода = PC31-28:IMMED27:00.

Команда вызова подпрограмм R – типа.

· callr rA - Вначале сохраняет адрес следующей команды в r31, а затем выполняет переход по адресу в rA.

Команда возврата из подпрограммы.

· ret - Выполняет переход по адресу, содержащемуся в r31.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: