User Tag List

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя
Показано с 21 по 30 из 39

Тема: BASIC vs. Assembler

  1. #21

    Регистрация
    27.01.2005
    Адрес
    С.-Петербург
    Сообщений
    93
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Nomy Graphics Посмотреть сообщение
    Ребят, что-то вы все смешали. Всякие там REM-загрузчики, самомодифицирующийся код и т.п. - энто не Бейсик. Энто самый натуральный Ассемблер. Фактически, обсуждается классическое программирование на асме и оно же, при размещении машинной программы в Бейсик-области. Ну и где же Basic vs Asm??
    Программа на Бейсике которая сама себя модифицирует - это не Бейсик?

    Цитата Сообщение от Nomy Graphics Посмотреть сообщение
    По существу вопроса все было сказано верно:
    Basic - для разработки некритичных к времени выполнения/памяти приложений, стоит использовать ввиду:
    ...

    В остальных случаях нужен Асм ввиду:
    + максимально оптимизированного кода (по времени либо памяти, либо компромиссно)
    В программировании, как области инженерии, оптимальные решения всегда являются компромиссными.

    На мой взгляд, можно определить плюсы и минусы каждого из подходов (Бейсик и Ассемблер), а также выработать пути по взаимному использованию друг-друга. Если вызов ассемблерной процедуры из Бейсика не составляет сложностей : RANDOMIZE USR ..., то вот обратные вызовы, на мой взгляд практически нигде не используются. А ведь сколько открывается возможностей: Ассемблерная программа может динамически создать Бейсик программу, положить её в нужное место памяти, настроить системные переменные и вызвать Бейсик интерпретатор.

  2. #22

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

    По умолчанию

    Цитата Сообщение от valker Посмотреть сообщение
    настроить системные переменные и вызвать Бейсик интерпретатор.
    это еще зачем? проще юзать готовые процедуры пзу. так и делали всегда.

  3. #23

    Регистрация
    18.02.2005
    Адрес
    Набережные Челны
    Сообщений
    1,574
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    Цитата Сообщение от valker Посмотреть сообщение
    В программировании, как области инженерии, оптимальные решения всегда являются компромиссными.
    Да. поиск максимума и поиск оптимума разные задачи, хотя одна через другую решается.


    Цитата Сообщение от valker Посмотреть сообщение
    На мой взгляд, можно определить плюсы и минусы каждого из подходов (Бейсик и Ассемблер), а также выработать пути по взаимному использованию друг-друга. Если вызов ассемблерной процедуры из Бейсика не составляет сложностей : RANDOMIZE USR ..., то вот обратные вызовы, на мой взгляд практически нигде не используются. А ведь сколько открывается возможностей: Ассемблерная программа может динамически создать Бейсик программу, положить её в нужное место памяти, настроить системные переменные и вызвать Бейсик интерпретатор.
    iS-DOS именно такой подход и использовала. И продолжает %) Если открыть руководство от Ларченко и Радионова, то там тоже предлагается такой подход - в произвольном месте лежит текст басик-программы, системные переменные подправляются и вызывается ПЗУ. Не получило распространения изза низкой эффективности, на самом деле кто использует АСМ открещивается от басика всем чем можно и если уж поддерживает, то только когда некуда деваться.

    Добавлено через 22 секунды
    Цитата Сообщение от psb Посмотреть сообщение
    это еще зачем? проще юзать готовые процедуры пзу. так и делали всегда.
    Вот собственно про это я и говорю.
    Последний раз редактировалось GriV; 15.05.2007 в 17:16. Причина: Добавлено сообщение
    Биты рулят лучше байтов, байты рулят шустрее!
    View, Звук, Цвет

  4. #24

    Регистрация
    22.02.2005
    Адрес
    triebkraft
    Сообщений
    712
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    я делал сборники с FOREVER'а - там из басица вызывается асм - а потом исправляется имя загружаемого файла и выходится обратно в басиц - откуда через RUN выбранная программа запускается.... да и почти все boot'ы так сделаны... [но я в тр-дос'е если честно ничего не понимаю =)]

  5. #25

    Регистрация
    30.10.2006
    Адрес
    Москва
    Сообщений
    86
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от valker Посмотреть сообщение
    Программа на Бейсике которая сама себя модифицирует - это не Бейсик?


    В программировании, как области инженерии, оптимальные решения всегда являются компромиссными.

    На мой взгляд, можно определить плюсы и минусы каждого из подходов (Бейсик и Ассемблер), а также выработать пути по взаимному использованию друг-друга. Если вызов ассемблерной процедуры из Бейсика не составляет сложностей : RANDOMIZE USR ..., то вот обратные вызовы, на мой взгляд практически нигде не используются. А ведь сколько открывается возможностей: Ассемблерная программа может динамически создать Бейсик программу, положить её в нужное место памяти, настроить системные переменные и вызвать Бейсик интерпретатор.
    10 LET A = VAL "A"
    20 PRINT A
    30 POKE <адрес строки 10 + смещение до символа "А" >, RND*255
    40 GOTO 10

    Да, это - Бейсик. Хотя требующий уже знания устройства интерпретатора. Что не есть классический случай его применения. Но ладно, согласен.

    10 POKE <адрес символа "А" в строке 20>,201
    20 REM A
    30 RANDOMIZE USR <адрес первого символа в строке 20>

    А это - не Бейсик. Это - программирование на Бейсике машкода, т.е. асм!

    Не, ну конечно, и это можно назвать Бейсиком, но просто потому, что Бейсик и Ось объединены вместе. Ведь не скажешь же, если написать RANDOMIZE USR 40000 и запустится какая-нить мегадема, что это написано на Бейсике!

    Далее. Оптимальные решения не всегда являются компромиссными (под компромиссом понимается баланс скорость работы/длина кода). Во многих демах, как известно, в изобилии встречается развернутый цикл, т.е. просто повторяется пара команд, вместо помещения в цикл. Тут никакого компромисса нет - все сделано ради лишних тактов - программа длинней не бывает. В системной же утилите, оси, резидентной процедуре, вирусе - упор делается на минимальный размер кода. Хотя естесственно, чаще бывает компромисс.

    И про обратные вызовы - используется. Так, я использовал это в своей оси NK-DOS - именно, как ты описал.

  6. #26

    Регистрация
    04.03.2005
    Адрес
    Ukraine, Kiev
    Сообщений
    792
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Всё что тут рассматривается это просто программирование. Если вы напишите программу на ZX'е, в ВАСИКЕ то в любом случае её нужно будет править под другой бейсик. А если загнать программиста в ограничения, не используй вот ту сотню комманд и не трогай память, а то на калькуляторе её нет, и вообще принт не юзай, а то нет дисплея, то будет как с СИ под микроконтроллеры, одни IF'ы и FOR'ы, и то если повезёт.

    Нет победителей, оба (Аsm и Васик) работают под ZX и в каждом языке есть свои особенности.

    А сравнивать, что на васике можно круг нарисовать и затратить на это 0.5 минуты времени - глупо. Поскольку сама задача воссоздания лишь круга не имеет смысла ... Ну круг и в чём особеннсть языка ? Нужно ставить более обширные задачи ... Например сделать графический редактор где есть круг, линия, треугольник, элипс, кривая, всяческие меню и т.д. Вот это уже задача, и я уверен, что Васик быстро отпадёт как средство разработки.

    А вот использование и васика и асма это уже более дельно. Много кода будет жраться, когжа нужно корни высчитывать, да и вообще матиматика, а через васик самое - оно !!!
    AAA когда меня режут, я терплю, но когда дополняют, становится нестерпимо.

  7. #27

    Регистрация
    20.04.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,870
    Спасибо Благодарностей отдано 
    521
    Спасибо Благодарностей получено 
    250
    Поблагодарили
    224 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Преимущество Бейсика перед ассемблером с моей точки зрения следущие:
    1) его проще сделать понятным и доступным для других людей;
    2) он быстрее осваивается (в том числе и благодаря тому, что он интерпретатор).
    Но за все в этом мире нужно платить, и эти вот самые достоинства совершенно определяют и его недостатки.

  8. #28

    Регистрация
    17.02.2005
    Адрес
    USA
    Сообщений
    371
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от valker Посмотреть сообщение
    Перечислите как можно больше отличий ЯЗЫКОВ (не средств разработки!).

    1. Ассемблер - есть прямой доступ к регистрам процессора.
    2. Ассемблер - программист решает, где лежит программа.
    3. Ассемблер - возможность создания самомодифицирующегося кода.
    4. Ассемблер - значительно большая скорость выполнения команд.
    Как можно сравнивать тёплое с мягким? Одной фразы "Команды языка ассемблера один в один соответствуют командам процессора" достаточно, IMHO. Хотя, если кому-то всё ещё интересно...

    http://ru.wikipedia.org/wiki/%D0%AF%...B5%D1%80%D0%B0

    http://ru.wikipedia.org/wiki/Basic

  9. #29

    Регистрация
    13.03.2005
    Адрес
    Southern city
    Сообщений
    84
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    3 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Nomy Graphics Посмотреть сообщение
    программирование на Бейсике машкода, т.е. асм!
    Не совсем так. Васиц - интерпретатор или компилятор. Ассемблер - компилятор. А маш.код, он и есть маш.код. Он не требует интерпретации или компиляции. Ассемблер != маш.код.

  10. #30

    Регистрация
    01.03.2005
    Адрес
    Саранск
    Сообщений
    5,830
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    247
    Поблагодарили
    106 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Короче на спектруме встроенный басик не жилец как средство разработки серьезных программ, ибо это сопряжено с большим количество нервов и общей тормознутостью полученной программы. Ассемблер наиболее эффективен, с вызовами ПЗУ для вычислений или чего еще потребуется...
    Свирепый агрессивно-депрессивный мордовец!
    Не уверен - не напрягай!

    Не сдавайся. Дыши?

    Virtual TR-DOS

Страница 3 из 4 ПерваяПервая 1234 ПоследняяПоследняя

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

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

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

Похожие темы

  1. laser basic
    от johnny в разделе Программирование
    Ответов: 32
    Последнее: 17.02.2014, 22:57
  2. Прошивка BASIC 48 1990г.
    от andrew76 в разделе Память
    Ответов: 21
    Последнее: 14.12.2006, 22:00
  3. Как скомпилировать длинную Basic-прогу?
    от Jukov в разделе Программирование
    Ответов: 7
    Последнее: 09.10.2006, 11:35
  4. Конвертор Basic
    от deny в разделе Софт
    Ответов: 3
    Последнее: 12.01.2006, 02:47
  5. ASSEMBLER
    от MadCat! в разделе Программирование
    Ответов: 50
    Последнее: 03.03.2005, 16:04

Ваши права

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