С названием темы немного заплутал.
MIPS является товарным знаком MIPS Technologies. Но в данном контексте использовалось как аббревиатура.
MIPS - Microprocessor without Interlocked Pipeline Stages.
Более правильно: "Русский асм для MSP430"
MSP430 был выбран, так как он состоит всего из 33 команд! И такое небольшое число команд позволит отработать методику сокращения и выбрать общие слова для других ассемблеров.
АСМ - аз слово машинное.
Асм состоит из команд написанных кириллицей. Запоминателей, служебных слов, указов и меток.
Команды должны быть не длиннее 6 символов. Чем короче тем их легче запоминать и быстрее набирать.
Все команды должны быть в повелительной форме, родительном падеже.
Ассоциироваться, быть похожими на слова.
При образование слов при помощи сокращений использовать звуковую запись.
По возможности использовать слоговую запись.
Сокращения должны оканчиваться на согласную. (ГОСТ 23090-78)
Исключения:
1) Слова не должны заканчиваться на буквы 'З'. Так как её можно спутать с цифрой три.
2) А также для команд работающими с флагами нужно окончание на гласную. Это нужно для звуковой записи таких команд, как ОЧИН.
Далее идет черновик.
Версия 1 Вариант начальный.
Версия 2 Исправлены опечатки
Версия 3 Начата замена буквенных сокращений на слоговые.
Указ - группа команд и служебных слов заканчивающихся "КОН УКАЗ"
Служебные слова "УКАЗ" и "КОН УКАЗ"- служат для записи подпрограмм.
Макрокоманда - служит для записи макросов
Склад <- стек
Запоминатели<-Регистры
Ячейки<- регистры
Хранители<- регистры
Постоянные<-Константы
Запоминатели:
Имя | Происхождение | Заграничное имя | Расшифровка |
УКА | указатель команд | PC | Programm Counter |
УСА | указатель склада | SP | Stack Pointer |
ЯСУ | ячейка состояний условий | SR | Status Register |
ЯПО | ячейка постоянных | CG | Constant Generator |
Я4-Я15 | ячейка общего назначения | R4-R15 | Register General Purpose |
ЕЗУ - единичное запоминающее устройство. Синоним к словам: триггер и бит.
Слово флаг плохая аналогия для описания езу. Метафора это синоним слова аналогия.
Флаг можно снять, убрать и выставить. А вот очистить можно ячейку. А если очистить флаг, то он станет чистым, но останется установленным.
Поэтому предлагается следящая аналогия. Езу это ячейка размером в бит. В езу, также как и в ячейку можно загрузить и выгрузить данные. Выгрузить значит очистить ячейку. Убрать из неё всё лишнее.
Езу условных бит
Имя | Происхождение | Заграничное имя | Расшифровка | Примечание |
ПС | Перенос | C | Carry | |
ПЕ | Переполнение | OF | Overflow | В ясу такого езу нет. Но он нужен для умножения. |
З | Знак числа | S или N | Sigan или Negative | Negative - отрицательные. Иногда этот бит называют минус, для подчёркивания что 1 означает отрицательные значения |
Н | Ноль | Z | Zero |
Постоянные числовые
Сокращение | происхождение |
Б | битовые |
В | восьмеричные |
Д | десятичные |
Ш | шестнадцатеричные |
дву опрендные команды:
Команда | Происхождение | Заграничное имя | Расшифровка | |
ПРИС | присвоить | MOV | Сокращение от англ. move. Переводится как: двигать, передвигать, перемещать. | |
ДАТЬ | передать | MOV | Синоним к слову присвоить. Рекомендуется использовать при работе с "портами" (PORTS) | |
СЛОЖ | сложить | ADD | Назначение: сложение данных | |
СЛОЖ Я,Я,ПС | сложить плюс перенос | ADDC | Назначение:сложить данные после прибавить перенос | |
ВЫЧЕ | вычесть | SUB | Назначение: вычитание данных | |
ВЫЧЕ Я,Я,ПС | вычесть c переносом | SUBC | Назначение: вычесть данные затем вычесть перенос | |
СРАВ | сравнить | CMP | От анг. compare. | |
ДСЛО | десятично сложить | DADDD | ||
БИ | бит испытать | BIT | Получает бит от единичного запоминающего устройства | |
НОЛЬ в Я4.7 | ноль в бит 7 ячейки 4 | BIC | От англ. bit clear | |
ЕДЦУ в Я4.7 | единицу в бит 7 ячейки 4 | BIS | От англ. bit set | |
КСОР | ксорить | XOR | От анг. eXclusive OR | |
БУЛИ | Булевая операция И | AND | От анг. AND, перевод И |
одно опрендные команды:
Команда | Происхождение | Заграничное имя | Расшифровка | |
КВП Я, ПC | крутить вправо ячейку с переносом | RRC | ||
АСВП | арифметическое смещение вправо | RRA | ||
ЛОЖИ | положить | PUSH | От англ. push. Перевод заталкивать | |
ОБМЕ | обменять | SWAP | ||
ВЫП | выполнять | CALL | От англ. call. Перевод вызвать. | |
ВОЗ по МИГ | возвратиться после мигания | RETI | ||
РЗНАК | расширить знак числа | SXT | от англ. Sign Extend |
Составные(или эмулируемые) команды:
Команда | Происхождение | Заграничное имя | Расшифровка | |
СЛОЖ Я,ПС | сложить с переносом | ADC | ||
ПА | прыгуть по абсолютному адресу | BR | переход по абсолютному адресу | |
НОЛЬ в | внести ноль | CLR | От англ. Clear. Перевод: очищать, убирать | |
НОЛЬПС | внести ноль в переноса | CLRC | очистить ячейку переноса | |
НОЛЬЗ | поместить ноль в ячейку знака | CLRN | очистить ячейку знака в | |
НОЛЬН | нолик в ячейку нуля | CLRZ | очистить ячейку ноль | |
ДСЛОС | десятично сложи с переносом | DADC | ||
УМЕН | уменьшить | DEC | ||
УМЕНД | уменьшить два раза | DECD | Уменьшить на два | |
ОТМИГ | отменить мигать | DINT | ||
РАМИГ | разрешить мигать | EINT | ||
УВЕЛ | увеличить на единицу | INC | ||
УВЕЛД | увеличить на два | INCD | Прибавить два раза | |
ОБР | обратить | INV | Инвертировать | обратить - от слова оборотень |
ОТР | отрицать | NEG | ||
ВОЛ | вольно | NOP | Нет команды | |
БЕРИ | бери | POP | выталкивать | |
ВОЗ | возвратиться | RET | кончить выполнять | |
АСВЛ | арифметическое смещение влево | RLA | вращение влево арифметическое | |
КВЛ Я, ПС | крутить влево ячейку с переносом | RLC | вращать влево с переносом | |
ВЫЧЕ Я, ПС | вычесть из ячейки перенос | SBC | ||
УДЦУПС | загрузить еденицу в ячейку переноса | SETC | ||
ЕДЦУЗ | загрузить еденицу в ячейку знака | SETN | ||
ЕДЦУН | загрузить еденицу в ячейку нолика | SETZ | ||
ОПРОБ | опробовать | TST | От Англ. test |
Ветвления:
Команда | Дотошное имя | Происхождение | Заграничное имя | Расшифровка | |
ЕРП | ЕРПрыг | если равно, то прыгнуть | JEQ | Прыгнуть к метки если равно | |
ЕНП | ЕНПрыг | если ноль, то прыгнуть | JZ | Прыгнуть к метки если ноль | |
ЕНРП | ЕНеРПрыг | если не равно, то прыгнуть | JNE | прыгнуть к метки если неравно | |
ЕННП | ЕНеНПрыг | если не нолик, то прыгнуть | JNZ | Прыгнуть к метки если не ноль | |
ЕПСП | ЕПСПрыг | если перенос, то прыгнуть | JC | Прыгнуть к метки если есть перенос | |
ЕНПСП | ЕНеПСПрыг | если не перенос, то прыгнуть | JNC | Прыгнуть к метки, если нет переноса | |
ЕБРП | ЕБРаПрыг | если больше или равно, то прыгнуть | JGE | Прыгнуть к метке, если больше или равно | |
ЕМП | ЕМеПрыг | если меньше, то прыгнуть | JL | Прыгнуть к метке, если меньше | |
ПРЫГ | ПРЫГ | прыгнуть | JMP | От Англ. JAMP - прыгнуть. Смысл команды: прыгнуть к метке без каких либо условий |
адресные команды:
Команда | Происхождение | Заграничное имя | Расшифровка | |
АСЛО | адресно сложить | ADDA | ||
АПРИС | адресно присвоить | MOVA | ||
АСРАВНИ | адресно сравнить | CMPA | ||
АВЫЧЕ | адресно вычесть | SUBA |
Служебные слова:
Команда | Происхождение | Заграничное имя | Расшифровка | |
адрес | адрес | Addr | ||
смещение | смещение | Offset | ||
размер | размер | SizeOf | ||
бит | бит | bit | ||
Байт | Байт | Byte | ||
слово | слово | word | ||
даб | данные байт | db | ||
дас | данные слово | dw | ||
ОП16 | объявить постоянную 16 бит | DC16 | ||
Набор | Набор | Record, Structure | Запись, структура соответственно | |
ИСТОК | исток | ORG | От англ. ORIGIN начало | Слова источник, является синоним слова начало. |
УСТ | установить | EQU, = | От анг. Equality. Равенство, эквивалентность | |
ОПР | определить | define | ||
отсек | отсек | Segment | сегмент |
@ - адрес. Замена для #, используемого в оригинального асм
#SFB -
@НОТ - адрес начала отсека
#SFE
@КОТ - адрес конца отсека
Жду предложений и замечаний. И правки орфографических ошибок.
Отредактировано Павиа (05.02.2016 15:17:38)