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 по поводу того сколько тактов занимают операторы
бейсика - "Много и больше"
|