User Tag List

Страница 11 из 17 ПерваяПервая ... 789101112131415 ... ПоследняяПоследняя
Показано с 101 по 110 из 169

Тема: Подскажите пожалуйста, На каких языках пишутся игры.

  1. #101

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Еще как может. Ибо явный баг, коим даже примитивные калькуляторы не страдают.
    Я специально, раз ты решил сделать из этого бага большую проблему, поизучал, как он проявляется.

    Он проявляется только в экзотических случаях, когда некто специально желает проверить бейсик на предмет безглючности и сравнивает значения заведомо тождественных выражений. Если присвоить 0.5 и 1/2 переменным и потом их сравнить - результат будет правильный. Поэтому можно обоснованно считать, что этот баг практических препятствий к написанию программ на бейсике не представляет и в реальных (не надуманных) условиях не проявляется. В частности, я ни разу сам на него не напоролся, программируя на спектрумовском бейсике, да и о том, чтобы кто-то напоролся - тоже не слышал. А даже если это когда-то с кем-то произошло - то последствия заведомо не превышали последствия от глюка собственной программы на ассемблере.

    Те, кто нашел этот глюк первыми (Ян Логан и Френк о хара) - они его нашли не случайно напоровшись, а детально анализируя код бейсика.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Маленький децкий самосвальчик одноразовых однотипных клонов
    А чего ты ждешь от новичка, "Лучшей игры-2011" что ли?
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    На бейсике видал два сапера, оба вусмерть тормозные
    Мой сапер отрабатывает нажатие клавиши "открыть квадрат" менее, чем за секунду. Собственно, там и делать-то ничего не надо, откуда взяться тормозам? А даже если программа тратит 2-3 секунды - то от этого играбельность "сапера" не зависит, так как человек тратит большее время на обдумывание следующего хода.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Нахрен скрупулезно? Только что последнее (проги, знаешь ли, удобнее писать по кусочкам)
    Так что, по кусочкам пишешь программу, а потом сидишь и сравниваешь, правильно ли ассемблер ее компилировал? А потом еще раз, скомпилировал ли он правильно всю программу, потому что ведь по кусочкам могло сработать правильно, а всю - с ошибкой.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Лол, подробнее, пжалста - какого размера?
    Посмотри дизассемблер ПЗУ от Логана и О'Хары - какого размера там подпрограмма RST 16. Своя программа, конечно, может быть и короче, но добрых 100 строк она может занять в зависимости от функциональности.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Просто не заигрываться с регистрами
    А какие критерии? Где определено, что такое "заигрываться с регистрами"? И что, тогда точно не будет порчи памяти?
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    А ты на бейсике?
    PRINT AT x,y;c$. Причем обращаю внимание: обращение к переменным x и y - это прямая (абсолютная), а не косвенная адресация. Неверные или даже специально злоумышленно подобранные значения переменных не могут привести к порче программы или ее данных. Теперь твой ход. Пожалуйста то же самое, без косвенной адресации, на ассемблере.

    Собственно говоря, на бейсике нет необходимости решение указанной задачи реализовывать в виде подпрограммы, поскольку задача решается одной командой. Поэтому вместо присвоения переменным значений и вызова подпрограммы целесообразнее просто подставить команду PRINT AT в то место программы, где нужно вывести символ.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Вот как выучишь, что такое косвенная адресация - тогда и поговорим
    Тут явно тебе надо учиться, а не мне, поскольку именно ты демонстрируешь неправильное понимание этого термина (или намеренно употребляешь его неправильно в надежде, что остальные не разберутся). А доказательств ты не предъявил, так и запишем. Попытался стрелки перевести, не вышло.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Погроммист профессианальный мля
    Погроммистом я себя никогда не называл. Это твои домыслы. Что это за жаргон? "Погроммист", "напейсать"? Ты часом не антисемит?
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Что становится затруднительным? Записать в колонку несколько свежевыученных команд?
    Мы вроде говорили о более-менее ощутимых результатах от выполнения этих команд. А от "колонки свежевыученных" вряд ли даже буква на экране появится.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Ты не поверишь, о Спектруме (была такая ПЗУха со встроенным монитором и турбо-лоадером)
    Я усмотрел из твоих ответов другим пользователям, что речь шла о некой прошивке "Турбо-90". Ну-ну. Только как после этого твой компьютер можно назвать Спектрумом, если быть столь же придирчивым в этом вопросе, как ты в вопросе о CP/M?
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Ну давай, пригони проверенную корову, принеси учебник по доению, я попробую
    Ты стрелки-то не переводи. От того, могу ли я привести корову, не должна зависеть твоя способность доказать свои слова, что сможешь с ней справиться. Так что, если собираешься доказывать - проблема поиска коровы и учебника ложится тоже на тебя.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Учи матчасть, профессионал. Это именно что КОСВЕННАЯ адресация - "адрес" назначения (назначения, блин! даже направление пересылки ты перепутал) НЕ константа и в самой команде не фигурирует. Он вытаскивается откуда-нибудь из памяти. А прямая адресация вот она:
    Код:
    PRINT AT 3,7;
    Это ты привел пример непосредственной адресации, когда обрабатываемая информация присутствует в самой команде. Пример на ассемблере - XOR 3. На бейсике аналогом непосредственной адресации является использование констант, вроде тех, что в твоем примере.

    Когда же вместо обрабатываемой информации в команде присутствует ее адрес - то такая адресация называется прямой, или абсолютной. Пример на ассемблере - LD (VarX),A где VarX - константа. Тут адрес назначения (но не обрабатываемая информация) присутствует в самой команде. Аналог бейсика - LET x=a. В обоих случаях кроме переменной VarX, другая информация в памяти не может быть затронута.

    А косвенная адресация - это, как я уже говрил, LD (HL),A. Без такой адресации в ассемблере немыслимо создание сколько-нибудь сложных программ, но именно эта адресация является самой "опасной", так как в случае неверного (по ошибке или умышленно) значения HL любая область памяти может быть испорчена (по меньшей мере, в пределах подключенных в данный момент страниц).
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Нуичо? Это было страшно при царе Горохе, в случае отладки на реале
    С эмулятором как-то похрен (даже легче ловится, если код испорчен)
    Да нет, потенциальная порча текста программы и данных в произвольном месте никуда не ушла с приходом эмуляторов. Похожие проблемы имели бы место на бейсике, если бы там неаккуратная работа с переменными приводила бы к порче текста программы.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Или вставь в отладочный вариант проверку и не страдай
    Данный прием тоже не снимает проблемы порчи текста программы и данных в произвольном месте.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Человек хотел вообще-то писать игрушки
    Синусов хватает на песюке
    Вот пускай и пишет, бейсик в помощь. Моя первая игрушка (называлась "Устный счет") использовала умножение. С теми знаниями, которыми я тогда обладал (еще не выучил ни циклов, ни GOSUB) на ассемблере такое бы не получилось. И вообще ничего бы не получилось, никакой игры. А у меня получилась игра. Простая, примитивная, но своя.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Мы рассматриваем пригодность для игрушек, забыл?
    Ты привел отдельно взятое сложение вне контекста какой-либо игрушки, если что.

    В программах на бейсике одиночные и даже в коротких циклах сложения не представляют никаких проблем. Взять тот же "Сапер". Ну не всегда нужна скорость. Иногда человек является фактором, делающим быстродействие излишним. Поиграй-ка в Sea Dragon на уровне Admiral
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    А на бейсике не надо?
    На бейсике тоже надо, но еще до такого изучения человек может уже быть в состоянии написать свою игру на бейсике. То же касается ПМК, между прочим. Функции ввода и вывода тебе на нем чай не приходилось самому реализовывать.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Что какашки всем тут под силу, и так понятно
    Да не всем, в том-то и дело! Не каждый может даже "какашечную" игру на бейсике или еще чем-то написать. Этому надо учиться. Долго и постепенно.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Я 15 лет назад кодил на песюке. Все работает, старый код почти весь остался
    А много ли из этого кода используется в твоих программах последних лет?
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Бейсик проще сразу выбросить
    Не сразу. Он может многое дать прежде, чем станет ненужным.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Это способ для тебя их увидеть
    Странный способ. От его применения мне (да и остальным скорее всего) не стало ясно, что же я должен был увидеть.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Лишь бы сам "достигнутый результат" не разочаровал
    А то в горку заберешься, а вид ацтойный
    Не волнуйся, не разочарует. Альпинисты начинающие ведь тоже на Эверест сразу не лазают. Начинают с мест попроще, и радости от покорения таких "невысоких" вершин у них не меньше. Потому что одно дело - когда кто-то, а другое дело - когда сам.

  2. #102

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Ты наверно страшно удивишься, но какой-нибудь там рекс или саботер обошлись простейшими вычислениями без косинусов
    И вместе с ними over 9000 спектрумовских игрушек, кроме разве что отдельных экземпляров с трехмерной графикой
    Ну вот, ты признал, что косинусы в играх на Спектруме все же встречаются. Почему тогда, с твоей точки зрения, является бесполезным их изучение?

    Кроме того, вычислять косинусы не всегда нужно во время работы игры (или демы), иногда их можно вычислить заранее и хранить в таблице. Так вот, а как и на чем готовить такую таблицу? Бейсик предоставляет отличную возможность для этого, поэтому изучение косинусов и арифметики вообще в бейсике может сослужить программисту хорошую службу.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Ну так ты же с бейсика начинал
    Этот весь аргумент сводится к показыванию языка, которое ты совершил в конце фразы. Покажи мне на того, кто что-то делал и у кого нет неудачных проектов?
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Это кто здесь троль? Я напомню, что всего лишь отвечал на:
    Тролль по следующим причинам. Если вывод сообщения на экран на ассемблере ты сводишь к одному вызову "CALL PRINT", то с тем же успехом написание всей игры можно свести к "CALL GAME"! Но то же можно и на бейсике, оператором RUN! Набрал - и сразу игра запускается! Вот, оказывается, как просто игры-то писать!
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Очевидно, жертвам бейсика невдомек, что на отлаженные нормальные процедуры (не уродские гоу сабы) при наборе текста или просмотре листинга можно не отвлекаться (и вообще вынести их нахрен в отдельный файл) :
    Ты хочешь меня лично оскорбить, назвав жертвой бейсика? Очень показательно, ведь я в твой адрес подобных саркастических замечаний не отпускал. Но переход на личности - это верный признак отсутствия аргументов по существу

    "Отлаженные нормальные процедуры" надо сначала написать, а делать это приходится для всех, даже самых элементарных задач, вроде ввода и вывода. В бейсике хотя бы эти задачи уже решены средствами языка. Во-вторых, даже самые красивые и отлаженные процедуры библиотечного качества - даже они иногда могут привести к сбою и потере информации в случае редко проявляющего себя глюка или неправильного использования. Поэтому полностью абстрагироваться от процедур в любом проекте не получится. Бейсик позволяет не писать и не отлаживать те процедуры, которые реализованы встроенными в него средствами. В этом его сила.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Например, чтоб не лезть куда попало с косинусом наперевес
    А написанию игр это помогает? Или просто с косинусами не бегать помогает? Как эта твоя фраза относится вообще к теме? Опять аргумент в стиле "показать язык"?
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Глядя на тебя, укрепляется уверенность, что привычки точно сформируются после бейсика
    А то хоть надежда будет
    Попытка оскорбления вновь свидетельствует об отсутствии аргументов. А далее по тексту ты признаешь, что уверенности нет, что вредные привычки не будут сформированы программированием на ассемблере вместо бейсика. Имеешь лишь надежду. Ну вот и отлично. Что и требовалось доказать.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    А ты сам здоров? У тебя походу смысловые галлюцинации
    Аргумент в стиле: "сам дурак". По существу ответить нечего? Предлагаешь начать обучение программированию с написания длинных программ, вместо коротких?
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Угу. Целых два десятка символов UDG-графики
    Ты, наверно, чрезмерно (может быть принципиально) пренебрегал бейсиком, чтобы считать, что UDG-графика - это единственное, что на нем можно сделать. Уверяю тебя, это не так. Расширь свой кругозор.

    ---------- Post added at 23:12 ---------- Previous post was at 22:46 ----------

    Цитата Сообщение от psb Посмотреть сообщение
    а вот на полезные дела Lethargeek я бы поглядел.
    Не дави, здесь ему есть что показать. Сделал более быстрый движок, чем авторский, для отображения ландшафта в игре Sea Dragon. Это более чем достойно уважения.

  3. #103

    Регистрация
    07.01.2006
    Адрес
    г. Москва
    Сообщений
    3,442
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    12
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от sevol Посмотреть сообщение
    С чего нужно начинать, что-бы написать примитивную игру с простой черно-белой графикой? Хотя бы для начала.
    Я сам особо не писал игры, однако имею некоторый опыт программирования на Бейсике, Паскале и Ассемблере. В основном решал насущные прикладные задачи.
    Однако если бы взялся писать игру, держался бы следующей концепции.


    1. Задумка, сюжет, основная идея.
    2. Графика.
    3. Движок, если графика будет в игре подвижная.
    4. Логика (искусственный интеллект).
    5. Интерфейс.


    От первого пункта зависит очень многое, наверное 80% успеха. Ведь даже при бедной графике, но при хорошей задумке можно получить шедевр!!! Но, возможно, для пробы пера игра должна быть простой и неизащренной в плане сюжета.
    Графика обычно создается при помощи какого-либо графического редактора, например для Спектрума, это может быть Артстудио. Вполне можно разрисовать экраны, здесь же прикинут объем ОЗУ под это дело, предусмотреть архивацию. Если будет подвижная графика, прорисовать спрайты.
    Для движения спрайтов необходим движок, его лучше писать на Ассемблере, но, в принципе, можно даже на Бейсике. Есть специализированный для этих целей Бейсик, так называемый Лазер Бейсик.
    Логику можно писать на чем угодно - это уже не так принципиально.

    Но вообще для Спектрума лучше всего использовать Ассемблер, так как это позволит более полно использовать возможности машины.


    В школе ребята успешно писали экономические стротегии на обычном штатном бейсике. Игры были довольно играбельны. Но из всего перечисленного там был только искусственный интеллект и интерфейс.

    Странно, что они ленились использовать хотя бы стандартную графику пользователя для оформления...
    Последний раз редактировалось Addison; 13.01.2011 в 00:26.

  4. #104

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,963
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    312
    Поблагодарили
    236 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    Angry до чего же тяжелый случай

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    PRINT AT x,y;c$. Причем обращаю внимание: обращение к переменным x и y - это прямая (абсолютная), а не косвенная адресация
    Не тупи! СМЫСЛ команды - обращение к экрану, не к переменным!
    Покажи-ка нам тут "прямое (абсолютное)" обращение К ЭКРАНУ
    ГДЕ ты здесь увидел хотя бы НЕПОСРЕДСТВЕННО указанные КООРДИНАТЫ?
    Именно сами значения, а не ССЫЛКИ на них через переменные, ась?
    (уж молчу про реальный экранный адрес, чтоб не портить аналогию)

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Это ты привел пример непосредственной адресации, когда обрабатываемая информация присутствует в самой команде. Пример на ассемблере - XOR 3. На бейсике аналогом непосредственной адресации является использование констант, вроде тех, что в твоем примере
    АДРЕС - это НЕ "обрабатываемая информация"
    Непосредственным параметром в рамках аналогии может быть лишь явно заданный символ

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Когда же вместо обрабатываемой информации в команде присутствует ее адрес - то такая адресация называется прямой, или абсолютной. Пример на ассемблере - LD (VarX),A где VarX - константа. Тут адрес назначения (но не обрабатываемая информация) присутствует в самой команде. Аналог бейсика - LET x=a. В обоих случаях кроме переменной VarX, другая информация в памяти не может быть затронута.
    Ё-моё Если ты считаешь "PRINT AT x,y;c$" аналогом прямой адресации, то поведай мне, в какую же из двух цифровых переменных ПРЯМО перешлется символьное значение c$ - в X, в Y, или в обе сразу? Или все же символ (или его образ) должен (в том или ином виде) попасть не в сами переменные, а в некую область памяти, КОСВЕННО адресуемую данными переменными?

    Комментировать остаток не вижу смысла, пока азов не поймешь
    Последний раз редактировалось Lethargeek; 13.01.2011 в 10:49.
    Прихожу без разрешения, сею смерть и разрушение...

  5. #105

    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Barmaley_m Посмотреть сообщение
    Не дави, здесь ему есть что показать. Сделал более быстрый движок, чем авторский, для отображения ландшафта в игре Sea Dragon. Это более чем достойно уважения.
    более чем? для новичка - безусловно, но ведь он не новичок?
    и что мы видим в том коде скроллера?
    1. жесткая манипуляция со стеком
    2. прога пишет в область самой себя (меняет адреса в опкодах)
    3. все жесточайше раскранчено в памяти

    и после этого он нам впаривает про какую-то структурность и правила хорошего тона в программировании? про ассемблер для новичков? про то, что у него все макросами сделано и проверяются границы, чтобы лишнего не записать?
    толстый жирный троллище!

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    ГДЕ ты здесь увидел хотя бы НЕПОСРЕДСТВЕННО указанные КООРДИНАТЫ?
    путаешь непосредственную и прямую адресацию. непосредственная - число, прямая - переменная, типа как Х.

    Цитата Сообщение от Lethargeek Посмотреть сообщение
    в какую же из двух цифровых переменных ПРЯМО перешлется символьное значение c$ - в X, в Y, или в обе сразу?
    говорю же, толстый жирный троллище!

  6. #106

    Регистрация
    08.09.2005
    Адрес
    Воронеж
    Сообщений
    4,963
    Записей в дневнике
    3
    Спасибо Благодарностей отдано 
    319
    Спасибо Благодарностей получено 
    312
    Поблагодарили
    236 сообщений
    Mentioned
    11 Post(s)
    Tagged
    0 Thread(s)

    Lightbulb ученье-свет: специально для гуру в танке

    Непосредственная адресация
    В команде содержится НЕ АДРЕС операнда, а непосредственно САМ ОПЕРАНД.
    Прямая адресация
    АДРЕС указывается непосредственно в виде некоторого ЗНАЧЕНИЯ,
    Косвенная адресация
    Адресный код команды в этом случае УКАЗЫВАЕТ адрес ячейки памяти, В КОТОРОЙ находится адрес операнда или команды.
    http://ru.wikipedia.org/wiki/Методы_адресации
    Прихожу без разрешения, сею смерть и разрушение...

  7. #106
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #107

    Регистрация
    25.01.2005
    Адрес
    Miass, Chelyabinsk region
    Сообщений
    4,094
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    2
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Lethargeek, в вики-то правильно написано, а ты тупишь

  9. #108

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну наконец-то ты соизволил почитать матчасть. В этом свете посмотри на свое предыдущее сообщение и найди, где ты ошибался.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Ё-моё Если ты считаешь "PRINT AT x,y;c$" аналогом прямой адресации, то поведай мне, в какую же из двух цифровых переменных ПРЯМО перешлется символьное значение c$ - в X, в Y, или в обе сразу?
    Успокойся, не надо паники. Команда PRINT AT x,y;c$ не производит запись в переменные x и y и c$. Она производит считывание из этих переменных. Адресация (любая) применяется ведь не только для записи, но и для считывания, правильно? В ассемблере для этих целей используются команды вида LD A,(VarX).

    Что же касается собственно печати на экран - то для программиста на бейсике неважно, как она реализуется. Печать может проходить не путем записи в экранную область, а путем вывода символов на принтер или на терминал. Программисту на бейсике не нужно заботиться о таких деталях реализации. Его изолирует от этих деталей слой абстракции, предоставляемый бейсиком.

    В случае неправильных значений во всех трех указанных переменных максимум что может произойти плохого - это порча содержимого экрана. Но уж никак не порча программы или содержимого переменных.
    Цитата Сообщение от Lethargeek Посмотреть сообщение
    Или все же символ (или его образ) должен (в том или ином виде) попасть не в сами переменные, а в некую область памяти, КОСВЕННО адресуемую данными переменными?
    Ты сейчас углубляешься в реализацию команды PRINT AT самим бейсиком. Но с точки зрения программиста на бейсике вся эта команда выполняется как одно целое. И последствия ее выполнения вполне четко ограничены, что никак не могут испортить программу или ее переменные. Мы с тобой знаем, что печать производится путем записи в экранную область, но начиная программировать на бейсике, нет необходимости даже понимать, что такое экранная область, как она устроена и где находится.

    Если проводить аналогию с ассемблером - то допустим, мы выполняем команду LD (VarX),A. Эта команда использует прямую адресацию, поэтому не может изменить содержимое памяти где-либо, кроме адреса VarX. Но это только с точки зрения программиста данная команда выполняется как одно целое и имеет конкретные последствия. С точки зрения разработчика процессора, эта команда выполняется за много шагов. Сначала адрес VarX считывается из памяти и помещается во внутренний буферный регистр Z80 (MEMPTR), а потом во время записи в память процессор ставит на шину адреса содержимое этого регистра. То есть внутри процессора имеет место нечто, подобное косвенной адресации. Но для программиста это неважно до тех пор, пока процессор не вышел из строя.

    Я надеюсь, ты не предлагаешь начинающим программистам на ассемблере изучать, как устроен процессор и как он выполняет "элементарные" команды?

  10. #109
    ZEK
    Гость

    По умолчанию

    Цитата Сообщение от psb Посмотреть сообщение
    путаешь непосредственную и прямую адресацию. непосредственная - число, прямая - переменная, типа как Х.
    вы все путаете это косвенно индексная адресация

  11. #110

    Регистрация
    08.05.2007
    Адрес
    Dnepropetrovsk
    Сообщений
    1,089
    Спасибо Благодарностей отдано 
    281
    Спасибо Благодарностей получено 
    70
    Поблагодарили
    49 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от psb Посмотреть сообщение
    более чем? для новичка - безусловно, но ведь он не новичок?
    и что мы видим в том коде скроллера?
    1. жесткая манипуляция со стеком
    2. прога пишет в область самой себя (меняет адреса в опкодах)
    3. все жесточайше раскранчено в памяти

    и после этого он нам впаривает про какую-то структурность и правила хорошего тона в программировании?
    Сам же понимаешь, что без всех этих трюков так быстро не получилось бы. Это высший пилотаж. Но это не исключает, что Lethargeek может писать на ассемблере и соблюдая хороший тон и пытаясь реализовать структурность средствами ассемблера. Хотя хорошую игру так тоже не напишешь. Медленно будет.
    Цитата Сообщение от psb Посмотреть сообщение
    про ассемблер для новичков? про то, что у него все макросами сделано и проверяются границы, чтобы лишнего не записать?
    Молодец, хорошо подметил! Ведь если, программируя на ассемблере, пытаться соблюдать хороший стиль всеми этими способами - то будет медленно, и игра мирового класса все равно не получится.

    ---------- Post added at 13:56 ---------- Previous post was at 13:49 ----------

    Цитата Сообщение от ZEK Посмотреть сообщение
    вы все путаете это косвенно индексная адресация
    Кажется, тролли начинают сбегаться на огонек.

Страница 11 из 17 ПерваяПервая ... 789101112131415 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Подскажите пожалуйста!
    от Alex_Vac в разделе Разный софт
    Ответов: 7
    Последнее: 15.02.2009, 15:38
  2. Подскажите пожалуйста!
    от Alex_Vac в разделе Оси
    Ответов: 6
    Последнее: 15.02.2009, 14:54
  3. Подскажите аналоги DALLAS DS1285, пожалуйста.
    от Evgeny Muchkin в разделе Несортированное железо
    Ответов: 6
    Последнее: 19.09.2006, 15:28
  4. Каких команд с IX не существует?
    от captain cobalt в разделе Программирование
    Ответов: 5
    Последнее: 21.08.2006, 19:58
  5. Подскажите название игры
    от baron в разделе Игры
    Ответов: 9
    Последнее: 12.02.2006, 12:05

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •