User Tag List

Страница 4 из 4 ПерваяПервая 1234
Показано с 31 по 39 из 39

Тема: BASIC vs. Assembler

  1. #31
    Master
    Регистрация
    17.05.2005
    Адрес
    г. Абакан
    Сообщений
    694
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Использовать то можно, и иногда очень даже эффективно, особенно если заюзать вставки маш.кода.

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

  3. #32
    Member
    Регистрация
    14.02.2005
    Адрес
    Владивосток
    Сообщений
    111
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    весь basic vs assembler свелся к тому что пишем на ассемблере но калькулятор юзаем басиковый

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

    По умолчанию

    Сам противостояние имхо неверное... нельзя так противопоставлять.

    Бейсик это бейсик - ЯВУ если угодно, со всеми своими достоинствами и недостатками. А сранивать ЯВУ и машинный код, коим в целом и является ассемблер можно бесконечно очевидно одно - машинный код быстрее, ЯВУ более удобный для написания программ (ну вот вывести симвом на экран это показатель этих двух средств).

    Сильно сомневаюсь чтобы спекковский басяк сильно отличался от общего прототипа ЯВУ.

    Зато вот что интересно, так это использование в бейсик программах вставок маш. кода, но не таким дурацким способом как это делалось, а через вызов посредством USR и DEF FN (который насколько я знаю редко пользовался программисткой братвой). Откройте Ревюшки от 95 года и статьи Вадима Бодрова по растровой графике - там он предлагал эффективно соединять бейсик и маш. код - первый делает обсчёты (которые, при всём желании, быстрее никак не сделать) второй выводит графику, и можно в итоге получить нечто не очень слабое. Вроде как одна из фирменных игрушек использовала такой подход - когда все тексты выводится и рассчёты проводятся через басик а графика через маш. код.
    Биты рулят лучше байтов, байты рулят шустрее!
    View, Звук, Цвет

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

    Smile psndcj says

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

    но когда я все еще сидел на реале, я специально такие рассчеты делал в асме с использованием ПЗУшного калькулятора - это в UNREAL есть NUMLOCK =), а на реале 5 минут вместо 1 сидеть очень тяжко - особенно на этапе экспериментирования, когда не знаешь толком что надо получить...

    эффективно соединить бейсик с машкодом это не эффективно =) слишком слабый проц - и слишком неэффективно бейсик работает... простой пример "1 BORDER 1:BORDER 0:GO TO 1" и "ld a,1: out (#fe): ld a,0: out (#fe): jr $-8" - сравните количество полосок

    при необходимости возможно написание быстрой математики в ассемблере - только каких человекозатрат это потребует? в нашей последней деме есть 2 части, где рассчитывается расстояние отрезков ( len=sqr(x*x + y+y) ) - для каждой из 16 точек выссчитываются расстояния до всех остальных - 240 вычислений отрабатываются меньше чем за 30К тактов =) но эт конечно чисто демошный частный случай

  6. #35
    Member Аватар для Vovoi
    Регистрация
    06.07.2005
    Адрес
    г. Петрозаводск
    Сообщений
    151
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Про компиляторы бэйсика забыли (Tobos FP, Softek, MCoder2)

    Теоретически, если в бэйсик был бы заложен компилятор и ключи запуска, такие как:
    1. Выполнить в режиме интерпретации (возможен останов и отладка).
    2. Выполнить, предварительно скомпилировав (адрес такой-то).
    то вопрос быстродействия не стоял на первом месте.
    Тогда бы обсуждалось качество встроенного компилера.
    Затем, в бэйсике нет вставки ассемблерных команд. Можно, конечно, вводить цифры (например в STC1), но это уже не то (как упоминал выше Nomy Graphics).
    А вот неплохой бы вариант:
    <...>
    20 BORDER 0
    30 PRINT PAPER 3; INK 6; AT 5,8;"Loading, don't stop the tape please..."
    40 LD IX,16384
    50 LD DE, 6912
    60 LD A,255
    70 SCF
    80 CALL 1366
    <...>
    8-)

    зы: ну, я опускаю тот момент, что текст асма нужно как-то отделить.
    Вложения Вложения
    • Тип файла: zip stc10.zip (17.7 Кб, Просмотров: 226)
    Spectrum Basic

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

    По умолчанию

    Не так всё было, не так...
    Биты рулят лучше байтов, байты рулят шустрее!
    View, Звук, Цвет

  8. #37
    Master Аватар для ng_dead
    Регистрация
    22.02.2006
    Адрес
    Москва
    Сообщений
    522
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Vovoi Посмотреть сообщение
    Про компиляторы бэйсика забыли
    самый ништяк компилятор, которым я пользовался - HiSoft BASIC.
    Time to burn! You losers better learn -
    No one controls our goddamn lifesl

    Дельта-С 128
    Amiga 600
    Raspberry Pi Rev. B

  9. #38
    Master
    Регистрация
    17.05.2005
    Адрес
    г. Абакан
    Сообщений
    694
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Vovoi, ну, в принципе можно написать некий "компилятор" асма для работы из-под бейсика в стиле:
    10 RANDOMIZE USR address_of_compiler: REM "LD IX,16384: LD DE,6912: LD A,255: SCF: CALL 1366"

    ЗЫ: Кстати, было бы прикольно!

  10. #39
    Member Аватар для Vovoi
    Регистрация
    06.07.2005
    Адрес
    г. Петрозаводск
    Сообщений
    151
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от James DiGreze Посмотреть сообщение
    Vovoi, ну, в принципе можно написать некий "компилятор" асма для работы из-под бейсика в стиле:
    10 RANDOMIZE USR address_of_compiler: REM "LD IX,16384: LD DE,6912: LD A,255: SCF: CALL 1366"

    ЗЫ: Кстати, было бы прикольно!
    А если так:
    <...>
    310 REM asmstart
    320 REM LD A,2; kommenty rulyat
    340 REM CALL 5633
    350 REM ;nu i tak dalee
    310 REM asmend
    <...>
    ... для удобочитаемости.



    хотя, наверное ерунда это все... проще на асме написать

    Добавлено через 1 час 1 минуту
    А,.. я понял в чем была фишка строки "10 RANDOMIZE USR address_of_compiler:". В том, чтобы в "Basic RealTime", т.е. в процессе интерпретации уже выполнялась только что скомпиленная часть программы (бэйсик-строка), которая впоследствии будет просто размещена в теле будущей программы. Но эти сладости увеличат объем компилятора

    Кстати, о расширителе бэйсика "Laser Basic" говорилось, что кроме интерпретации, сей продукт может компилировать также листинги зашитого бэйсика. Таким образом, программа управлялась со смесью SpectrumBasic и LaserBasic.
    Н.Родионов, А.Ларченко "Диалекты Бэйсика для ZX Spectrum". Компилятор. Стр186.

    ЗЫ:
    В моем bas-примере не было одной фишки: POKE 23606,64256. Помню, как-то надоело делить на 256 (в оперативке было 4 разных шрифта), да потом еще что-то прибавлять. Так что взял, да влючил в компилер новый оператор.
    Последний раз редактировалось Vovoi; 12.05.2008 в 15:34.
    Spectrum Basic

Страница 4 из 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

Ваши права

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