nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 14 Dec 2018 16:11



Reply to topic  [ 97 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7  Next
Кросс-ассемблер для PDP11/8080 (Windows/Linux, open-source) 
Author Message
God

Joined: 02 Jan 2006 03:28
Posts: 1371
Location: Abakan
Reply with quote
alemorf wrote:
Я думаю может что то типа
Глобально думаешь :) Я бы не взялся в одну каску такое делать только из-за карт. В этом смысле что-нибудь типа Zynaps со случайной генерацией выглядит более привлекательно, но я не знаю, возможен ли на УК-НЦ полноэкранный скролл.


16 Jan 2017 22:12
Profile
Senior

Joined: 03 Jan 2017 09:58
Posts: 136
Location: SPb
Reply with quote
jdigreze wrote:
alemorf wrote:
Я думаю может что то типа
Глобально думаешь :) Я бы не взялся в одну каску такое делать только из-за карт. В этом смысле что-нибудь типа Zynaps со случайной генерацией выглядит более привлекательно, но я не знаю, возможен ли на УК-НЦ полноэкранный скролл.


Карты я и не буду особо стараться рисовать. Может быть найдутся люди.

Написать именно сам движок.


17 Jan 2017 01:31
Profile WWW
Senior

Joined: 03 Jan 2017 09:58
Posts: 136
Location: SPb
Reply with quote
Вчера вечером немного пописал.
Сделал алгоритм определяющий, какую команду перехода использовать - короткую (1 слово, переход на +-254 байта) или длинную (3 слова, переход на все 64K).

Сначала сделал генерацию программы с длинными переходами и алгоритм, который работает после компилятора и заменяет длинные команды на короткие.
Но алгоритм получился сложный и (относительно) медленный. При замене каждой команды надо сдвигать код и корректировать все адреса в программу.

Потом переделал. Быстрее получилось вместо сдвига кода и коррекции адресов перекомпилировать программу еще раз.

Всё остальное поломал :)


22 Jan 2017 07:34
Profile WWW
Senior

Joined: 03 Jan 2017 09:58
Posts: 136
Location: SPb
Reply with quote
Добавил возможность делать EMT вызовы прямо из Си. (EMT - это программные прерывания, аналог INT на X86. И это самый правильный способ обращения к BIOS).

Опиcываем прототип:
void putc(char c @ r0) @ emt 016;

Взываем
putc(0233); // Включение режима 256x256
putc(0232); // Отключение курсора

Результат
Code:
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.


22 Jan 2017 09:31
Profile WWW
Senior

Joined: 03 Jan 2017 09:58
Posts: 136
Location: SPb
Reply with quote
Ну и возвращаемое значение тоже можно указывать

const char* puttext(const char* text @ r1, unsigned flags @ r2) @ emt 020, r1;


23 Jan 2017 01:22
Profile WWW
Senior

Joined: 03 Jan 2017 09:58
Posts: 136
Location: SPb
Reply with quote
Уже и Сапер написанный на Си скомпилировался под БК0010

Image

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


24 Jan 2017 16:54
Profile WWW
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17215
Location: Colorado
Reply with quote
круто :)

_________________
:eugeek: https://twitter.com/Shaos1973


24 Jan 2017 18:12
Profile WWW
Senior

Joined: 03 Jan 2017 09:58
Posts: 136
Location: SPb
Reply with quote
На работе завал работы :)


15 Feb 2017 11:44
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
SAA wrote:
наконец мне повезло с инструментом разработки - pdp11asm Алексея Морозова.
Я лучше не видел и думаю не увижу, Алексею огромнейшее спасибо за это.

Я следил за этой разработкой и здесь:
http://zx-pk.ru/threads/26534-prostoj-kross-assembler-dlya-pdp11-(windows-linux-opensource).html
и здесь:
http://www.nedopc.org/forum/viewtopic.php?f=95&t=16953
и я честно говоря, не понял, дошла ли разработка до логического конца?
И там и там писали и про ошибки и про некоторые недочеты, в то время как
https://github.com/vinxru/pdp11asm не существует более... :-?

_________________
iLavr


28 Dec 2017 10:24
Profile
Fanat

Joined: 12 Jul 2016 22:30
Posts: 56
Reply with quote
Lavr wrote:
и я честно говоря, не понял, дошла ли разработка до логического конца?


А бывают ли такими любительские разработки? Честно говоря я даже и не думал что там могут быть серьезные ошибки.. Вроде бы инструмент меня не подвел, правда я на чистом ассемблере писал форт-ядро для "железа". Алексей учел даже возможность кодировки CP1251 в строках, не пришлось мучатся с русскими буквами (я их залил в знакогенератор в 1251) и делать перекодировку строк. Ничего плохого не могу сказать.

Lavr wrote:
И там и там писали и про ошибки и про некоторые недочеты, в то время как
https://github.com/vinxru/pdp11asm не существует более... :-?


Да соглашусь, автор довольно сильно закрыт, но пока удается найти к нему подходы. Я брал его pdp11asm тут
https://github.com/alemorf/pdp11asm


28 Dec 2017 11:23
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
SAA wrote:
Честно говоря я даже и не думал что там могут быть серьезные ошибки.. Вроде бы инструмент меня не подвел, ...

Весь вопрос в том, что я не знаю ассемблера 180х, но видел, что те, кто знают, различные ошибки находили...
Если у меня под руками "ошибется" ассемблер 8080, z80, x86, то я, пожалуй, ошибку найду.
Но если "ошибется" незнакомый мне ассемблер 180х, то я долго не пойму, что получил "граблями по лбу"... :wink:

_________________
iLavr


28 Dec 2017 15:02
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
SAA wrote:
Я брал его pdp11asm тут https://github.com/alemorf/pdp11asm

А Вы не могли помочь бы в этом вопросе? Ну нелады у меня с https://github.com/ :osad:
Мою Оперу 9.64 он давно не любит, специально зашел сегодня из-под Венды 7 и ИЕ-10.
А GitHub уже и ИЕ-10 не любит... :-?
Attachment:
github3.gif
github3.gif [ 37.68 KiB | Viewed 2142 times ]

Может быть, имеет смысл архив с контентом - вот сюда выложить, раз уж Вы говорите, что всё
проверено и "мин нет"?
http://www.nedopc.org/forum/viewtopic.php?f=95&t=16953&start=30

_________________
iLavr


30 Dec 2017 07:06
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17215
Location: Colorado
Reply with quote
Скачал и прицепил архив в этот самый топик:

http://www.nedopc.org/forum/viewtopic.php?p=132945#p132945

_________________
:eugeek: https://twitter.com/Shaos1973


05 Jan 2018 22:21
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Shaos wrote:
Скачал и прицепил архив в тот самый топик:
http://www.nedopc.org/forum/viewtopic.php?p=132945#p132945

Превелико тебе за это благодарен! :kruto:

P.S. Если вдруг кто не найдет (архив там не в самом конце): pdp11asm-master.zip [850.95 Кб]

_________________
iLavr


06 Jan 2018 08:24
Profile
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 17215
Location: Colorado
Reply with quote
Я подумал лучше вначале прицепить - вдруг обсуждение новое заведётся страниц на 20 ;)

_________________
:eugeek: https://twitter.com/Shaos1973


06 Jan 2018 15:20
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 97 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7  Next

Who is online

Users browsing this forum: No registered users and 2 guests


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:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.