Спасибо за такое развёрнутое дополнение. Оно стоит отдельной статьи. Я пока решил показать минимально работающий пример. Конечно, там нет многих важных для реальных систем вещей. Вам от меня плюсики.
Да, на счёт BL/AL не особо наглядно. Дело в том. что прямой инкремент значения в памяти - это чтение-изменение-запись. Но мы уже и так прочитали переменную в регистр, поэтому инкремент переменной в памяти я решил не делать и заменил на инкремент регистра. В итоге потерялась наглядность.
Спасибо за ваш комментарий, от меня лучи добра и плюсики!
Возможно, я не очень понял часть вопроса на счёт ThreadStacks... Отвечу на то, как понял :)
Стек начинается со старших адресов. По сути, стек первой нити начинается... да, с младшего адреса блока памяти, предназначенного для второй нити :) Но мы не пугаемся, потому что указатель стека - регистр SP - уменьшается перед записью в стек нового значения.
Операции со стеком по сути не сложные, но часто вызывают скрежет шестерёнок мозга.
Знакомая ситуация. Я взял за правило в среднем каждый месяц проходить минимум одно собеседование. Просто чтобы понимать, что актуально, сколько платят, кто я по уровню. Ну и что-то получше найти таким способом всяко проще, чем ждать, что "куда-то позовут".
8051 всего на пару лет моложе 8086, но вполне жив. Тут нужно найти компромисс: чтобы был одновременно и прикладной смысл и не требовалось какого-то специального оборудования для экспериментов in vivo. Думаю про Atmel и платки Arduino, но в контексте ассемблера. Пока не знаю, что было бы актуально И интересно читателям.
не используются современные инструменты для разработки в современных ОС
? Для разработки в современных ОС используются (мной, в том числе) разные инструменты, вплоть до LLM & Cursor IDE.
Тут же либо олдскул, с соответствующими инструментами, либо то, что вы хотите. И тут два пути: вы можете написать такую публикацию сами, либо это сделает кто-то другой, возможно, что я :)
Когнитивное искажение автора. Я видел системные контроллеры для ТОС ЭЛКОС (телефонная станция производства Борисоглебского завода) на базе 8086. И софт для них, вроде бы, на Турбо Си делался. Но доступа к этой технике у меня, к сожалению, нет.
В статье указаны качества хорошего разработчика как некоей функции с точки зрения бизнеса, который на нём зарабатывает. Быть хорошим для кого? Я продаю своё время, в конечном счёте, свою жизнь, за деньги. Я тем лучше, чем дороже получается продавать себя. Бизнесу часто "до лампочки" прочитал я всю документацию или нет, было мне интересно или нет и так далее. Бизнес делается с целью получения прибыли для своих владельцев. Как разработчик, я рассматриваю обмен своей жизни на деньги точно с такой же позиции, как бизнес: максимизация моего дохода и минимизация моих расходов в этом процессе, насколько это возможно. Стараюсь учитывать ближайшие и средние перспективы, но не более того. Выучил доку по питону? А в следующем проекте пишешь код на С++ под микроконтроллер. Выучил STM32, а в итоге вместо применения этих знаний нашёл хороший по деньгам проект в сфере медицинского софта, но там "просто" бэкенд на С++ и никаких микроконтроллеров. И так далее. Может быть, только у меня одного так?
https://ru.wikipedia.org/wiki/Многопоточность
Спасибо за такое развёрнутое дополнение. Оно стоит отдельной статьи. Я пока решил показать минимально работающий пример. Конечно, там нет многих важных для реальных систем вещей. Вам от меня плюсики.
Да, на счёт BL/AL не особо наглядно. Дело в том. что прямой инкремент значения в памяти - это чтение-изменение-запись. Но мы уже и так прочитали переменную в регистр, поэтому инкремент переменной в памяти я решил не делать и заменил на инкремент регистра. В итоге потерялась наглядность.
Спасибо за ваш комментарий, от меня лучи добра и плюсики!
Возможно, я не очень понял часть вопроса на счёт ThreadStacks... Отвечу на то, как понял :)
Стек начинается со старших адресов. По сути, стек первой нити начинается... да, с младшего адреса блока памяти, предназначенного для второй нити :) Но мы не пугаемся, потому что указатель стека - регистр
SP- уменьшается перед записью в стек нового значения.Операции со стеком по сути не сложные, но часто вызывают скрежет шестерёнок мозга.
Каким образом получается
? Как рассчитать, что именно так должно быть?
Вот это понятно
и про входную размерность тоже понятно.
Сегодня гораздо больше поводов для страха, чем какая-то там публикация на Хабре. Считайте, что автор впал в маразм и живёт в ранней юности :)
Знакомая ситуация. Я взял за правило в среднем каждый месяц проходить минимум одно собеседование. Просто чтобы понимать, что актуально, сколько платят, кто я по уровню. Ну и что-то получше найти таким способом всяко проще, чем ждать, что "куда-то позовут".
Я тогда в школе учился, ассемблер PDP-11, да под ОС RT11 по бледно-коричневым мануалам осваивал на машинках УКНЦ.
MOV -(PC), -(PC)кто трогал, тот поймёт :)
Система команд DEC PDP-11 была хороша, в СССР выпустили, ЕМНИП, три модели CPU: К1801ВМ1, ВМ2, ВМ3. Мой первый ассемблер был на ВМ2.
Это был кирпичик в фундаменте профессионального опыта.
8051 всего на пару лет моложе 8086, но вполне жив. Тут нужно найти компромисс: чтобы был одновременно и прикладной смысл и не требовалось какого-то специального оборудования для экспериментов in vivo. Думаю про Atmel и платки Arduino, но в контексте ассемблера. Пока не знаю, что было бы актуально И интересно читателям.
Автор написал то, что ему было интересно.
Почему вы полагаете, что
? Для разработки в современных ОС используются (мной, в том числе) разные инструменты, вплоть до LLM & Cursor IDE.
Тут же либо олдскул, с соответствующими инструментами, либо то, что вы хотите. И тут два пути: вы можете написать такую публикацию сами, либо это сделает кто-то другой, возможно, что я :)
Этот способ вызывает рост шерсти на ладонях, а не там, где она должна быть.
Когнитивное искажение автора. Я видел системные контроллеры для ТОС ЭЛКОС (телефонная станция производства Борисоглебского завода) на базе 8086. И софт для них, вроде бы, на Турбо Си делался. Но доступа к этой технике у меня, к сожалению, нет.
Отличная идея!
Кому-то, может быть, надо. Штуки вроде DOSBox весьма интересны с точки зрения изучения принципа построения машинного кода и отладки на низком уровне.
http://www.techhelpmanual.com/2-main_menu.html
Я не делал таких проверок. Подозреваю, что работает далеко не всё https://www.vogons.org/viewtopic.php?p=1095120#p1095120
В статье указаны качества хорошего разработчика как некоей функции с точки зрения бизнеса, который на нём зарабатывает. Быть хорошим для кого? Я продаю своё время, в конечном счёте, свою жизнь, за деньги. Я тем лучше, чем дороже получается продавать себя. Бизнесу часто "до лампочки" прочитал я всю документацию или нет, было мне интересно или нет и так далее. Бизнес делается с целью получения прибыли для своих владельцев. Как разработчик, я рассматриваю обмен своей жизни на деньги точно с такой же позиции, как бизнес: максимизация моего дохода и минимизация моих расходов в этом процессе, насколько это возможно. Стараюсь учитывать ближайшие и средние перспективы, но не более того. Выучил доку по питону? А в следующем проекте пишешь код на С++ под микроконтроллер. Выучил STM32, а в итоге вместо применения этих знаний нашёл хороший по деньгам проект в сфере медицинского софта, но там "просто" бэкенд на С++ и никаких микроконтроллеров. И так далее. Может быть, только у меня одного так?
Галлий. Гафний совсем не так просто расплавить: 2227°C.