АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

as31 - Онлайн в облаке

Запуск as31 в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда as31, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


as31 - ассемблер Intel 8031/8051

СИНТАКСИС


as31 [-h] [-l] [-s] [-v] [-Aarg] [-Ffmt] [-Ofile] infile.asm

ОПИСАНИЕ


As31 монтирует infile.asm в один из нескольких различных форматов вывода. Выход будет
в файле с именем infile.obj. Требуется расширение .asm.

ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ


Параметры должны отображаться перед именем входного файла. Оба варианта не обязательны. Текст
каждый флаг должен появляться в том же аргументе, что и флаг. Например, "-Fod" является допустимым
аргумент, но "-F od" нет.

-h Это заставляет ассемблер распечатать подробное сообщение с описанием его параметров.
Сообщение пишется в стандартную ошибку.

-l Эта опция указывает ассемблеру также создать файл листинга. Список будет
помещаем в файл infile.lst. Где infile - это собираемый файл.
Эта опция может находиться где угодно перед infile.asm. Вариант должен происходить изолированно
в командной строке.

Файл листинга показывает код, сгенерированный ассемблером, в шестнадцатеричном формате и до 60 символов.
сохраняются из исходного файла.

-s Это заставляет ассемблер записывать вывод в стандартный вывод.

-v Это заставляет ассемблер выводить номер версии на стандартный вывод.

-Аарг Эта опция определяет строку, специфичную для формата, которая передается в формат
генератор. Этот параметр используется как в формате «tdr», так и в формате srecord.

-Формат
Эта опция определяет используемый выходной формат.

В настоящее время для этого доступны только следующие варианты:

шестнадцатеричный. Этот формат является форматом Intel HEX, который ожидается несколькими EPROM.
программисты и отладчик PAULMON. Для использования с некоторыми программистами
расширение выходного файла, возможно, придется изменить на .HEX, чтобы его распознал
программист. Параметр -A не используется. Этот формат должен быть по умолчанию, если
опция -F не ​​используется.

tdr Этот формат генерирует asci-файл из шестнадцатеричных цифр, отформатированных таким образом, чтобы
что они могут быть прочитаны отладчиком tdr. Можно указать аргумент (см.
-A option), который передаст конкретную строку формата в генератор формата.
В этом случае строка аргумента представляет собой смещение, которое нужно добавить к
счетчик местоположения. Это смещение указывается в десятичном формате и по умолчанию
64 * 1024 (0x10000). Чтобы указать и смещение 100, вам понадобится "-Ftdr
-A100 "при вызове ассемблера.

byte Этот формат представляет собой просто адрес и байт в каждой строке в формате ascii. Нет -А
опция используется.

od Этот формат похож на вывод из od(1). Формат состоит из
адрес, за которым следуют шестнадцать шестнадцатеричных байтов, за которыми следует эквивалент
ASCII. Параметр -A не используется.

srec2, srec3, srec4
Генератор srecord может генерировать выходные данные с любым из 2, 3,
или 4-х байтовые адреса. Опцию -A можно использовать для установки базового адреса.
смещение, по умолчанию здесь 0x0000 (в отличие от TDR).

ПРИМЕЧАНИЕ. Этот ассемблер позволяет расширять выходные форматы для включения многих
разные форматы вывода.

-Офиле Эта опция указывает ассемблеру записывать вывод в файл.

СБОРНИК ИНСТРУКЦИЯ


Этот ассемблер принимает стандартные форматы инструкций 8031/8051. Ниже приведен список
инструкции и режимы адресации.

ЦИКЛЫ БАЙТОВ ИНСТРУКЦИИ
----------- ----- ------
ACALL адрес11 2 24
ДОБАВИТЬ A, # data8 2 12
ДОБАВИТЬ A, @Ri 1 12
ДОБАВИТЬ A, Rn 1 12
ДОБАВИТЬ A, прямой 2 12
ADDC A, # data8 2 12
АЦП А, @Ri 1 12
ДОБАВИТЬ А, Rn 1 12
ADDC A, прямой 2 12
Адрес AJMP 11 2 24
ANL A, # data8 2 12
АНЛ А, @Ri 1 12
АНЛ А, Рн 1 12
ANL A, прямой 2 12
ANL C, / бит 2 24
ANL C,! Бит 2 24
ANL C, бит 2 24
ANL прямой, # data8 3 24
ANL прямой, A 2 12
CJNE @Ri, # data8, rel 3 24
CJNE A, # data8, rel 3 24
CJNE A, прямой, отн.3 24
CJNE Rn, # data8, rel 3 24
КЛР А 1 12
КЛР С 1 12
CLR бит 2 12
CPL А 1 12
КПЛ С 1 12
CPL бит 2 12
ДА А 1 12
Дек @Ri 1 12
ДЕКАБРЬ A 1 12
Дек DPTR 1 12
ДЕК Rn 1 12
DEC прямой 2 12
РАЗДЕЛ АВ 1 48
DJNZ Rn, отн. 2 24
DJNZ прямой, отн.3 24
ИНК @Ri 1 12
ИНК А 1 12
ИНК ДПТР 1 24
МКП Рн 1 12
INC прямой 2 12
Бит JB, отн.3 24
Бит JBC, отн.3 24
JC родственник 2 24
СПМ @A + DPTR 1 24
СПМ @DPTR + А 1 24
Бит JNB, отн.3 24
JNC родственник 2 24
JNZ родственник 2 24
JZ родственник 2 24
LCALL адрес16 3 24
LJMP адрес16 3 24
MOV @Ri, # data8 2 12
МОВ @Ри, А 1 12
MOV @Ri, прямой 2 24
MOV A, # data8 2 12
МОВ А, @Ri 1 12
МОВ А, Рн 1 12
MOV A, прямой 2 12
MOV C, бит 2 12
MOV DPTR, # data16 3 24
MOV Rn, # data8 2 12
МОВ р-н, А 1 12
МОВ р-н, прямой 2 24
Бит MOV, C 2 24
MOV прямой, # data8 3 24
MOV прямой, @Ri 2 24
MOV прямой, A 2 12
МОВ прямой, р-н 2 24
MOV прямой, прямой 3 24
MOVC A, @A + DPTR 1 24
MOVC A, @A + ПК 1 24
МОВК А, @DPTR + А 1 24
МОВК А, @ПК + А 1 24
MOVX @DPTR, А 1 12
MOVX @Ri, А 1 24
MOVX А, @DPTR 1 24
ДВИГАТЕЛЬ А, @Ri 1 24
МУЛ АБ 1 48
НЕТ 1 12
ОРЛ А, # data8 2 12
ОРЛ А, @Ri 1 12
ОРЛ А, Рн 1 12
ОРЛ А, прямое 2 12
ORL C, / бит 2 24
ORL C,! Бит 2 24
ORL C, бит 2 24
ОРЛ прямой, # data8 3 24
ОРЛ прямое, А 2 12
POP прямой 2 24
НАЖМИТЕ прямой 2 24
РЕТ 1 24
РЭТИ 1 24
РЛ А 1 12
РЛК А 1 12
РР А 1 12
РКР А 1 12
НАБОР A 1 12
SETB бит 2 12
SJMP родственник 2 24
ПОДБ А, # data8 2 12
ПОДБА А, @Ri 1 12
ПОДБ А, К-1 12
ПОДБ А, прямой 2 12
СВОП А 1 12
XCH A, # data8 2 12
ХСН А, @Ri 1 12
ХСН А, Рн 1 12
XCH A, прямой 2 12
XCHD A, # data8 2 12
XCHD А, @Ri 1 12
ХЧД А, Рн 1 12
XCHD A, прямой 2 12
XRL A, # data8 2 12
СРЛ А, @Ri 1 12
СРЛ А, Рн 1 12
XRL A, прямой 2 12
XRL прямой, # data8 3 12
XRL прямой, A 2 12

СБОРНИК ДИРЕКТИВЫ


As31 включает следующие директивы ассемблера:

.ORG выражение
Начните сборку по адресу, указанному выражением expr. Произошла ошибка
если ассемблер начинает сборку в адресном пространстве, которое ранее было
собран в.

.EQU символ, выражение
Установите символ в значение expr. Значение expr должно быть известно во время первого
pass, когда встречается строка, содержащая .EQU.

.BYTE выражение, выражение, ...
Соберите байты, указанные в выражении, в память. Строка также может быть
указанный в этой директиве.

.WORD выражение, выражение, ...
Соберите в памяти слова, указанные в выражении. Порядок байтов
Используется, это тот, который используется в 8031.

.FLAG символ1, символ. [0-7]
Устанавливает symbol1 на битовый адрес, указанный в выражении symbol. [0-7]. Где
[0-7] обозначает символ от 0 до 7. Полученный битовый адрес проверяется на
посмотрите, является ли это допустимым битовым адресом.

.END Эта директива игнорируется.

.SKIP выражение
Добавляет значение expr к счетчику местоположения. Используется для резервирования блока
неинициализированные данные. Выражение должно быть в байтах.

ЛЕКСИЧЕСКИЙ КОНВЕНЦИИ


- Все символы, следующие за точкой с запятой, игнорируются, пока не встретится новая строка.

- По умолчанию все числа являются десятичными, если только число не начинается с одного из следующих:

0x или 0X
Это означает шестнадцатеричное число. т.е. 0x00ff

0b или 0B
Это указывает на двоичное число. (Комбинации 1 и 0). т.е. 0b1100110010

0 Это восьмеричное число. т.е. 0377

- По умолчанию все числа являются десятичными, если только число не оканчивается одним из следующих
персонажи:

b или B Это двоичное число. Если выше не использовался 0x. т.е. 1010101b

h или H Это всегда означает шестнадцатеричное число, однако если первый символ
нечисловой, тогда необходимо указать либо 0x, либо 0. Это позволяет избежать путаницы
ассемблер считает, что шестнадцатеричное число является символом. Например: 0ffh,
0xffh, 0XffH, 20h, 0x20 и 020h - это средства для указания действительной шестнадцатеричной цифры. Но
следующие не являются: ffh, 0ff.

d или D Это переводит число в десятичное. Если не использовался 0X. т.е. 129d

o или O Это означает, что число интерпретируется как восьмеричное. т.е. 377o

- Символьную константу можно ввести как 'c', где c - некоторый символ. \ b, \ n, \ r,
\ t, \ '\ 0 также действительны. Символьная константа может использоваться везде, где целое число
значение может.

- Строка вводится как набор символов, заключенных в двойные кавычки "". Строка
действует только с директивой .BYTE. \ b, \ n, \ r, \ t, \ "также являются допустимыми переходами.
Однако \ 0 - нет.

- Инструкции, директивы и символы: R0, R1, R2, R3, R4, R5, R6, R7, A, AB,
и C можно вводить в верхнем или нижнем регистре без путаницы с ассемблером. Эти
слова, однако, не могут быть определены как пользовательский символ. Может использоваться любой пользовательский символ, и
чехол будет сохранен. Таким образом, пользовательские символы «foo» и «Foo» разные, но
«addc» - это то же самое, что «aDdC».

- Символом может быть любой буквенно-цифровой символ плюс подчеркивание ('_').

- Выражения принимаются в большинстве мест, где требуется значение или символ. An
выражение состоит из следующих операторов. Все операторы превращаются в целое число
объекты (первыми указаны операторы с более высоким приоритетом):

- Унарный минус

& Побитовое И.

| Bit-Wise ИЛИ.

* Целочисленное умножение.

/ Целочисленное деление

% Целочисленный модуль

+ Целочисленное сложение.

- Целочисленное вычитание.

- В дополнение к этим операторам может использоваться специальный символ '*' для обозначения
счетчик текущего местоположения.

ПРИМЕРЫ


Ниже приведен пример программы сборки.

.org 0
начало: mov P3, # 0xff; использовать альтернативные fns на P3
; светодиоды на P1 перевернуты.
setb F0; забираясь наверх
mov A, # 0x01; начальный бит

напишите: cpl A; Напиши это
мов П1, А
компл А
задержка вызова
jb F0, набор высоты; в какую сторону лезть?

climbdn: rr A; вниз - сдвиг вправо
jnb ACC.0, напишите; назад для большего
установить F0
ajmp написать

набор высоты: rl A; вверх - сдвиг влево
jnb ACC.7, напишите; назад для большего
клр F0
ajmp написать
.конец ; эта директива игнорируется.

АВТОРЫ


Кен Штауффер (Университет Калгари)[электронная почта защищена]>
Мартин Лангер[электронная почта защищена]>

AS31(1)

Используйте as31 в Интернете с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

Команды Linux

Ad