Цитата Сообщение от 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 Посмотреть сообщение
Лишь бы сам "достигнутый результат" не разочаровал
А то в горку заберешься, а вид ацтойный
Не волнуйся, не разочарует. Альпинисты начинающие ведь тоже на Эверест сразу не лазают. Начинают с мест попроще, и радости от покорения таких "невысоких" вершин у них не меньше. Потому что одно дело - когда кто-то, а другое дело - когда сам.