-
Notifications
You must be signed in to change notification settings - Fork 0
Home
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