![]() |
Я подумал, что речь идет о возможности компиляции одной и той же программы Си для разных процессоров.
Вот оконный интерфейс можно было бы написать на Си. Программа была бы понятнее и её можно было бы перенести на другой компьютер. Но 90% кода это работа с графикой (рисование с отсечением, это когда одно окно закрывает другое), на Си писать максимально производительные алгоритмы неудобно. ---------- Post added at 17:31 ---------- Previous post was at 17:29 ---------- Кстати, целью написания этой игры и ассемблера было как раз изучение ассемблера. :) |
Код на Си, конечно же, можно компилировать для разных процессоров. Преимущества в том, что можно использовать уже написанный другими код и не обязательно для PDP-11, в том, что новый код писать сильно быстрее и в том, что другим людям потом его понимать и исправлять будет проще.
Можно делать графику на ассемблере, а высокоуровневые вещи на си, например. Если писать для БК, без ассемблера по-любому никак не обойтись. |
Посмотрю. А где скачать можно?
А C# нет? (стебусь) |
Наверное можно сделать маленькую JVM, почему нет? =)
|
Quote:
Вот пример реализации конструкций IF, CASE и других: Code:
.MACRO MACSP L,I |
1 Attachment(s)
Понятно, но хочется Си. Только вот Си - это стековый язык, то есть слегка тормозной. В примере ниже используются некоторые конструкции Си, но есть только 6 регистров.
Обращаю внимание, что язык ниже - это асемблер. Только MOV заменено на = и т.п. Code:
// Вывод менюbreak - выйти из цикла (1 команда BR) return - выйти из подпрограммы (1 команда RTS PC) push A, B; - сохранить в стек (1 команда MOV -(SP)) pop A, B; - извлечь из стека (1 команда MOV +(SP)) push A,B {команды } - сохранить и извлечь из стека emt N; - прерывание (1 команда EMT) trap N; - прерывание (1 команда TRAP) goto A; - пейти на метку (1 команда BR) do {} - бесконечный цикл (1 команда BR) do {} while(A--); - цикл (1 команда SOB) do {} while(условие); - цикл (2 команды. арифметическая+переход. Например INCB R0 / BNE или CMP R0, R1 / BGT) if(A > B) goto C; - перейти по условию (две команды ассемблера) if(A > B) {команды } - то же if(A > B) {команды } else { команды } - то же, но 3 команды И вычисления A = B + #2 << 1 ^ R4; Каждйы оператор - это одна команда ассемблера. MOV B, A ADD #2, A ASL A XOR R4, A А вызов функции (). redraw(); @#160000(); (R0) (); Когда команда работает с байтами, то к имени регистра прибавляется b. То есть R0b, R1b, (SPb)+. --- В архиве компилятор и исходники игры. Можно вносить в игру изменения, компилировать и получить собственную игру. А еще можно BMP файлы перерисовывать, из которых состоит интерфейс. |
Quote:
В приниципе - можно ввести в C и С++ небольшие расширения, которые будут выглядеть, как функции библиотеки, а именно [ BCS, BCC, BVS, BVC, SEC, CLC, SEV, CLV ] и использоваться, например, так: Code:
if( BCS() ) { Error(); }... Quote:
Кстати, Visual С++ (насколько мне показалось) в режиме полной оптимизации именно так и поступает - в результате реализации некоторых простых функций используют только регистры и не содержат кода пролога и эпилога. |
Quote:
Компилятор должен был расчитать дерево вызовов. И определить в какие моменты времени значения лучше хранить в регистрах. Например в одной функции, сначала лучше регистры использоваться под одну переменную, а потом под другую. В общем, ни один компилятор этого не делает. А еще конструкция. В ней Print будет выполняться 1% времени: if(A==1) print(); Компилируется в инструкцию CMP A, #1 BNE Ptr1 JSR PC, Print Ptr1: То есть 1% времени безусловный переход не будет выполняться, а 99% будет. Это не оптимально. Надо бы компилировать: CMP A, #1 BEQ Ptr1 Ptr2: ;----- ; Где то в другом месте Ptr: Mov Ptr2, (SP)- Jmp Print Но так так же не делает ни один компилятор. P.S. Если модераторам не лень, то можно поделить тему пополам. ---------- Post added at 15:04 ---------- Previous post was at 14:54 ---------- Такой оптимизатор легко на Прологе можно написать (тупо перебором всех возможных вариантов), но будет ли он работать за допустимое время... |
Quote:
Quote:
|
Quote:
|
Quote:
Берём такой фрагмент кода: Code:
bcsS: |
с позволения CD-Inc cхема БП STS-15 -http://rghost.ru/37211019/thumb.png
http://rghost.ru/download/37211019/3...-01_STS-15.jpg |
Подскажите пожалуйста,
БК-0011 от АТ-шного БП будет нормально работать (в том числе и с НГМД и прочими девайсами) или ей для нормальной работы нужет только её родной БП ? |
Тa будeт рaботaть конeчно,eй плюс 5в нaдо от чeго угодно.
У мeня от АТшного рaботaлa. |
Еще один неумный вопрос (Извините, я в БК-0011 очень сильно новичок).
БК-0011 вообще без КМ-ок будет работать или есть какие-то обязательные КМ, которые нужно обязательно впаять, иначе ни о какой работе компа не может быть и речи ? |
Если у кого-нибудь есть монтажка БК-0011 с расположением и обозначением всех конденсаторов, то выложите пожалуйста :)
P.S. Было бы просто замечательно если бы в разделе БК было выложено нечто вроде пошагового руководства по диагностике и/или ремонту БК-0011. |
Бeз КМ рaботaть нe будeт,eсть вaжныe,монтaжки нe видeл в природe,инструкция очeнь большaя будeт,но подходит тeмa по рeмонту 0010-01.
|
Имею еще один очень ламерский вопрос по ПЗУ БК-0011.
В плату впаяны 2 ПЗУ и есть панельки еще для двух. Что записано в впаянные ПЗУ и какие ПЗУ вставляются в панельки ? |
Quote:
Школьная локалка или программа пользователя. |
Подскажите пожалуйста расположение и номиналы КМ-ок на плате БК-0011.
|
Неплохо было бы перенести посты касающиеся компиляторов gcc/macro11/самодельного из сообщений в этой теме в спец тему - "Современный компилятор для PDP-11"
|
Интересно. 1801ВМ1 реализованный на AVR насколько будет быстрее оригинала?
|
Quote:
Спасибо что закончил для Апогей ром диск, но после этого тебя куда то унесло. |
Quote:
Я думаю, что может быть мои мысли помогут кому нибудь. По поводу магнитофона, у меня родилась шикарная идея сделать видеовыход. То есть выбирать программу прямо на ТВ. Не надо лепить гигантский, дорогой и неудобный ЖК экран. Всё устройство будет размером меньше спичечного коробка. Это про то что я пишу. А занимаюсь я обычно двумя делами параллельно. Одно программирование - долгое, от месяца до нескольких лет. Сейчас это оконный интерфейс для БК. Я им неспешно занимаюсь все свободное время. А еще есть быстрые железные проекты (от 30 минут до дня). Вот та же клавиатура для Ориона заняла ~5 часов разработки и уже закончена. Она спаяна, проверена и лежит на полке. В ветку форума я лишь пишу свои мысли, ничего не делая по этому проекту. Потом была схема Искры 1080, которую я уже перерисовал. В данную секунду я травлю отладочную плату с ATMega8. То есть я треплюсь на форуме, а плата плавает в растворе FeCl3. С помощью этой платы я проверю, как работает моя прошивка клавиатуры Ориона на ATMega8. Это максимум час времени. А потом на основе этой же платы я буду делать Эмулятор флоповода и контроллер мыши для БК0010. И в этот момент проекты объединяются. Эмулятор флоповода и контроллер мыши для БК0010 позволит запустить мою программу на реале! P.S. Игрушку я только хочу сделать... очень хочу... но в этом году её не будет... ---------- Post added at 22:28 ---------- Previous post was at 22:22 ---------- Я кстати предвидел такой вопрос. Что я везде и ничего не сделал. Поэтому на своей странице http://zx.pk.ru/member.php?u=6677 я уже давно отмечаю, что сделал, что делаю и что буду делать. |
Quote:
|
Все проще.
Иногда хочется поработать руками, выпилить ножовкой кусок текстолита, перевести утюгом ЛУТ, вдохнуть облачко канифоли. А иногда устаешь от кривизны своих рук. От того, что из за одной ошибки приходится всё переделывать заново. Что бы я не делал, у китайцев будет лучше и дешевле. Программы никогда не сгорают, не взрываются и в редакторе всегда есть сохранение и откат. :) Это другой мир. |
vinxru, а нет ли желания/возможности в интеллектуальном плане помочь по проблемам с mp3-модулем в рамках проекта БК-0012 ?
Вкратце проблему сформулировал тут, в последнем сообщении: http://zx.pk.ru/showthread.php?t=17159&page=3 |
Quote:
|
А что находится в 1801РЕ1-054?
и кому нужна золотая 1801ВП1-038 (вроде как таймер) |
vinxru, Если 038 новая - мне нужна.
По первому вопросу ответ здесь http://fincoins.spb.ru/oldpc/re2/1801PE2.html |
Новая, выводы еще не отформованы (но уже немножко погнуты пальцами).
Розовая керамика, позолоченные выводы. http://s15.radikal.ru/i188/1204/8c/eebd21360bda.jpg http://s55.radikal.ru/i148/1204/2b/6e778d848c64.jpg |
vinxru, Интересно, отшите, пожалуйста, в личку цену вопроса.
|
Случайно наткнулся перебирая старые журналы "За рулем"
http://i021.radikal.ru/1205/69/0cbd41ca22b2t.jpg |
Уважаемые БК-Профи !
Подскажите по ремонту бк-0011. Симптомы убойные - на экране полная тишина (даже никакого намека хоть на какое-то изображение - только релюшка щелкает при включении или выключении). вп1-037 поменял на новую (грелась как процессор) - никаких изменений (по прежнему греется как процессор и никакого намека на изображение). Процессор менять ? |
| All times are GMT +4. The time now is 02:28. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.