Глобально думаешьalemorf wrote:Я думаю может что то типа
Кросс-ассемблер для PDP11/8080 (Windows/Linux, open-source)
Moderator: Shaos
-
jdigreze
- God
- Posts: 1388
- Joined: 02 Jan 2006 02:28
- Location: Abakan
Re: Кросс-ассемблер для PDP11/8080 (Windows/Linux, open-sour
-
alemorf
- Senior
- Posts: 132
- Joined: 03 Jan 2017 08:58
- Location: SPb
Re: Кросс-ассемблер для PDP11/8080 (Windows/Linux, open-sour
Карты я и не буду особо стараться рисовать. Может быть найдутся люди.jdigreze wrote:Глобально думаешьalemorf wrote:Я думаю может что то типаЯ бы не взялся в одну каску такое делать только из-за карт. В этом смысле что-нибудь типа Zynaps со случайной генерацией выглядит более привлекательно, но я не знаю, возможен ли на УК-НЦ полноэкранный скролл.
Написать именно сам движок.
-
alemorf
- Senior
- Posts: 132
- Joined: 03 Jan 2017 08:58
- Location: SPb
Re: Кросс-ассемблер для PDP11/8080 (Windows/Linux, open-sour
Вчера вечером немного пописал.
Сделал алгоритм определяющий, какую команду перехода использовать - короткую (1 слово, переход на +-254 байта) или длинную (3 слова, переход на все 64K).
Сначала сделал генерацию программы с длинными переходами и алгоритм, который работает после компилятора и заменяет длинные команды на короткие.
Но алгоритм получился сложный и (относительно) медленный. При замене каждой команды надо сдвигать код и корректировать все адреса в программу.
Потом переделал. Быстрее получилось вместо сдвига кода и коррекции адресов перекомпилировать программу еще раз.
Всё остальное поломал
Сделал алгоритм определяющий, какую команду перехода использовать - короткую (1 слово, переход на +-254 байта) или длинную (3 слова, переход на все 64K).
Сначала сделал генерацию программы с длинными переходами и алгоритм, который работает после компилятора и заменяет длинные команды на короткие.
Но алгоритм получился сложный и (относительно) медленный. При замене каждой команды надо сдвигать код и корректировать все адреса в программу.
Потом переделал. Быстрее получилось вместо сдвига кода и коррекции адресов перекомпилировать программу еще раз.
Всё остальное поломал
-
alemorf
- Senior
- Posts: 132
- Joined: 03 Jan 2017 08:58
- Location: SPb
Re: Кросс-ассемблер для PDP11/8080 (Windows/Linux, open-sour
Добавил возможность делать EMT вызовы прямо из Си. (EMT - это программные прерывания, аналог INT на X86. И это самый правильный способ обращения к BIOS).
Опиcываем прототип:
void putc(char c @ r0) @ emt 016;
Взываем
putc(0233); // Включение режима 256x256
putc(0232); // Отключение курсора
Результат
Опиcываем прототип:
void putc(char c @ r0) @ emt 016;
Взываем
putc(0233); // Включение режима 256x256
putc(0232); // Отключение курсора
Результат
Code: Select all
0392 0722 //94 putc(0233); // Включение режима 256x256
0392 0722 012700 000233 mov #155, R0
0392 0726 104016 emt 14.
0392 0728 //95 putc(0232); // Отключение курсора
0392 0728 012700 000232 mov #154, R0
0392 072C 104016 emt 14.
-
alemorf
- Senior
- Posts: 132
- Joined: 03 Jan 2017 08:58
- Location: SPb
Re: Кросс-ассемблер для PDP11/8080 (Windows/Linux, open-sour
Ну и возвращаемое значение тоже можно указывать
const char* puttext(const char* text @ r1, unsigned flags @ r2) @ emt 020, r1;
const char* puttext(const char* text @ r1, unsigned flags @ r2) @ emt 020, r1;
-
alemorf
- Senior
- Posts: 132
- Joined: 03 Jan 2017 08:58
- Location: SPb
Re: Кросс-ассемблер для PDP11/8080 (Windows/Linux, open-sour
Уже и Сапер написанный на Си скомпилировался под БК0010

Багов и недоделок еще куча.

Багов и недоделок еще куча.
-
Shaos
- Admin
- Posts: 24409
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
-
alemorf
- Senior
- Posts: 132
- Joined: 03 Jan 2017 08:58
- Location: SPb
Re: Кросс-ассемблер для PDP11/8080 (Windows/Linux, open-sour
На работе завал работы 
-
Lavr
- Supreme God
- Posts: 16799
- Joined: 21 Oct 2009 08:08
- Location: Россия
pdp11asm
Я следил за этой разработкой и здесь:SAA wrote:наконец мне повезло с инструментом разработки - pdp11asm Алексея Морозова.
Я лучше не видел и думаю не увижу, Алексею огромнейшее спасибо за это.
http://zx-pk.ru/threads/26534-prostoj-k ... urce).html
и здесь:
viewtopic.php?f=95&t=16953
и я честно говоря, не понял, дошла ли разработка до логического конца?
И там и там писали и про ошибки и про некоторые недочеты, в то время как
https://github.com/vinxru/pdp11asm не существует более...
iLavr
-
SAA
- Senior
- Posts: 136
- Joined: 12 Jul 2016 21:30
Re: Микро-ЭВМ на КМ1801ВМ2
А бывают ли такими любительские разработки? Честно говоря я даже и не думал что там могут быть серьезные ошибки.. Вроде бы инструмент меня не подвел, правда я на чистом ассемблере писал форт-ядро для "железа". Алексей учел даже возможность кодировки CP1251 в строках, не пришлось мучатся с русскими буквами (я их залил в знакогенератор в 1251) и делать перекодировку строк. Ничего плохого не могу сказать.Lavr wrote:и я честно говоря, не понял, дошла ли разработка до логического конца?
Да соглашусь, автор довольно сильно закрыт, но пока удается найти к нему подходы. Я брал его pdp11asm тутLavr wrote:И там и там писали и про ошибки и про некоторые недочеты, в то время как
https://github.com/vinxru/pdp11asm не существует более...
https://github.com/alemorf/pdp11asm
-
Lavr
- Supreme God
- Posts: 16799
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Микро-ЭВМ на КМ1801ВМ2
Весь вопрос в том, что я не знаю ассемблера 180х, но видел, что те, кто знают, различные ошибки находили...SAA wrote:Честно говоря я даже и не думал что там могут быть серьезные ошибки.. Вроде бы инструмент меня не подвел, ...
Если у меня под руками "ошибется" ассемблер 8080, z80, x86, то я, пожалуй, ошибку найду.
Но если "ошибется" незнакомый мне ассемблер 180х, то я долго не пойму, что получил "граблями по лбу"...
iLavr
-
Lavr
- Supreme God
- Posts: 16799
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Микро-ЭВМ на КМ1801ВМ2
А Вы не могли помочь бы в этом вопросе? Ну нелады у меня с https://github.com/SAA wrote:Я брал его pdp11asm тут https://github.com/alemorf/pdp11asm
Мою Оперу 9.64 он давно не любит, специально зашел сегодня из-под Венды 7 и ИЕ-10.
А GitHub уже и ИЕ-10 не любит...
проверено и "мин нет"?
viewtopic.php?f=95&t=16953&start=30
You do not have the required permissions to view the files attached to this post.
iLavr
-
Shaos
- Admin
- Posts: 24409
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
-
Lavr
- Supreme God
- Posts: 16799
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: Микро-ЭВМ на КМ1801ВМ2
Превелико тебе за это благодарен!Shaos wrote:Скачал и прицепил архив в тот самый топик:
viewtopic.php?p=132945#p132945
iLavr
-
Shaos
- Admin
- Posts: 24409
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Микро-ЭВМ на КМ1801ВМ2
Я подумал лучше вначале прицепить - вдруг обсуждение новое заведётся страниц на 20 
