Author |
Message |
shiny
Maniac
Joined: 14 Oct 2023 06:59 Posts: 268
|
чем дело кончилось? А это рабочий ассемблер? https://shop-pdp.net/ashtml/asxget.php
_________________ uselessretro.blogspot.com
|
03 Dec 2023 10:56 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23398 Location: Silicon Valley
|
последний косяк так и не исправил, а в остальном - всё работает скачать можно на первой странице этого топика: http://www.nedopc.org/forum/viewtopic.php?p=132945#p132945
|
03 Dec 2023 13:19 |
|
|
vital72
Senior
Joined: 17 Jun 2014 04:29 Posts: 163 Location: 93.80.157.217
|
глянул мельком код и обнаружил, что активно используется вот такая конструкция с оператором new: где outOfMemory -- это: только меня одного смущает вот это вот всё?
_________________https://radio-86rk.ruкто я такой, чтобы спорить с самим собой
|
09 Feb 2024 04:53 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23398 Location: Silicon Valley
|
Главное работает P.S. Кстати вот пример сборки кода под РК чтобы получились .rkr и .lst (это неочевидно и никак не отражено в документации): а также вставка bin-файла ( я это только по исходнику нашёл : ) P.S. Ха - а вставка файла ведь есть в документации!
You do not have the required permissions to view the files attached to this post.
|
09 Feb 2024 07:58 |
|
|
vital72
Senior
Joined: 17 Jun 2014 04:29 Posts: 163 Location: 93.80.157.217
|
работать-то работает, но код абсолютно бесполезный. мало того, что читабельность страдает, так исключение в outOfMemory никогда не возникнет. по стандарту, если не переопределять функцию new_handler(), оператор new, никогда не возвращает ноль.
_________________https://radio-86rk.ruкто я такой, чтобы спорить с самим собой
|
09 Feb 2024 08:47 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23398 Location: Silicon Valley
|
Да? Это с какого года так? Вроде как раз выкидывание исключения убрали поэтому человек сам его добавил… … или наоборот этот код для старых компиляторов написан, которые не выбрасывают исключение при нехватке памяти, а возвращают нулл (вроде вижуалстудия себя так вела вплоть до версии 2003, хотя в тот момент это уже было частью стандарта C++) P.S. Я гляжу по коду, что этот самый pdp11asm[85] умеет #define / #ifdef / #else / #endif Только это в сишной части, которая фиг знает как включается... P.P.S. Заготовки под макросы тоже вроде есть в parser.cpp, но там много закомменчено...
|
09 Feb 2024 15:13 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23398 Location: Silicon Valley
|
Как говорится обещанного 3 года ждут - наконец-то исправил этот PDP11-косяк в сырцах на гитлабе https://gitlab.com/shaos/pdp11asm85Надо думаю ещё & добавить, чтобы можно было младший байт метки использовать...
|
09 Feb 2024 21:58 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23398 Location: Silicon Valley
|
Добавил % и & - теперь можно младший байт метки брать хоть так: хоть так: https://gitlab.com/shaos/pdp11asm85/-/commit/9c90cfd15b61ae626f6f570441b057a98287677bP.S. Обновлённый архив с исходниками приаттачил на первой странице этого топика P.P.S. По поводу лицензии этого исходного кода: http://www.nedopc.org/forum/viewtopic.php?p=143028#p143028
|
10 Feb 2024 00:09 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23398 Location: Silicon Valley
|
Перенёс тему в подфорум Software, раз уж тут и про PDP-11, и про 8080/8085...
|
10 Feb 2024 00:25 |
|
|
vital72
Senior
Joined: 17 Jun 2014 04:29 Posts: 163 Location: 93.80.157.217
|
вот что на сайте майкрософта нашёл проверил код: строка 13 никогда не будет вызвана.
_________________https://radio-86rk.ruкто я такой, чтобы спорить с самим собой
Last edited by vital72 on 10 Feb 2024 01:15, edited 1 time in total.
|
10 Feb 2024 01:07 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23398 Location: Silicon Valley
|
Сайт майкрософт всю старую инфу потёр Когда этот код писался (2015-2017) в ходу были совсем другие компиляторы Я когда в 2018 готовил виндовую версию сего чюда вообще на XP ориентировался (правда с cygwin-ом 2010 года): http://www.nedopc.org/forum/viewtopic.php?p=142305#p142305
|
10 Feb 2024 01:24 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23398 Location: Silicon Valley
|
Кароче т.к. автор вот тут писал: я попробовал и оно заработало именно так - фигурные скобки и директивы препроцессора в разных строках! и главное, чтобы { не было совсем первой строчкой в файле, а то оно уходит в c8080 с концами, что нам ненадо теперь наверное нужно передачу макро-определений из командной строки организовать типа -DBOO и т.д. и будет полноценная условная компиляция! P.S. Организовал Из командной строки теперь можно задавать макросы, причём как без значения, так и со значением: pdp11asm85 -DMACRO1 -DMACRO2=1 filename.asm -DBOO (без значения можно использовать в #ifdef, а со значением - где угодно (даже за пределами {}), правда эти значения должны быть в пределах байта) https://gitlab.com/shaos/pdp11asm85/-/commit/639d411870cd3b8b405e9dd588c6a4908bdf6f85
|
10 Feb 2024 17:57 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23398 Location: Silicon Valley
|
Приаттачил пересобранный в WinXP EXE-шник вместе с CYGWIN1.DLL на первой странице топика: http://www.nedopc.org/forum/viewtopic.php?p=132945#p132945Какие ещё предложения по улучшению будут? Может сделать ключик командной строки, который будет включать i8080 или i8085?
|
10 Feb 2024 23:24 |
|
|
shiny
Maniac
Joined: 14 Oct 2023 06:59 Posts: 268
|
cygwin это 5. Может, удобнее скомпилировать на венде?
_________________ uselessretro.blogspot.com
|
11 Feb 2024 09:31 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 23398 Location: Silicon Valley
|
Ну я на "венде" компилировал Windows XP SP3 называется У меня стоит в углу машынёшка, которую я включаю раз в год по особым случаям
|
11 Feb 2024 09:55 |
|