|
nedoPC.orgElectronics hobbyists community established in 2002 |
|
Author |
Message |
askfind
Doomed
Joined: 04 Jan 2016 09:15 Posts: 657 Location: Russia, S.- Peterburg
|
Знакомый электроник помог и выполнил преобразование в PDF.
_________________ "Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
|
23 May 2020 10:00 |
|
|
Paguo-86PK
Maniac
Joined: 12 Apr 2011 20:43 Posts: 267 Location: Tashkent
|
| | | | barsik wrote: #С учётом того, что п/п-мма HEX_A в данном коде неэффективная (на целых 3 байта длиннее, чем моя), то при переделке COUT_A в SCOUTA число байтов увеличивается незначительно. Кстати, имя SCOUTA это акроним от фразы: Saved registers Console OUTput from A. | | | | |
Удалoсь выиграть ещё 1 байт, выбросив CCF: За неделю удалось ещё больше утрамбовать код. В «горячий старт» добавил: Тем самым, при «холодном старте» Монитор сохраняет состояние регистров, которые сразу можно просмотреть через «X», что может быть полезным при исследовании контролируемых зацикливаний. Доработал цикл сканирования директив и сократил его на 2 байта. В общем, за неделю байтов 10 в разных местах выиграл. И вернул в директиву «X» строку с «PC-XXXX». Однако, утром удалось около 12 байтов ещё освободить, но Монитор отказался работать из-за смещения подпрограммы проверки прерывания по «УС+C»… - F836 - MSG_PC (печать текста непосредственно в коде) - (36 в адресе как 3×6 даёт 18, чем косвенно ссылает на F818)
- F839 - ABORT (переход по «УС+C» или по ошибке на 76CD, где обычно F86C) - (39 в адресе как 3×9 даёт 27, что косвенно ссылает на код клавиши ESC/АР2)
Таким образом, мой вариант программы Монитор полностью имеет функционал оригинала, но с излишками. Соответственно, если все излишества опционально повыбрасывать («G» со вторым параметром, «X», трюкачества «холодного старта»), выиграем до 176 байтов. (Увы, эмулятор своего процессора пока не влезает…) P.S.: До сих пор не доходят руки до последних подпрограмм - F803/F812/F81B: Лень ковыряться там, хотя эскизы имеются и здесь я показывал.
|
06 Mar 2021 11:01 |
|
|
barsik
Doomed
Joined: 19 Feb 2017 03:46 Posts: 584 Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь
|
Извиняюсь, что посторонний влезает. Но иначе достижение века никто не оценит. Выиграть 1 байт в HEX_A (теперь всего 19 байтов) это достойно в книгу рекордов Гинесса. 50 лет сотни тысяч программистов для 8080, Z80, 8085, 8086 использовали и оптимизировали десятки вариантов HEX-A. У нас в стране с этим было совсем плохо. Встречал варианты с числом команд аж в 2-3 раза большим. Но у грамотных программистов были распространены лишь вот эти два передовых варианта: Но в 1992 я встроил в ПЗУ ОРИОНА для Z80 вышеприведённый HEX_A (не я изобрел, это импорт), что выигрывало против родного варианта ПЗУ ОРИОНА аж три байта. Но было уже поздно, никто и не заметил. Увы, т.к. программистов 8-ми разрядок не осталось, и ваш вариант не заметят, хотя на мой взгляд на мраморную табличку с золотыми буквами на фасаде вашего дома это открытие потянет. Эх, ваш бы энтузиазм и способности да на благое дело!
|
07 Mar 2021 02:18 |
|
|
Konstantin18
Maniac
Joined: 15 Jan 2019 15:48 Posts: 326 Location: Украина, Луганская обл.
|
barsik, приветствую! Рад вас видеть. Хорошо, что вы вернулись.
|
07 Mar 2021 03:47 |
|
|
Paguo-86PK
Maniac
Joined: 12 Apr 2011 20:43 Posts: 267 Location: Tashkent
|
barsik! Рад видеть Вас! Вы совсем как-то потерялись…
|
07 Mar 2021 07:40 |
|
|
Paguo-86PK
Maniac
Joined: 12 Apr 2011 20:43 Posts: 267 Location: Tashkent
|
Дoшли руки до подпрограммы подсчёта контрольной суммы: | | | | Code: ; CHKSMM - Альтернативная подпрограмма подсчёта CRC ; [CHKDAT] - Подсчитанная на данный момент сумма ; [CHKBAK] - Предыдущий байт ; A - Очередной байт ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; CHKSMM: PUSH HL ; 11 PUSH AF ; 11 LD HL,(CHKDAT) ; 16 LD A,(CHKBAK) ; 13 ADD A,H ; 4 LD H,A ; 5 POP AF ; 10 PUSH AF ; 11 ADD A,L ; 4 LD L,A ; 5 LD (CHKDAT),HL ; 16 SBC A,A ; 4 LD H,A ; 5 POP AF ; 10 SUB H ; 4 LD (CHKBAK),A ; 13 POP HL ; 10 RET ; 10 = 162 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Пример использования LD A,000H LD (CHKDAT),A LD (CHKDAT+1),A LD (CHKBAK),A LOOP: LD A,(HL) CALL CHKSMM INC HL LD A,H CP D JP NZ,LOOP LD A,L CP E JP NZ,LOOP LD HL,(CHKDAT) LD B,H LD C,L RET | | | | |
Как известно, при выгрузке/загрузке больших файлов РАДИО-86РК несколько секунд тратит на подсчёт контрольной суммы. Тогда как тот же ZX-Spectrum реагирует моментально (оптически, конечно, так как у него свои паузы и задержки с бордюр-эффектом). Тем самым, подпрограммы вывода/ввода байта в обмене с лентой планирую давно оборудовать подобной процедурой…
|
07 Mar 2021 20:02 |
|
|
barsik
Doomed
Joined: 19 Feb 2017 03:46 Posts: 584 Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь
|
Надо же, кто-то ещё помнит меня. Да нет, не вернулся. Как я могу вернуться, если меня тут жестоко затравили, а потом забанили? А то, что мой аккаунт остался, так это я специально попросил, чтобы не забанивали реально, т.е физически, а оставили аккаунт для использования в нём лички, пообещав, что писать здесь больше не буду, отчего нужды в удалении аккаунта не было.
|
09 Mar 2021 05:36 |
|
|
aahzma
Junior
Joined: 26 Jul 2021 01:11 Posts: 3
|
| | | | barsik wrote: Надо же, кто-то ещё помнит меня. Да нет, не вернулся. Как я могу вернуться, если меня тут жестоко затравили, а потом забанили? А то, что мой аккаунт остался, так это я специально попросил, чтобы не забанивали реально, т.е физически, а оставили аккаунт для использования в нём лички, пообещав, что писать здесь больше не буду, отчего нужды в удалении аккаунта не было. | | | | |
Уважаемый Барсик! Вас не только помнят, вас очень ждут в Telegram, в группе поклонников компьютеров Радио-86РК -- ПК на 8080|8085 — hardware ( https://t.me/vm80a) По мотивам ваших предложений уже создан и работает ПК "Северная Пальмира"! Среди нас есть программисты и электронщики, мы не диванные теоретики, мы -- инженеры и проектировщики, программисты и любители, проект развивается и находит новых приверженцев. Пожалуйста, объявитесь среди нас, нам очень недостает ваших идей!!! ЗЫ: Не уверен, что барсик сие прочитает, он давно не реагирует ни на какие взывания, но если кто-то имеет с ним связь, передайте, что его ищут и ждут! ЗЗЫ: Добренькие админы, простите за оффтоп, действительно, очень важно найти этого человека!
|
26 Jul 2021 01:42 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22564 Location: Silicon Valley
|
Одобрил сообщение и разрешил пользователя aahzma (защита от спамеров распространяется на всех новичков)
Также можете попробовать Барсику в личку написать - он сам выше пишет, что личка открыта
|
26 Jul 2021 23:15 |
|
|
Who is online |
Users browsing this forum: No registered users and 16 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
|
|