Попробовал, действительно у QB синий фон у окна. Ну что сказать, всё равно синие окна плотно закрепились за Петей. Первый Петя, кстати, от Джона Соча появился в 84-м.
NC и NU были очень популярны во всем мире начиная с США. Нортон на этом хорошо поднялся, хотя обе утилиты написаны Джоном Соча. И книга "Assembly Language Book" тоже написана Джоном Соча более чем полностью, хотя в авторах стоит Peter Norton. :-) Сам Джон Соча до сих пор жив и здравствует, работает программистом, а в свободное время ведет блог на Ютубе посвященный ЧПУ обработке в домашних условиях. Мне попадались его ролики так как я тоже интересуюсь темой ЧПУ, но я не хило выхватил когда пару лет назад где-то прочел интервью с ним и узнал про его блог и что это тот самый Джон. :-)
Да, в 91-92 годах у нас в ходу был ASM.COM со встроенным линкером который мог генерировать .OBJ, .COM и .EXE. Набор джентельмена: ASM.COM, AFD.EXE и какой-то сокращенный вариант TechHelp-а в виде .COM файла, он мог оставаться резидентом (TSR). Было очень удобно писать на ассемблере в NC-шном редакторе периодически вызывая хитрой комбинацией клавиш TechHelp для справки. Отладчик AFD тоже мог оставаться резидентом, с помощью него кракались многие игры или накручивались "жизни". :-)
Еще была популярна утилитка RELEASE.COM, она позволяла выкинуть из памяти лишних резидентов.
С тех пор "синие окошки" стабильно стали ассоциироваться с программированием и компьютерами.
Вообще-то синие окошки введены в обиход товарищем Нортоном Питером в 1986 году с выпуском его Norton Commander-а (настоящий автор - John Socha). Все остальные просто подтянулись к этому тренду, в том числе и Borland с их библиотекой Turbo Vision.
А я вот смотрю на фотку к статье и думаю, какое было славное время. Мужики с баками и в джинсах "клёш". Вокруг дорогие приборы. Интересно, фотку тоже нейронка сгенерировала ?
Тут используется некоторая хитрожопость компилятора, который знает как подкорректировать конкретную константу чтобы при знаковом сложении получить верный результат. Этот фокус работает не для всех констант.
В ДКП ничего не понимаю, но в статье затронута интересная для меня тема - загрузка 64-битной константы в архитектуре RV64I. Недавно столкнулся с необходимостью загружать произвольную константу и не без удивление обнаружил, что код получается очень длинный. Как я не экспериментировал, менее 12 инструкций у меня не выходит. Может быть есть какой-то способ уменьшить их число ?
Ниже мой вариант. Он не использует знаковых сложений (ADDI), поэтому более понятен человеку.
# Load 64 bit constant 0xFEDCBA9876543210 to t0
# This algorithm can work with arbitrary values (signed or unsigned)
# Uses t0, t1 and t2
start:
# Load high 32 bits (sign independent)
lui t0, 0xFEDCB
lui t1, 0xA98
srli t1, t1, 12
or t0, t0, t1
slli t0, t0, 32
# Load low 32 bits (sign independent)
lui t2, 0x76543
lui t1, 0x210
srli t1, t1, 12
or t2, t2, t1
# Clear high 32 bits in t2
slli t2, t2,32
srli t2, t2,32
# Combine the two parts
or t0, t0, t2
# Exit
ret
PS: Пришел к выводу, что лучшее решение - загружать константы из памяти.
Спасбо за Ваше ревью. Похоже, что Вы единственный кто смог прочесть статью целиком. :-)
На счет установки Boot Protocol принудительно. Мне где-то попадалась инфа (помоему на OSDev), что с некоторых пор все клавы и мыши, по просьбам разработчиков BIOS, по умолчанию работают в Boot протоколе. Во всяком лучае, мне пока что другие не попадались. :-) Но я подправлю код конечно же.
Есть идея расширить до USB 1.1 и сделать поддержку Mass Storage Class, чтобы загружать на ПЛИСе какую нибудь ОС.
Это он сейчас токсичный, канцерогенный и сильный наркотик. А во времена СССР в авто/авиа/судомодельных кружках дихлорэтаном клеили любой пластик - универсальное средство было. Еще помните были такие конструкторы из пластика для сборки авиамоделей, там детали от литника надо было отламывать и склеивать - в них тоже прилагался пузырек дихлорэтана. :)
Попробовал, действительно у QB синий фон у окна. Ну что сказать, всё равно синие окна плотно закрепились за Петей. Первый Петя, кстати, от Джона Соча появился в 84-м.
NC и NU были очень популярны во всем мире начиная с США. Нортон на этом хорошо поднялся, хотя обе утилиты написаны Джоном Соча. И книга "Assembly Language Book" тоже написана Джоном Соча более чем полностью, хотя в авторах стоит Peter Norton. :-) Сам Джон Соча до сих пор жив и здравствует, работает программистом, а в свободное время ведет блог на Ютубе посвященный ЧПУ обработке в домашних условиях. Мне попадались его ролики так как я тоже интересуюсь темой ЧПУ, но я не хило выхватил когда пару лет назад где-то прочел интервью с ним и узнал про его блог и что это тот самый Джон. :-)
Да, в 91-92 годах у нас в ходу был ASM.COM со встроенным линкером который мог генерировать .OBJ, .COM и .EXE. Набор джентельмена: ASM.COM, AFD.EXE и какой-то сокращенный вариант TechHelp-а в виде .COM файла, он мог оставаться резидентом (TSR). Было очень удобно писать на ассемблере в NC-шном редакторе периодически вызывая хитрой комбинацией клавиш TechHelp для справки. Отладчик AFD тоже мог оставаться резидентом, с помощью него кракались многие игры или накручивались "жизни". :-)
Еще была популярна утилитка RELEASE.COM, она позволяла выкинуть из памяти лишних резидентов.
Вполне может быть. Но на archive.org у QuickBasic 4.0 окошко черное: https://archive.org/details/quickbasic-4.0-dos. Традиционно голубое появилось у QBasic в 87.
ЕМНИП, QB при старте просил выбрать цветовую палитру. Там была такая линейка с радио-баттонами разного цвета на черном фоне. Или мне приснилось ?
Вообще-то синие окошки введены в обиход товарищем Нортоном Питером в 1986 году с выпуском его Norton Commander-а (настоящий автор - John Socha). Все остальные просто подтянулись к этому тренду, в том числе и Borland с их библиотекой Turbo Vision.
А я смотрю, Linux хорошеет с каждым днём. ;)
PS: На рутерах и серверах надо использовать FreeBSD.
А я вот смотрю на фотку к статье и думаю, какое было славное время. Мужики с баками и в джинсах "клёш". Вокруг дорогие приборы. Интересно, фотку тоже нейронка сгенерировала ?
Тут используется некоторая хитрожопость компилятора, который знает как подкорректировать конкретную константу чтобы при знаковом сложении получить верный результат. Этот фокус работает не для всех констант.
В ДКП ничего не понимаю, но в статье затронута интересная для меня тема - загрузка 64-битной константы в архитектуре RV64I. Недавно столкнулся с необходимостью загружать произвольную константу и не без удивление обнаружил, что код получается очень длинный. Как я не экспериментировал, менее 12 инструкций у меня не выходит. Может быть есть какой-то способ уменьшить их число ?
Ниже мой вариант. Он не использует знаковых сложений (ADDI), поэтому более понятен человеку.
PS: Пришел к выводу, что лучшее решение - загружать константы из памяти.
И где ?
ssh habra.chat не алё.
Почему геморой ? Я подписывался на журналы, пока они выходили в печать.
Почему бы и нет ?
Пока не пробовал. Занять немного другой проблемой: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=291935
В репозитории FreeBSD есть supertux-0.1.3_14 и supertux2-0.6.3_12. Версию 0.7 пока еще не завезли. Игра клёвая, играем с детьми по вечерам. :-)
Спасбо за Ваше ревью. Похоже, что Вы единственный кто смог прочесть статью целиком. :-)
На счет установки Boot Protocol принудительно. Мне где-то попадалась инфа (помоему на OSDev), что с некоторых пор все клавы и мыши, по просьбам разработчиков BIOS, по умолчанию работают в Boot протоколе. Во всяком лучае, мне пока что другие не попадались. :-) Но я подправлю код конечно же.
Есть идея расширить до USB 1.1 и сделать поддержку Mass Storage Class, чтобы загружать на ПЛИСе какую нибудь ОС.
Спасибо, Кэп!
del
И ведь таки выжили! :-)
Это он сейчас токсичный, канцерогенный и сильный наркотик. А во времена СССР в авто/авиа/судомодельных кружках дихлорэтаном клеили любой пластик - универсальное средство было. Еще помните были такие конструкторы из пластика для сборки авиамоделей, там детали от литника надо было отламывать и склеивать - в них тоже прилагался пузырек дихлорэтана. :)
Больно это 25кВ анодного напряжения от кинескопа. Все остальное радиолюбителю в радость. ;-)
Дихлорэтан!