LINUX.ORG.RU

Ответ на: комментарий от lenin386

Очень важна. Советские инженеры не знали, что такое 8 бит.

Битность – это довольно мутное понятие, есть много разных битностей: размер регистров, размер указателей, размер адресного пространства (физического, виртуального), единица чтения адресной шины. И всё это может быть разное.

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 1)
Ответ на: комментарий от X512

Битность - это разрядность АЛУ. Из которого вытекают такие вещи, отсутствие адресации на стеке, 8-битные смещения при индексной адресации, а в некоторых случаях и 8-и битный указатель стека. Всё это превращает создание эффективного компиляра ЯВУ для классических 8-и биток в нерешаемую задачу. Их и до сих пор нет.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 1)
Ответ на: комментарий от lenin386

Битность - это разрядность АЛУ.

Тогда современные x86 получаются 512 битные (AVX).

8-битные смещения при индексной адресации

Никто не заставляет пользоваться встроенной индексной адресацией. Можно использовать адресную арифметику.

8-и битный указатель стека

Можно любой регистр взять как указатель стека, можно взять два регистра.

В итоге всё зависит от объёма доступной памяти.

X512 ★★★★★
()

Скорбный день для всего человечества …

gremlin_the_red ★★★★★
()
Ответ на: комментарий от X512

Тогда современные x86 получаются 512 битные (AVX).

Да. В своё время такая реклама была у PS2 и Dreamcast что они 128 битные.

https://www.muramasaentertainment.com/wp-content/uploads/2020/03/dc_128bit_black_wm.png

https://www.reddit.com/r/explainlikeimfive/comments/1zlxte/why_were_the_dreamcast_and_playstation_2_called/

Потом что-то перестали это использовать в рекламе…

fsb4000 ★★★★★
()
Ответ на: комментарий от X512

Тогда современные x86 получаются 512 битные (AVX).

Наличие 512-и разрядной арифметики не означает, что АЛУ 512-и разрядный. Например, в том же зеднике была 16-и разрядная арифтмеика, но это не означает, что зедник - 16-и разрядный процессор.

Можно использовать адресную арифметику.
Можно любой регистр взять как указатель стека, можно взять два регистра.

Можно, всё можно. Но код в итоге получается, мягко скажем, менее эффективным. Профессиональное ПО на таком инструменте не делается -> покупателей на ЯВУ нет -> смысла делать что-то серьёзное нет.

В итоге всё зависит от объёма доступной памяти.

В итоге, один .C файл на 70 килобайт собирается с помощью SDCC 2 минуты на I9-11900K, потребляя в пиках до 600 мегабайт оперативы. Если бы всё это работало не на I9, а на машине класса Z80, сборка длилась бы 180 лет.

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 2)
Ответ на: комментарий от seiken

Да, нам физик в школе наглядные демонстрации решения задач по механике показывал. Например насколько быстро в зависимости от массы бруска и наклона доски будет по ней съезжать брусок. С визуализацией какие силы действуют, в каком направлении и как они соотносятся.

grem ★★★★★
()
Ответ на: комментарий от byko3y

Ты б ещё про значение универсальной газовой постоянной спросил. Она вообще раз в несколько лет уточняется и меняется уже в третьем-четвёртос знаке после десятичной точки.

grem ★★★★★
()
Ответ на: комментарий от lenin386

Например, в том же зеднике была 16-и разрядная арифтмеика, но это не означает, что зедник - 16-и разрядный процессор.

Не понимаю как это 16 разрядная арифметика есть, а АЛУ не 16 разрядный.

Но код в итоге получается, мягко скажем, менее эффективным.

Интерпретатор Бейсика ещё менее эффективен.

В итоге, один .C файл на 70 килобайт собирается с помощью SDCC 2 минуты на I9-11900K, потребляя в пиках до 600 мегабайт оперативы.

Возьмите TCC.

X512 ★★★★★
()
Ответ на: комментарий от gag

В столице в куче школ несколько лет назад маки поставили и что? Проспонсируй и тебе хоть «Ломоносов-3» сделают и в сельскую школу запихнут вместе с электроподстанцией.

grem ★★★★★
()
Ответ на: комментарий от gag

Зато теперь упоминают кучка карликовых планет сопоставимых по размеру с Плутоном?

grem ★★★★★
()
Ответ на: комментарий от XoFfiCEr

20 LET a = "Zhbert "

Даже в GW-BASIC не обязательно было писать LET при присваивании. И регистр не имел значения.

Rubystar ★★
()
Последнее исправление: Rubystar (всего исправлений: 1)
Ответ на: комментарий от XoFfiCEr

Чтобы вставить строчку не нужна память, интерпретатор знал какие строки за какими выполнять, что мешало отображать на экране их в нужной последовательности непонятно. Кроме объяснения «так сойдет» не вижу оправданий.

ilovewindows ★★★★★
()
Ответ на: комментарий от X512

Не понимаю как это 16 разрядная арифметика есть, а АЛУ не 16 разрядный.

В несколько приёмов 16-и битная операция делается, 16-и битные операции медленнее и работают не все флаги.

Интерпретатор Бейсика ещё менее эффективен.

Смотря для чего. Например, если нужна плавающая запятая, то для 8-и биток никакой альтернативы бейсикам просто не было. Все ЯВУ того времени для 8-и битов в плавающую запятую не могли, да и сейчас не могут.

Возьмите TCC.

Возьму, но зачем? 8-и битный код он не умеет. Как думаешь, почему?

lenin386 ★★★★
()
Последнее исправление: lenin386 (всего исправлений: 2)
Ответ на: комментарий от XoFfiCEr

В Basic'е тип переменной определяется её суффиксом. a и b - это не строковые переменные. Строковые переменные - a$ и b$.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от lenin386

Наличие 512-и разрядной арифметики не означает, что АЛУ 512-и разрядный. Например, в том же зеднике была 16-и разрядная арифтмеика, но это не означает, что зедник - 16-и разрядный процессор.

Так в том и фишка, что avx на современных процессорах считается за один присест, а не в два этапа. По крайней мере avx2, 512-й - это нечто странное пока что.

Вообще современные x86-64 являются 64-битными не за АЛУ, чья битность нынче - это что-то понимаемое сильно по-разному, а за разрядность адресации памяти и регистров общего назначения в том же АЛУ. Вот этих RAX, RBX, RCX, RDX, RSI, RDI, RBP, RSP, R8-R15

В итоге, один .C файл на 70 килобайт собирается с помощью SDCC 2 минуты на I9-11900K, потребляя в пиках до 600 мегабайт оперативы.

Это сейчас ни о чем не говорит. Кросскомпилятор с современного Си - там что угодно может быть. А простой компилятор Си я видел даже не для спектрума, а для Микроши - правда он там похоже был сильно ограниченный.

P.S. Но вообще даже по меркам 80-х ресурсы у спектрума были такие, что для чего серьезного он не годился. памяти мало, плавающей запятой нет, развитых портов ввода-вывода для управления нет. То есть, большая такая игрушка.

praseodim ★★★★★
()
Последнее исправление: praseodim (всего исправлений: 1)
Ответ на: комментарий от byko3y

80-100 лет индустрия не производит и не продает лакмус

Не неси чуши и загляни в каталог Sigma-Aldrich: https://www.sigmaaldrich.com/catalog/search?term=litmus&interface=All&N=0&mode=partialmax&lang=en&region=US&focus=product

Да, это не совсем тот лакмус, которым пользовались в 1300 году, но часть компонентов — те же.

сколько там у нас планет в солнечной системе?

Образовательный стандарт 2017 года соответствует решениям МАС 2008 года. Стандартов между 2008 и 2017 годами не нашёл.

question4 ★★★★★
()
Ответ на: комментарий от X512

на ЕГЕ расскажешь, если тебе такой вопрос попадется. и на апелляцию подашь потом, но не факт что оценочку тебе не занизят ниже чем была.

n_play
()
Ответ на: комментарий от byko3y

Например, ты в курсе, что уже где-то так 80-100 лет индустрия не производит и не продает лакмус?

индикаторные бумажки просто по инерции называют лаксумом. что с того?

также как и нацистов фашистами.

в школке сейчас главное знать как на вопрос в еге ответить.

n_play
()
Ответ на: комментарий от saahriktu

В Basic'е тип переменной определяется её суффиксом. a и b - это не строковые переменные. Строковые переменные - a$ и b$.

После DEFSTR a-b — строковые.

bormant ★★★★★
()
Ответ на: комментарий от praseodim

Ну, я же не говорил, что для Z80 не было Си и других ЯВУ. Были, несколько. Даже Паскаль был, турбо. Просто ни для какой разработки они не годились. Потому что а) были ограничены, сильно, вне всякой меры. Ни один учитель не станет преподавать программирование в среде, где нет не только редактора, но препроцессор есть отдельная сущность. б) генерировали кошмарный код.

lenin386 ★★★★
()
Ответ на: комментарий от ilovewindows

Первый BASIC ( настоящий ) был многопользовательский, за годы до UNIXa. А нумеровать строки текстовых файлов нужно было в системе разделения времени, на которой BASIC работал. Чтобы удобнее редактировать тексты с телетайпов. На таком BASIC юный Билли писал крестики-нолики в школе. Есть известное фото Билли с другом у школьного телетайпа.

t20
()
Ответ на: комментарий от question4

https://iau.org/news/pressreleases/detail/iau0804/

+

https://www.iau.org/public/themes/naming/

2006: IAU Resolution B5 (Definition of a Planet in the Solar System) explicitly lists the eight planets Mercury, Venus, Earth, Mars, Jupiter, Saturn, Uranus, and Neptune. While Resolution B5 defined the category of dwarf planet, Resolution B6 explicitly lists Pluto as an example.

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 2)
Ответ на: комментарий от Shadow

После применения этой перенумерации некоторые GOTO уже переходят не туда. И GOTO могут быть на вычисляемую «метку».

Как только в колледже появились CRT-терминалы, авторы BASICa перешли на полноэкранные текстовые редакторы и отменили нумерацию строк.

t20
()
Последнее исправление: t20 (всего исправлений: 2)
Ответ на: комментарий от lenin386

на каком стеке? машинном? вы я вижу забыли о существовании регистровых пар. И подобных хитроумных извратов типа стека калькулятора в том же спектруме там 5 байт ЕМНИП отводилось на число.

XoFfiCEr ★★☆☆
()
Последнее исправление: XoFfiCEr (всего исправлений: 1)
Ответ на: комментарий от ilovewindows

редакторы (текста) тоже были между прочим даже для бкшки возможно они были самописные.

XoFfiCEr ★★☆☆
()
Ответ на: комментарий от lenin386

да ихняя фича, но оно четко работало хотя бы.

XoFfiCEr ★★☆☆
()
Ответ на: комментарий от grem

2006: IAU Resolution B5 (Definition of a Planet in the Solar System)

Я говорил про российские образовательные стандарты. Кроме того, до 2008 года сам МАС ещё не окончательно определился, мог передумать.

question4 ★★★★★
()
Ответ на: комментарий от lenin386

Для 8-и битных компьютеров не было нормальных паскалей. У вас в школе компьютеры были скорее всего 16-и битные. Это большая разница.

Ну мне лучше знать, какие у меня в школе были компьютеры. Yamaha MSX-2 и для учебных целей Паскаль там был вполне сносный. Помню, что загружался он по сети.

hummer
()
Ответ на: комментарий от n_play

ЕГЕ

ЕГЭ по русскому языку вы не сдадите.

на ЕГЕ расскажешь, если тебе такой вопрос попадется.

Это понятно, что на экзамене надо отвечать не как правильно, а как указано в официальных учебных пособиях этого экзамена.

X512 ★★★★★
()
Ответ на: комментарий от lenin386

В несколько приёмов 16-и битная операция делается, 16-и битные операции медленнее

Умножение и деление тоже часто в несколько операций делается, и что? Это всё не более чем внутренние особенности реализации, которые не сказываются на машинном коде.

В результате битность процессоров и компьютеров – это не более чем маркетинговый приём.

Смотря для чего.

Для всего. Интерпретатор на слабом железе в то время – это исторический курьёз.

Например, если нужна плавающая запятая, то для 8-и биток никакой альтернативы бейсикам просто не было.

Можно было сделать ROM с процедурами для программного FPU. Этот ROM был бы не больше и не медленнее Бейсика.

8-и битный код он не умеет. Как думаешь, почему?

Потому что 8 бит почти никому не нужно уже давно. При желании можно сделать.

X512 ★★★★★
()
Ответ на: комментарий от XoFfiCEr

Не нужна в смысле дополнительная память не нужна, сдвинуть все что после вставляемой строки и вставить на нужное место. Работать с изначально правильным списком строк удобнее. Нет переложили это на интерпретатор. Какую проблему решали, до меток не додумались.

ilovewindows ★★★★★
()
Ответ на: комментарий от ilovewindows

Какую проблему решали, до меток не додумались.

Лучше бы сразу до IF/WHILE додумались, метки и GOTO не нужны. Старый Бейсик – убожество во всех отношениях и ограничения железа его не оправдывают.

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 1)

И это стало началом конца-трындеца.

dimgel ★★★★★
()
Ответ на: комментарий от X512

В 90-х уже были полноценные ОС на C++ с поддержкой защиты памяти, вытесняющей многопоточности и SMP такие как BeOS. В СССР всё приходило с большим опозданием.

Для обучения азам программироваия 8 бит лучше: дешёвое оборудование, простой процессор, простое устройство экранной памяти, простое устройство всего. В 90-х, когда уже были современные ассемблеры и STS, программировать 8 бит было очень легко.

На такой же уровень знакомства с железом в случае с PC порог вхождения гораздо выше был. Можно, конечно, пропустить околожелезную тему, но это так себе решение.

mv ★★★★★
()
Ответ на: комментарий от ilovewindows

Ну ладно, обвинения в корявости снимаются, что 57-ой, что 64-й один фик, нет оперативной памяти как таковой для редакторов, номер строки это номер строки на перфокарте, хоть бэйсик, хоть фортран того же времени.

ilovewindows ★★★★★
()
Ответ на: комментарий от mv

Для обучения азам программироваия 8 бит лучше

Нет, это способствует привыканию к ущербным практикам. Лучше использовать компилируемый процедурный язык, такой как Паскаль/Модула/Оберон или Си. Для обучения работе CPU можно смотреть на дизассемблер и использовать inline ассемблер.

X512 ★★★★★
()
Ответ на: комментарий от mv

простое устройство экранной памяти

Устройство экранной памяти, кстати, было совсем не простое. Что может быть проще, чем 1 точка - 1 байт? А такое только в VGA появилось. Эпоха до VGA - сборище костылей и велосипедов, обусловленное убогостью аппаратной частидороговизной ОЗУ.

tiinn ★★★★★
()
Последнее исправление: tiinn (всего исправлений: 1)
Ответ на: комментарий от mv

Для обучения азам программироваия 8 бит лучше

Для современного обучения работы железа лучше всего взять RISC-V и TinyEMU. Там есть загрузка RAW прошивки, фреймбуфер, простой доступ к железу по фиксированным адресам и в точку входа передаётся указатель на таблицу устройств (FDT). Сам код эмулятора сравнительно простой и доступный для понимания. Собирать можно с помощью clang/llvm, там кросскомпиляция везде работает без необходимости собирать компилятор.

У RISC-V грамотная архитектура и хорошая документация.

X512 ★★★★★
()
Ответ на: комментарий от question4

Я говорил про российские образовательные стандарты.

ага, если скажут, что круг квадратный…

grem ★★★★★
()
Ответ на: комментарий от X512

practically impossible to teach good programming to students that have had a prior exposure to BASIC

Ну теперь-то учат писать сразу на яваскрипте, фух.

michwill ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.