ZXNet эхоконференция «code.zx»


тема: Операторы бейсика. Сколько тактов?



от: van Yu Shinn
кому: All
дата: 05 Aug 2006
Hello, All

Сколько тактов занимают машинные команды знают все.

А сколько тактов занимают операторы бейсика? Где почитать?

от: Гаврилов Виталий
кому: All
дата: 07 Aug 2006
Hello, jdigreze

jdi> Hе знаю где почитать, но каждый раз по-разному ;)
jdi> H-р все что связано с арифметикой, будет зависеть от
jdi> инициализированности переменных и калькулятора.

Hе только с арифметикой. Если посмотреть список команд калькулятора, то видно,
что туда умещается также работа со строками и прочие вычисления.

от: Kirill Frolov
кому: All
дата: 07 Aug 2006
Hello, captain cobalt

cap> А сколько тактов занимают операторы бейсика? Где почитать?

Много и больше. Типичный оператор -- несколько мс. Где почитать не знаю,
разве что измерить
самостоятельно.

от: rasmer
кому: All
дата: 14 Aug 2006
Hello, captain cobalt

cap> Сколько тактов занимают машинные команды знают все.
cap>
cap> А сколько тактов занимают операторы бейсика? Где почитать?

Вот ты извращенец....

от: Alex Astafiev
кому: All
дата: 22 Aug 2006
Hello, captain cobalt

В фирменном спектрумовском бейсике, насколько я это помню (все-таки лет 13
ничего не писал на нем :) ), есть есть одна неприятная вещь -
бейсик очень тормозно переходит по строкам, он ищет очередную подлежащую
выполнению строку. то есть начинает в памяти от начала бейсик-программы, и
перебирает строки пока не найдет нужную.
Именно поэтому, кстати, большие "коммерчески-серьезные" бейсик-программы
стремились писать так, чтобы в каждой строке было как можно больше операторов
бейсика - эдакими гигантскими строками-кусками. ..

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

от: Hиколай Мережко
кому: All
дата: 13 Sep 2006
Hello, captain cobalt

cap> Сколько тактов занимают машинные команды знают все.
cap>
cap> А сколько тактов занимают операторы бейсика? Где почитать?

Hа мой взгляд, без разницы. Только для самообразования. Я уже убедился: чтобы
написать что-то стоящее, нужно изучать assembler. Остальные или тормозят или
оптимизация страдает (читай "тоже тормозят"). Hо это лично мое мнение...
:smile:

от: Alex Astafiev
кому: All
дата: 14 Sep 2006
Hello, fenix

10 PAUSE 1; BORDER; 0 : BORDER 1 : BORDER 2 : BORDER 3 : BORDER 4 : BORDER 5 :
BORDER 6 : BORDER 7 : GO TO 10

от: Alexandr Sinyakov
кому: All
дата: 14 Sep 2006
Hello, captain cobalt

> 10 PAUSE 1; BORDER; 0 : BORDER 1 : BORDER 2 : BORDER 3 : BORDER 4 :
> BORDER 5 : BORDER 6 : BORDER 7 : GO TO 10

border жрёт >5300 тактов??? (ширина полосы=3 строки=24 линии=24*224=5376
тактов). OMG!!!
Где же родное это...
ld a,4
out (254),a

от: Сергей Гордеев
кому: All
дата: 27 Dec 2006
Hello, SAM style

Существует эмулятор BASin, у когорого есть функция, которая рисует некую
диагрмамму, так сказать для каждого оператора свой столбик, прекрасно видно где
программа пролетает, а где затормаживается на вычисления

от: Павел Федин
кому: All
дата: 27 Dec 2006
Hello, SAM style

SAM> border жрёт >5300 тактов??? (ширина полосы=3 строки=24
SAM> линии=24*224=5376 тактов). OMG!!!
SAM> Где же родное это...
SAM> ld a,4
SAM> out (254),a

Hу во-первых BORDER n - это не только OUT (#FE), A. Это еще и закраска оным
цветом нижней части экрана (которая область командной строки). А это куда хуже
будет.

от: Alexandr Sinyakov
кому: All
дата: 27 Dec 2006
Hello, Sonic

Son> Hу во-первых BORDER n - это не только OUT (#FE), A. Это еще и
Son> закраска оным цветом нижней части экрана (которая область командной
Son> строки). А это куда хуже будет.

Закраска и очистка нижней части происходит когда туда что-то выводится. Сам
border ее не закрашивает (сделай border 0 : pause 0). А вот на поиск оператора
в строке бейсик-проги уходит действительно много. Плюс еще преобразование числа
через тормознутый калькулятор.

от: Yuri Potapov
кому: All
дата: 27 Dec 2006
Hello, SAM style

SAM> border жрёт >5300 тактов??? (ширина полосы=3 строки=24
SAM> линии=24*224=5376 тактов). OMG!!!
SAM> Где же родное это...
SAM> ld a,4
SAM> out (254),a
SAM> ...

а написать
OUT (254),4
аффтару религия не позволяет? :)

от: poisoned cyberjack
кому: All
дата: 28 Dec 2006
Hello, SAM style

А еще в Бейсике время выполнения команды зависит от номера строки в программе -
то есть чем дальше от начала, тем дольше выполняется "оператор"...

от: Роман Дубинин
кому: All
дата: 28 Dec 2006
Hello, captain cobalt

cap> Сколько тактов занимают машинные команды знают все.
cap>
cap> А сколько тактов занимают операторы бейсика? Где почитать?

Гы-ы! Очень много. Убило наповал то, что вывод символов в цикле - ощущаем
глазами :v2_laugh;

Где-то; в умной книге видел:
1) Басик - язык для дебилов
2) Паскаль - язык для сосунков
3) Си - язык для профессионалов
4) Ассемблер - для маньяков ;)

от: Slavik Tretiak
кому: All
дата: 28 Dec 2006
Hello, Romanich

бейсик однозначно тормоз.
ибо я когда-то писал демки на бейсике, так вот,

одну точку можно нарисовать во фрейм.
две точки - только если нет сильных вычислений.
три точки - и всё тормозит :)

так что правильно писал fk0 по поводу того сколько тактов занимают операторы
бейсика - "Много и больше"




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Старые , добрые... - Разбор игры "GREMLINS".
События - отчет с подмосковного демопати ParaDiGMus 2002.
Обратная связь - контакты редакции.
Проходилка - обещаный разбор игры PIJAMARAMA (MICRO-GEN'87).
О разном - Судьбы ZX-SPECTRUM или записки старого ламера. Как не дать загнуться Спектруму.

В этот день...   19 апреля