nedoPC.org

Electronics hobbyists community established in 2002
Last visit was: 06 Jun 2024 10:28
It is currently 06 Jun 2024 10:28



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

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


16 Jan 2017 21:12
Senior

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


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

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


17 Jan 2017 00:31 WWW
Senior

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

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

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

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


22 Jan 2017 06:34 WWW
Senior

Joined: 03 Jan 2017 08:58
Posts: 132
Location: SPb
Добавил возможность делать 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 08:31 WWW
Senior

Joined: 03 Jan 2017 08:58
Posts: 132
Location: SPb
Ну и возвращаемое значение тоже можно указывать

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


23 Jan 2017 00:22 WWW
Senior

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

Image

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


24 Jan 2017 15:54 WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22835
Location: Silicon Valley
круто :)

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


24 Jan 2017 17:12 WWW
Senior

Joined: 03 Jan 2017 08:58
Posts: 132
Location: SPb
На работе завал работы :)


15 Feb 2017 10:44 WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
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 09:24
Senior

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


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

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


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


28 Dec 2017 10:23
Supreme God
User avatar

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

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

_________________
iLavr


28 Dec 2017 14:02
Supreme God
User avatar

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

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

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


You do not have the required permissions to view the files attached to this post.

_________________
iLavr


30 Dec 2017 06:06
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22835
Location: Silicon Valley
Скачал и прицепил архив в этот самый топик:

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

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


05 Jan 2018 21:21 WWW
Supreme God
User avatar

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

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

_________________
iLavr


06 Jan 2018 07:24
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22835
Location: Silicon Valley
Я подумал лучше вначале прицепить - вдруг обсуждение новое заведётся страниц на 20 ;)

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


06 Jan 2018 14:20 WWW
 [ 129 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6 ... 9  Next

Who is online

Users browsing this forum: No registered users and 13 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

Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.