PC-01 Lviv

It is currently 28 Mar 2024, 14:27

Forum Games WEB Tape Loader Twitter RSS

All times are UTC+03:00




Post new topic  Reply to topic  [ 29 posts ]  Go to page 1 2 Next
Author Message
 Post subject: Ассемблеры
PostPosted: 25 May 2012, 22:57 
Offline

Joined: 20 Apr 2012, 16:00
Posts: 372
Location: Конотоп
Вот начал писать ассемблер…,
под свой дизассемблер. :-)
Почитал и сделал вырезки из книги С.Н.Текотев «ОТ БЕЙСИКА К АССЕМБЛЕРУ»
Начал писать основываясь на ней. Есть какие-то мысли по этому поводу? Может лучше от другой книги отталкиваться ? Какой ? Где скачать?

Понял что многое реализовать не стоит да и заморочливо. Например нужно ли делать
Вот это …
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
И еще как-то там…
Наверное все таки нужна жесткость для написания команд. Чтобы развивалась культура в их написании..
У кого будут какие предложения и пожелания…


Top
   
 Post subject:
PostPosted: 26 May 2012, 08:25 
Offline

Joined: 20 Apr 2012, 16:00
Posts: 372
Location: Конотоп
Что-то глухо с пожеланиями... видимо не очень то он кому-то нада...
Называеться напиши как напишешь ... для себя и забудь...


Top
   
 Post subject:
PostPosted: 27 May 2012, 10:00 
Offline
User avatar

Joined: 11 Aug 2008, 17:05
Posts: 1405
Location: Украина
Quote:
Что-то глухо с пожеланиями...
В разработке можно ориентироваться на описание Макроассемблера от Microsoft для CP/M80 (раздел " 2.2. Макроассемблер - MAC"). Вещь была действительно стоящей для кодинга. :)

_________________
Carthago delenda est, Carthaginem delendam esse


Top
   
 Post subject: Re: Ассемблеры
PostPosted: 04 Jun 2012, 00:48 
Offline

Joined: 07 Dec 2010, 16:54
Posts: 227
пожелания? так вопросы не слишком серьёзные. я не вижу проблемы реализовать сразу всё, что упоминалось (системы счисления, форматирование и т.п.). вопрос в целевом применении - старые трансляторы (из 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) должна быть.

так что - компилятор должен быть в чём-то "особенным".


Top
   
 Post subject: Re: Ассемблеры
PostPosted: 04 Jun 2012, 22:01 
Offline

Joined: 20 Apr 2012, 16:00
Posts: 372
Location: Конотоп
http://sas.forumbb.ru/viewtopic.php?id=286
Новые версии Дизассемблера и Ассемблера (в одном архиве "DisasmLV1_4 & AsmLV1_0b.7z").
Прошу любить и жаловать… :-)
В ассемблере пока не реализовано «понимание меток». В окончательной версии программы конечно это будет реализовано.
Также окончательные версии Дизассемблера и ассемблера будет реализованы в трех видах: обычный(как сейчас), Консольный (Console) и Графический пользовательский интерфейс (GUI)


Top
   
 Post subject: Re: Ассемблеры
PostPosted: 04 Jun 2012, 22:02 
Offline

Joined: 20 Apr 2012, 16:00
Posts: 372
Location: Конотоп
Quote:
так что - компилятор должен быть в чём-то "особенным".
Незачем. У меня более грандиозные цели см.тему DprToLvt (PasToLvt) http://lvovpc.ho.ua/forum/viewtopic.php?f=4&t=153#p1663


Top
   
 Post subject: Re: Ассемблеры
PostPosted: 05 Jun 2012, 00:07 
Offline

Joined: 07 Dec 2010, 16:54
Posts: 227
Quote:
Quote:
так что - компилятор должен быть в чём-то "особенным".
Незачем. У меня более грандиозные цели см.тему DprToLvt (PasToLvt) http://lvovpc.ho.ua/forum/viewtopic.php?f=4&t=153#p1663
промежуточное текстовое представление? ну, не вопрос, а почему не SSA ? почему не триады ? кстати, будет ли реализован "супероптимизатор" ? ещё было бы неплохо добавить монады и ленивые вычисления....


Top
   
 Post subject: Re: Ассемблеры
PostPosted: 05 Jun 2012, 00:19 
Offline
User avatar

Joined: 11 Aug 2008, 17:05
Posts: 1405
Location: Украина
Quote:
промежуточное текстовое представление? ну, не вопрос, а почему не SSA ? почему не триады ? кстати, будет ли реализован "супероптимизатор" ? ещё было бы неплохо добавить монады и ленивые вычисления....
Запахло то ли Лиспом, то ли вообще Хаскеллом... Не слишком ли это для ПК-01? Хотя бы теоретически это возможно реализовать на столь скромном железе?

_________________
Carthago delenda est, Carthaginem delendam esse


Top
   
 Post subject: Re: Ассемблеры
PostPosted: 05 Jun 2012, 00:44 
Offline

Joined: 07 Dec 2010, 16:54
Posts: 227
Quote:
Запахло то ли Лиспом, то ли вообще Хаскеллом... Не слишком ли это для ПК-01? Хотя бы теоретически это возможно реализовать на столь скромном железе?
Теоретически как раз легко, тем более, что уже было в разное время реализовано: http://www.artinfo-musinfo.org/en/issues/vlisp/8en.html


Top
   
 Post subject: Re: Ассемблеры
PostPosted: 05 Jun 2012, 09:55 
Offline

Joined: 20 Apr 2012, 16:00
Posts: 372
Location: Конотоп
Quote:
промежуточное текстовое представление? ну, не вопрос, а почему не SSA ? почему не триады ? кстати, будет ли реализован "супероптимизатор" ? ещё было бы неплохо добавить монады и ленивые вычисления....
???!!! Извените, но я что-то очень слабо понимаю написанное...
мне незнакомы термины "SSA", "не триады", "Superoptimization","монады", "ленивые вычисления"...
я конечно смотрел в Вики, но все равно очень плохо понял что это такое "SSA", "не триады", "монады", "Superoptimization" - это описание вообще на англ., я слабо знаю англ....


Top
   
 Post subject: Re: Ассемблеры
PostPosted: 05 Jun 2012, 09:59 
Offline

Joined: 20 Apr 2012, 16:00
Posts: 372
Location: Конотоп
Quote:
Запахло то ли Лиспом, то ли вообще Хаскеллом... Не слишком ли это для ПК-01? Хотя бы теоретически это возможно реализовать на столь скромном железе?
???!!! Мне незнакомо... "Лиспом" "Хаскеллом"...


Top
   
 Post subject: Re: Ассемблеры
PostPosted: 05 Jun 2012, 18:05 
Offline

Joined: 20 Apr 2012, 16:00
Posts: 372
Location: Конотоп
b2m, вопрос: а первый столбец который «строка» это он равен (кол-ву команд) текущей команде?...
Или он равен номеру строки исходного асм-файла?
Если он равен строке исходного асм-файла, то как быть с «пустыми строками» типа ВВОД, ВВОД, ВВОД и как быть со строками с комментариями (1-й символ = «;»), а также мой асм задумывался что может понимать несколько команд в строке подобно = «XRA A OUT $C2 LXI D, $8BC0 LHLD $8040 MVI B, $10» (правда сейчас он почему-то это не понимает, а должен бы понимать..:-), но задумка такая была…
Как с этим быть?


Top
   
 Post subject: Re: Ассемблеры
PostPosted: 05 Jun 2012, 23:12 
Offline

Joined: 29 Mar 2012, 21:35
Posts: 115
Quote:
Или он равен номеру строки исходного асм-файла?
Да, номер строки исходного асм-файла.
Quote:
Если он равен строке исходного асм-файла, то как быть с «пустыми строками» типа ВВОД, ВВОД, ВВОД и как быть со строками с комментариями (1-й символ = «;»)
Так-же как и с непустыми, т.е. нумеровать дальше. На самом деле этот номер не используется эмулятором. Но это общепринятый формат листинга.
Quote:
также мой асм задумывался что может понимать несколько команд в строке подобно = «XRA A OUT $C2 LXI D, $8BC0 LHLD $8040 MVI B, $10» (правда сейчас он почему-то это не понимает, а должен бы понимать..:-), но задумка такая была…
Как с этим быть?
Очень просто - выдавать в качестве кодов коды всех команд подряд, а строка исходного файла так и останется, как была.


Top
   
 Post subject: Re: Ассемблеры
PostPosted: 05 Jun 2012, 23:28 
Offline

Joined: 29 Mar 2012, 21:35
Posts: 115
Quote:
Дак если метки пока не реализованы... то без меток прямые адреса можно? Иль это только когда метки реализую..
То, что стоит после кодов - это строка исходного файла, что там написано, то и будет отображаться. Любой текст.
Quote:
слушай, а может сделать так, чтобы асм "заганял" ассемлируемую прогу в твой EMU-формат, но не запускал
Что-то как-то сложно. Хотя я ничего не имею против. Берёшь в качестве шаблона записанный эмулятором файл, и изменяешь нужные байты памяти. Другое дело, что смещение может измениться, если изменить конфиг. Там в .emu весь обработанный конфиг хранится, плюс состояние компонентов конфига.
Quote:
Ну и ... что я вижу, ожидает открытие какого файла?... пришет "Attach listing file"... где его взять если я его и в глаза не видел.
Дык это тот самый листинг, который должен выдать твой ассемблер!!!
Quote:
А это точно что этот листинг нужно прикричивать имеенно к асм, а не дизасм?
Ну, вообще-то, обычно ассемблер генерирует листинг. В нём ведь должны быть строки из исходного файла.


Top
   
 Post subject: Re: Ассемблеры
PostPosted: 06 Jun 2012, 08:42 
Offline
User avatar

Joined: 11 Aug 2008, 17:05
Posts: 1405
Location: Украина
Quote:
Какие должны быть разделители? (сколько пробоелов между этим всеми столбцами, должно ли быть выравнивание столбцов)? ДО КОГДА ЭТО НАДО СДЕЛАТЬ?
У нас на форуме тусит многоуважаемый Tim0xA, как раз вчера он спрашивал про сохранившиеся у нас рекомпиляции MSX'ских игр для ПК-01. Я нашел их и подготовил архив, который можно скачать из файлового хранилища. Там присутствуют файлы исходников (выглядят как-то так: BomberMan-src, CanBall-src), которые можно посмотреть на предмет того, как оформляется листинг. Еще на сайте Tim0xA выложены исходники игры Boulder Dash, версия Андрея Лебедева, которые тоже можно посмотреть.

_________________
Carthago delenda est, Carthaginem delendam esse


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 29 posts ]  Go to page 1 2 Next

Forum Games WEB Tape Loader Twitter RSS

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
cron
Powered by phpBB® Forum Software © phpBB Limited