Следует ли понимать это высказывание как аргумент в пользу простоты ассемблера по сравнению с бейсиком?
Как же тогда небыдлокодеры передают в процедуры переменные и возвращают из нее значения на ассемблере, если не секрет?
Вид для печати
Как минимум есть директивы MODULE/ENDMODULE, определяющие область видимости меток.
Ну-ну-ну. Взять хотя бы "1/2<>0.5" - неизменно превосходный результат!
Время подтвердило только полную НЕпригодность бейсика для игрушек
Сколько даже не хороших, а хотя бы сносных игр для Спека на бейсике?
Тех, с которыми не хочется через две минуты нажать на резет?
Чушь. У ассемблера на выходе - чистый код (можно по шагам отслеживать в эмуляторе) и листинг (можно вешать рядом с эмулятором для проверок). Если даже глюки будут, увидишь сразу.
Большинство задач в ассемблере спокойно решаются без косвенной адресации к переменным.
Да, не самым эффективным способом, но РЕШАЮТСЯ. Начинающему достаточно.
Следовательно - косвенная адресация НЕ нужна "постоянно и везде"
Уж во всяком случае не больше, чем в том же бейсике (об этом ниже)
А вторые - с макросредствами по мере их изучения. В ЧЕМ ПРОБЛЕМА?
Контрпример - Lethargeek, человек чудовищно ленивый, вялый, сонный и слабовольный :p
Провозился пару часов (потому что набирал машинный код ручками во встроенном мониторе)
Адреса в дисплейном файле обнаружил методом тыка (мануалов не было)
С калькулятором же сработало
Разговор вообще-то шел о косвенных обращениях к переменным
Или я скажу, что в бейсике тоже "постоянно требуется косвенная адресация"
Например, даже в случае простейшего "PRINT AT VarX, VarY;VarChar$"
Ажно целых три косвенных параметра :D
А по-русски - "проверки ПРИ выполнении"
Непонятно? А немного поднапрячь ну-совсем-непострадавшие-от-бейсика-мозги и слегка подумать?
У тебя же под рукой эмулятор! В котором можно видеть и редактировать что угодно, когда угодно, и где угодно!
Не придуривайся. Сразу станет несмешно, когда то же самое сложение будет в цикле.
А у человека цель напейсать какашку и успокоиться? Все, тогда сдаюсь - *****бейсик в руки :D
Или все же хочется, чтобы не было потом мучительно больно за бесцельно нажатые кнопки?
Разуй глаза
Вынь бананы из ушей
И палец изо рта
Изучать библиотеки или кодить собственные процедуры, если цель писать игрушки - полезно
Изучать "PRINT a+b*COS(c)" - БЕСПОЛЕЗНО
Личный опыт, что ли? Ты застрял на мелочах в ассемблере и сбежал на бейсик?
Или после бейсика с ну-совсем-непострадавшими-мозгами застрял в ассемблере?
Что за страшные приемы так важны для понимания короткой строчки "CALL PRINT"? :v2_dizzy_facepalm:
Выработка чувства достаточности
Можно. Но, во-первых, время потратил зря, во-вторых - сформированы вредные привычки
А короткие никому на GUI не упали
...тот время потратил зря. Потому что в асме он снова начинающий :D
Твоя? Да. И уже далеко не первая.
Современный макроассемблер является чем захочешь
И в паскале GOTO жив и здоров
Ты бы определился - так "отсутствуют" или все-таки "поддерживает" :v2_laugh:
Разве что +3, только в них можно отображать ОЗУ в 0-16К (то есть полностью похерить совместимость с обычным Спеком)
Между прочим, на дворе 2011 год, на столе песюк!
Это ты не понимаешь, ЗАЧЕМ это БЫЛО нужно и ПОЧЕМУ
Аттеншен! Ду ю рид ми? Але, гараж? Кто нибудь здесь спрашивал про "сложные численные алгоритмы"?
Если кто не в курсе, были заданы вопросы "Подскажите пожалуйста, На каких языках пишутся игры"
и "С чего нужно начинать, что-бы написать примитивную игру с простой черно-белой графикой?"
А теперь поведай мне, нахрена в простых игрушках регрессионный анализ?
---------- Post added at 00:10 ---------- Previous post was at 00:06 ----------
Эти "пониматели" хоть бы заголовок прочли сначала :rolleyes:
Совсем нет. Это следует понимать как аргумент в пользу как можно более раннего ухода с бейсика, желательно "закончить, не начав". Я не раз видел результат применения "бейсикового" подхода к программированию на других языках- одна огромная стартовая функция и миллиард глобальных переменных. Хотя во всех учебниках того же паскаля функции и процедуры изучаются буквально в первых главах.
Неужели неизвестно?
1) Через стек
2) Передавая указатель на эти переменные. Где они физически расположены (в куче, в стеке, глобально) - не важно.
Нагло врешь. Полистав с начала старый топик про видеорежимы, можно убедиться в противном. Были бы веские причины...
---------- Post added at 00:39 ---------- Previous post was at 00:27 ----------
Ты бы лучше вспомнил, что "процедуры типа рисования линий" в ПЗУ довольно длинные
Разницу заметишь, если будешь в цикле рисовать множество коротких отрезков
Тематические разделы в общесоюзных журналах с миллионными тиражами тоже никогда не видел?
Угу. После калькулятора, который как-то же сумел освоить БЕЗ "понимания"
Потому-то я и говорю: бейсик вреден :D
Ты настолько промахнулся с его диагнозом, что наверняка не распознаешь и линуксоида
Вам сюда: http://zx.pk.ru/showthread.php?t=14677
Где-то приводились доказательства его сложности? :rolleyes:
Это вы здесь гоните, что в ассемблерах нет того-сего-другого-третьего
Или притворяетесь, будто наступил 1984, а не 2011
Кто вас только выпустил из гурятника...
а ухода куда? на асм что ли??
если уход на си/паскаль, то это совсем другое дело, а сразу на асм - бред.
т.е. нормально, если все переменные физически будут глобальные?:) будем на бейсике тогда переменные обзывать modulename_varname, и будем думать, что у нас существуют области видимости:)
можно не использовть глобальные переменные, можно сделать массив и заэмулить на нем стек. возвращать в результат в одной глобальной переменной. а что? именно так и работает в асме.
---------- Post added at 02:57 ---------- Previous post was at 02:42 ----------
какая к черту разница? факт, много печатаешь или рисуешь - тормоза! плохой твой метод вызывать подпрограммы из пзу. не сделать так игру!
по себе людей не судят, знаешь такое?
ппц олень
ты правда такой тупой? или просто троллишь?
еще раз для тех кто в танке:
я видел это сам лично 100500 раз, и еще предстоит видеть хз сколько, работа такая... ты же говоришь только за себя, как тебе супер легко. мне тоже супер легко, даже легче чем тебе в разы, но речь-то идет не о нас.
какой смысл говорить что ты пишешь на асме, если ты фигачишь макросами, которые тебе все упрощают? что? ты в дебаггере видишь настоящий асм? так ты и после си и паскаля увидишь настоящий асм! даже бейсик можешь подебажить.
а в нормальном обычном ассемблере никаких структур - нет и не было никогда. пиши на си, компиль и думай что макросами пишешь на асме:)
ха-ха, а по делу?
Что ты гонишь, с какого перепугу он стал "моим"?
ПМК успешно освоили миллионы, знаешь такое?
Ты успешно совмещаешь :v2_clap2:
А вот нефиг было с бейсика начинать :v2_tong2:
И еще раз для тех, кто в танке: с эмулем неуклюжесть можно себе позволить
Это не работа, это наказание тебе ниспослано Ктулхой :v2_laugh:
Мда, тяжелый случай... ПОТОМУ ЧТО ЭТО И ЕСТЬ АССЕМБЛЕР!!
В макросах такой же машинный код, мною же написанный!
Ровно то же самое можно тупо набрать и ручками, но зачем?
Впрочем, судя по
или по
Понимаю: мегагуру легких путей не ищут :v2_laugh:
А в нормальном оригинальном бейсике (кстати, компиляторе) не было поначалу инпута :D
И о чем ты думаешь, нагло пользуясь этим сатанинским изобретением?
Да я какбэ если и агитирую за переход на асм, то сугубо в рамках спектрума. Ибо альтернатив нет.
На других платформах- как раз другие языки. Разные для разных целей.
Переделать глобальную переменную на любую другую- копеешное дело, если все ссылки косвенные. Это к вопросу о мракобесной для тебя области сопровождаемости кода:)
Покажи хотя бы одну программу на бейсике, делающую это. А также "начинающего погроммиста", который так будет делать. А ведь упор именно на начинающих делается.
Бейсик вреден, только если человек, освоив бейсик, кроме него больше ничего изучать не хочет. Таким же макаром вреден и ассемблер. И даже паскаль и си.
А что касается лёгкости изучения основ программирования - бейсик рулит по ряду причин. Вкратце - изучать программирование на примере языка бейсик можно: 1) последовательно от простых абстракций к сложным, в процессе пробуя каждую на примерах; 2) в дружественной среде интерпретатора/мгновенного исполнителя; 3) используя достаточно мощные встроенные языковые средства ввода/вывода.
Изучая ассемблер, прежде чем написать хотя бы простенькую программку, придётся сразу освоить целый массив абстракций - процессор, модель памяти, команды, регистры, метки, стек, исходный текст, компиляция, машинный код... Да, человеку, который уже_имеет_ опыт программирования ПМК, ассемблер изучить будет гораздо проще, но и только. Далекий от программирования разум новичка просто не осилит написание даже простейшей программы по обработке чисел на ассемблере. А если и осилит, это ему мало что даст. Один знакомый так и говорил - я вроде все команды понимаю, а как игры пишутся, так и не понял.
А что ст0ит изучить на Спеке после ассемблера? Разве только Форт... чтобы переделать его немедленно :D
Это можно даже в голом машинном коде
Эмулятор+SJasm+compile.bat
Эмулятор: и так все видно
Я свою первую простенькую программку набрал тупо во встроенном мониторе Турбо-90, больше половины команд не зная :D
Проще. Но в итоге будет просто сэкономлено время, ранее потраченное на ПМК
Калькулятор для "далекого от программирования разума" ничуть не проще Z80
Даже неудобнее при отладке, все регистры сразу ему не видно
Уйма недокументированных глюков
И ничо, асиливали вполне
Ассемблер тут ни при чем. Твой знакомый просто не понимает как игры пишутся.