Следующее все для MIPS-32.
Команды
Branch B, BEQ, BNE, etc.
имеют 16-битное поле со смещением word Signed со знаком, позволяющее перейти на адрес +/- 128kBytes из текущего местоположения. Команда перехода J
указывает адрес в текущей области размером 256 МБ, заданной старшими 4 битами ПК: 26 << 2 бита (это <strong>не относительный адрес). Чтобы перейти к произвольному адресу в любом месте адресного пространства 4 ГБ, используйте JR
(регистр перехода), который переходит на адрес, содержащийся в регистре общего назначения.
Для перехода к произвольному адресу требуется либо одна ветвь, либо инструкция перехода, либо загрузка регистра, за которой следует JR
, в зависимости от того, как далеко находится адрес.
Лучшая книга для программирования MIPS по-прежнему См. MIPS Run . Справочные руководства по архитектуре MIPS также можно найти по адресу mips.com (требуется регистрация). Наиболее актуальным документом является Архитектура MIPS32® для программистов, том II: Набор инструкций MIPS32® .