nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 02:39



Reply to topic  [ 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: 1390
Location: Abakan
Reply with quote
alemorf wrote:
Я думаю может что то типа
Глобально думаешь :) Я бы не взялся в одну каску такое делать только из-за карт. В этом смысле что-нибудь типа Zynaps со случайной генерацией выглядит более привлекательно, но я не знаю, возможен ли на УК-НЦ полноэкранный скролл.


16 Jan 2017 21:12
Profile
Senior

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


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

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


17 Jan 2017 00:31
Profile WWW
Senior

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

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

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

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


22 Jan 2017 06:34
Profile WWW
Senior

Joined: 03 Jan 2017 08:58
Posts: 135
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 08:31
Profile WWW
Senior

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

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


23 Jan 2017 00:22
Profile WWW
Senior

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

Image

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


24 Jan 2017 15:54
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22409
Location: Silicon Valley
Reply with quote
круто :)

_________________
:dj: https://mastodon.social/@Shaos


24 Jan 2017 17:12
Profile WWW
Senior

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


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

Joined: 21 Oct 2009 08: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 09:24
Profile
Senior

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


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

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


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


28 Dec 2017 10:23
Profile
Supreme God
User avatar

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

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

_________________
iLavr


28 Dec 2017 14:02
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08: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 11820 times ]

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

_________________
iLavr


30 Dec 2017 06:06
Profile
Admin
User avatar

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

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

_________________
:dj: https://mastodon.social/@Shaos


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

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

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

_________________
iLavr


06 Jan 2018 07:24
Profile
Admin
User avatar

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

_________________
:dj: https://mastodon.social/@Shaos


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

Who is online

Users browsing this forum: Bing [Bot] and 23 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.