PC-01 Lviv http://pc01.lviv.ua/forum/ |
|
Ассемблеры http://pc01.lviv.ua/forum/viewtopic.php?f=20&t=146 |
Page 1 of 2 |
Author: | sas9568635 [ 25 May 2012, 22:57 ] |
Post subject: | Ассемблеры |
Вот начал писать ассемблер…, под свой дизассемблер. Почитал и сделал вырезки из книги С.Н.Текотев «ОТ БЕЙСИКА К АССЕМБЛЕРУ» Начал писать основываясь на ней. Есть какие-то мысли по этому поводу? Может лучше от другой книги отталкиваться ? Какой ? Где скачать? Понял что многое реализовать не стоит да и заморочливо. Например нужно ли делать Вот это … Quote: H, h, $ - 16-ричная система,
…Если можно для шестнадцатиричной системы использовать только «$» в начале числа, а для десятичной вообще без спецификатора… (идет расчет на то, чтобы поменьше по клавиатуре бахкать, во время набирания систем исчисления).@ (отсутствие спецификатора) - десятичная система, B, b, % - двоичная система. Если число в 16-ричной системе начинается с буквы, слева от нее должен быть дописан 0 (при спецификаторе H). Стоит ли делать "понимание" двоичной системы исчисления ? Quote: %include f1.asm - помощью данной команды в исходный текст будет вставлен текст из файла f1.asm.
Это вроде тоже не стоит делать, так как гараздо лучше и проще при наших то современных текстовых редакторах (да и маленькой памяти Львова) все в одни файл «собрать до кучи» и единым файлом компилировать…Quote: Директивы
Тоже сомневаюсь что такие размахи нужны для маленькой памяти Львова…end - определяет логический конец программы, все записанное после нее не будет восприниматься транслятором, seg - определяет начало новой секции ..... И самое главное: Нужно ли делать чтобы компилятор понимал одинаково вот такое: Quote: MOV A, B
Наверное все таки нужна жесткость для написания команд. Чтобы развивалась культура в их написании..MOVA,B MOV A , B MOV A B MOVAB MOV AB MOVA B И еще как-то там… У кого будут какие предложения и пожелания… |
Author: | sas9568635 [ 26 May 2012, 08:25 ] |
Post subject: | |
Что-то глухо с пожеланиями... видимо не очень то он кому-то нада... Называеться напиши как напишешь ... для себя и забудь... |
Author: | liberation [ 27 May 2012, 10:00 ] |
Post subject: | |
Quote: Что-то глухо с пожеланиями...
В разработке можно ориентироваться на описание Макроассемблера от Microsoft для CP/M80 (раздел " 2.2. Макроассемблер - MAC"). Вещь была действительно стоящей для кодинга.
|
Author: | sadfsdfsdaf [ 04 Jun 2012, 00:48 ] |
Post subject: | Re: Ассемблеры |
пожелания? так вопросы не слишком серьёзные. я не вижу проблемы реализовать сразу всё, что упоминалось (системы счисления, форматирование и т.п.). вопрос в целевом применении - старые трансляторы (из cpm) доступны (сейчас они могут быть нужны по соображениям совместимости, если у кого старые листинги остались), новые (для своих нужд) - они пишутся за пару часов, пример: берём отсюда http://www.mmnt.net/db/0/0/filer.cg.ukr ... ming/Forth книгу Баранова и Ноздрунова "Язык Форт и его реализации" ftp://filer.cg.ukrtel.net/DoC/programmi ... -1988.djvu страница 124 Реального кода - пара экранов текста. Из теории могу посоветовать вот эту книгу: http://linker.iecc.com/ P.S. если кому M80 нужен http://www.s100computers.com/Software%2 ... ection.htm из современного - поддержка в gcc (binutils) должна быть. так что - компилятор должен быть в чём-то "особенным". |
Author: | sas9568635 [ 04 Jun 2012, 22:01 ] |
Post subject: | Re: Ассемблеры |
http://sas.forumbb.ru/viewtopic.php?id=286 Новые версии Дизассемблера и Ассемблера (в одном архиве "DisasmLV1_4 & AsmLV1_0b.7z"). Прошу любить и жаловать… В ассемблере пока не реализовано «понимание меток». В окончательной версии программы конечно это будет реализовано. Также окончательные версии Дизассемблера и ассемблера будет реализованы в трех видах: обычный(как сейчас), Консольный (Console) и Графический пользовательский интерфейс (GUI) |
Author: | sas9568635 [ 04 Jun 2012, 22:02 ] |
Post subject: | Re: Ассемблеры |
Quote: так что - компилятор должен быть в чём-то "особенным".
Незачем. У меня более грандиозные цели см.тему DprToLvt (PasToLvt) http://lvovpc.ho.ua/forum/viewtopic.php?f=4&t=153#p1663
|
Author: | sadfsdfsdaf [ 05 Jun 2012, 00:07 ] |
Post subject: | Re: Ассемблеры |
Quote: Quote: так что - компилятор должен быть в чём-то "особенным".
Незачем. У меня более грандиозные цели см.тему DprToLvt (PasToLvt) http://lvovpc.ho.ua/forum/viewtopic.php?f=4&t=153#p1663 |
Author: | liberation [ 05 Jun 2012, 00:19 ] |
Post subject: | Re: Ассемблеры |
Quote: промежуточное текстовое представление? ну, не вопрос, а почему не SSA ? почему не триады ? кстати, будет ли реализован "супероптимизатор" ? ещё было бы неплохо добавить монады и ленивые вычисления....
Запахло то ли Лиспом, то ли вообще Хаскеллом... Не слишком ли это для ПК-01? Хотя бы теоретически это возможно реализовать на столь скромном железе?
|
Author: | sadfsdfsdaf [ 05 Jun 2012, 00:44 ] |
Post subject: | Re: Ассемблеры |
Quote: Запахло то ли Лиспом, то ли вообще Хаскеллом... Не слишком ли это для ПК-01? Хотя бы теоретически это возможно реализовать на столь скромном железе?
Теоретически как раз легко, тем более, что уже было в разное время реализовано: http://www.artinfo-musinfo.org/en/issues/vlisp/8en.html
|
Author: | sas9568635 [ 05 Jun 2012, 09:55 ] |
Post subject: | Re: Ассемблеры |
Quote: промежуточное текстовое представление? ну, не вопрос, а почему не SSA ? почему не триады ? кстати, будет ли реализован "супероптимизатор" ? ещё было бы неплохо добавить монады и ленивые вычисления....
???!!! Извените, но я что-то очень слабо понимаю написанное...мне незнакомы термины "SSA", "не триады", "Superoptimization","монады", "ленивые вычисления"... я конечно смотрел в Вики, но все равно очень плохо понял что это такое "SSA", "не триады", "монады", "Superoptimization" - это описание вообще на англ., я слабо знаю англ.... |
Author: | sas9568635 [ 05 Jun 2012, 09:59 ] |
Post subject: | Re: Ассемблеры |
Quote: Запахло то ли Лиспом, то ли вообще Хаскеллом... Не слишком ли это для ПК-01? Хотя бы теоретически это возможно реализовать на столь скромном железе?
???!!! Мне незнакомо... "Лиспом" "Хаскеллом"...
|
Author: | sas9568635 [ 05 Jun 2012, 18:05 ] |
Post subject: | Re: Ассемблеры |
b2m, вопрос: а первый столбец который «строка» это он равен (кол-ву команд) текущей команде?... Или он равен номеру строки исходного асм-файла? Если он равен строке исходного асм-файла, то как быть с «пустыми строками» типа ВВОД, ВВОД, ВВОД и как быть со строками с комментариями (1-й символ = «;»), а также мой асм задумывался что может понимать несколько команд в строке подобно = «XRA A OUT $C2 LXI D, $8BC0 LHLD $8040 MVI B, $10» (правда сейчас он почему-то это не понимает, а должен бы понимать.., но задумка такая была… Как с этим быть? |
Author: | b2m [ 05 Jun 2012, 23:12 ] |
Post subject: | Re: Ассемблеры |
Quote: Или он равен номеру строки исходного асм-файла?
Да, номер строки исходного асм-файла.Quote: Если он равен строке исходного асм-файла, то как быть с «пустыми строками» типа ВВОД, ВВОД, ВВОД и как быть со строками с комментариями (1-й символ = «;»)
Так-же как и с непустыми, т.е. нумеровать дальше. На самом деле этот номер не используется эмулятором. Но это общепринятый формат листинга.Quote: также мой асм задумывался что может понимать несколько команд в строке подобно = «XRA A OUT $C2 LXI D, $8BC0 LHLD $8040 MVI B, $10» (правда сейчас он почему-то это не понимает, а должен бы понимать.., но задумка такая была…
Очень просто - выдавать в качестве кодов коды всех команд подряд, а строка исходного файла так и останется, как была.
Как с этим быть? |
Author: | b2m [ 05 Jun 2012, 23:28 ] |
Post subject: | Re: Ассемблеры |
Quote: Дак если метки пока не реализованы... то без меток прямые адреса можно? Иль это только когда метки реализую..
То, что стоит после кодов - это строка исходного файла, что там написано, то и будет отображаться. Любой текст.Quote: слушай, а может сделать так, чтобы асм "заганял" ассемлируемую прогу в твой EMU-формат, но не запускал
Что-то как-то сложно. Хотя я ничего не имею против. Берёшь в качестве шаблона записанный эмулятором файл, и изменяешь нужные байты памяти. Другое дело, что смещение может измениться, если изменить конфиг. Там в .emu весь обработанный конфиг хранится, плюс состояние компонентов конфига.Quote: Ну и ... что я вижу, ожидает открытие какого файла?... пришет "Attach listing file"... где его взять если я его и в глаза не видел.
Дык это тот самый листинг, который должен выдать твой ассемблер!!!Quote: А это точно что этот листинг нужно прикричивать имеенно к асм, а не дизасм?
Ну, вообще-то, обычно ассемблер генерирует листинг. В нём ведь должны быть строки из исходного файла.
|
Author: | liberation [ 06 Jun 2012, 08:42 ] |
Post subject: | Re: Ассемблеры |
Quote: Какие должны быть разделители? (сколько пробоелов между этим всеми столбцами, должно ли быть выравнивание столбцов)? ДО КОГДА ЭТО НАДО СДЕЛАТЬ?
У нас на форуме тусит многоуважаемый Tim0xA, как раз вчера он спрашивал про сохранившиеся у нас рекомпиляции MSX'ских игр для ПК-01. Я нашел их и подготовил архив, который можно скачать из файлового хранилища. Там присутствуют файлы исходников (выглядят как-то так: BomberMan-src, CanBall-src), которые можно посмотреть на предмет того, как оформляется листинг. Еще на сайте Tim0xA выложены исходники игры Boulder Dash, версия Андрея Лебедева, которые тоже можно посмотреть.
|
Page 1 of 2 | All times are UTC+03:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |