Skip to content
This repository has been archived by the owner on Nov 12, 2024. It is now read-only.
Alex edited this page Dec 6, 2018 · 1 revision

Welcome to the kedah-mips-as wiki!

Kedah MIPS ассемблер Программа ассемблирует файл инструкций процессора MIPS в двоичный образ памяти.

Синтаксис вызова: mi [ключи] <имя файла>[.mi] [<имя выходного файла>[.bin|.txt|.hex]]

Ключи:

-t предписывает формировать вместо двоичного образа памяти его текстовый листинг.
-x выводить в листинг только адреса и шестнадцатиричные значения слов (только для загрузки). При этом листинг имеет расширение .hex
-p <адрес> задает адрес загрузки (по умолчанию 0).
-8 означает то же, что -p 0x80000000
-r означает то же, что -p 0xBFC00000  (адрес reset)
-s  - не выводить предупреждений

Синтаксис ассемблера практически отсутствует (см. образцы файлов .mi )

Понимает метки (в командах джампов и бранчей), числа в разных системах исчисления, псевдоинструкции .word и .dword Можно использовать метки переменных в командах обращения к памяти и псевдоинструкцию .base <метка базирования>. Можно также использовать метки (вместо чисел) в псевдоинструкции .word; при этом метки не должны совпадать с именами инструкций. Можно определять константы (т.е. макросы без параметров), через знак равенства. Разрешаются также арифметические выражения с метками, в том числе в непосредственных операндах инструкций.

Понимает псевдоинструкции .ascii и .asciiz, при этом допускаются любые строки, допустимые в Perl. Длины строк выравниваются до 4 байтов. Понимает псевдоинструкцию .org (которая, однако, в ассемблере SDE называется иначе). Понимает псевдоинструкцию .align (кроме .align 0). Пустоты, вызванные .org и .align заполняются нулями в .bin, но не заполняются в .txt и .hex Для инструкций сложения с непосредственным операндом можно опускать регистр источника.

Изображение чисел в системах исчисления: (числа только положительные) двоичной: 0b01010101 или 01010101b восьмеричной: должно начинаться с нуля (только в операндах инструкций) шестнадцатиричной: 0x1234ABCD или 1234ABCDh

Clone this wiki locally