#регистры — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #регистры, aggregated by home.social.
-
Как мы искали адреса регистров в памяти прибора
Как найти реальные адреса регистров, если документация не помогает. В статье разбираю реальный инженерный кейс: прибор отвечает, но в регистрах нули. Показываю, как через анализ трафика (опрос-ответ) найти нужные данные.
https://habr.com/ru/articles/1030430/
#scada #регистры #протокол #rs485 #асутп #modbus #трафик #анализ_трафика
-
Как мы искали адреса регистров в памяти прибора
Как найти реальные адреса регистров, если документация не помогает. В статье разбираю реальный инженерный кейс: прибор отвечает, но в регистрах нули. Показываю, как через анализ трафика (опрос-ответ) найти нужные данные.
https://habr.com/ru/articles/1030430/
#scada #регистры #протокол #rs485 #асутп #modbus #трафик #анализ_трафика
-
Как мы искали адреса регистров в памяти прибора
Как найти реальные адреса регистров, если документация не помогает. В статье разбираю реальный инженерный кейс: прибор отвечает, но в регистрах нули. Показываю, как через анализ трафика (опрос-ответ) найти нужные данные.
https://habr.com/ru/articles/1030430/
#scada #регистры #протокол #rs485 #асутп #modbus #трафик #анализ_трафика
-
Как мы искали адреса регистров в памяти прибора
Как найти реальные адреса регистров, если документация не помогает. В статье разбираю реальный инженерный кейс: прибор отвечает, но в регистрах нули. Показываю, как через анализ трафика (опрос-ответ) найти нужные данные.
https://habr.com/ru/articles/1030430/
#scada #регистры #протокол #rs485 #асутп #modbus #трафик #анализ_трафика
-
У Z-80 4-битная АЛУ. Вот как она работает
Когда мы пишем код под микроконтроллер, за привычными инструкциями компилятора скрывается вполне конкретная логика – регистры, ALU, прерывания, шины и тайминги, которые живут по своим правилам. В статье разберём, как устроены базовые механизмы выполнения команд и что именно происходит на уровне микроархитектуры, когда «просто вызывается функция». Это попытка посмотреть на embedded-разработку через призму железа и понять, какие инженерные решения стоят за кажущейся простотой исходного кода. Разобрать архитектуру
https://habr.com/ru/companies/otus/articles/995876/
#микроархитектура_процессора #ALU #арифметикологическое_устройство #регистры #embeddedразработка #системное_программирование #низкоуровневое_программирование
-
[Перевод] Почему xor eax, eax используется так часто?
В одном из моих докладов по ассемблеру я показал список из 20 самых часто исполняемых команд на среднем десктопе x86 с Linux. Разумеется, в этом списке были привычные mov , add , lea , sub , jmp , call и так далее; неожиданным стало включение в него xor — «eXclusive OR». В эпоху, когда я занимался хакингом на 6502, наличие XOR было почти абсолютно точным указанием на то, что найдена часть кода, связанная с шифрованием, или какая-то подпрограмма обработки спрайтов. Поэтому удивительно, что машина с Linux, просто занимающаяся своими делами, выполняет такое количество этих команд. Но потом мы вспоминаем о том, что компиляторы любят генерировать xor при присвоении регистру нулевого значения.
-
Как проектируют систему на кристалле: разбираем основные этапы «для новичков»
Система на кристалле, она же СнК или system on a chip, – это цифровая микросхема, на которой есть множество компонентов: например, микропроцессор и графический процессор, контроллеры и другие периферийные блоки. СнК есть в наших смартфонах, ПК, планшетах. Но как такую создают? Какие этапы проектирования проходит маленький, но важный чип? Статья будет полезна как продолжающим, так и начинающим – тем, кто со временем хотел бы разобраться, как проектируют системы на кристалле. Как спроектировать свою систему на чипе?
https://habr.com/ru/companies/yadro/articles/933760/
#rtl #микропроцессоры #soc #система_на_кристалле #проектирование_систем #system_on_a_chip #процессоры #регистры #тактовая_частота
-
[Перевод] Абсурдно усложнённая схема регистров в Intel 80386
Фото кристалла i386 с обозначенным блоком регистров (полномасштабная версия фото доступна в оригинале статьи) Революционный Intel 80386 (1985 год) стал первым 32-битным процессором с архитектурой x86. Как и большинство процессоров, он содержит огромное число регистров, которые являются ключевой составляющей, обеспечивая сверхбыструю обработку данных в сравнении с основной памятью. К ним относятся регистры общего назначения, регистры индекса и селекторы сегментов, а также специальные регистры для управления памятью и разработки операционной системы. В этой статье я буду говорить о кремниевом кристалле i386 и объясню, как в нём организованы основные регистры.
https://habr.com/ru/companies/ruvds/articles/914144/
#ruvds_перевод #x86 #процессоры #intel_80386 #i386 #регистры #алу #старое_железо
-
Введение в память, мотивация виртуальной, отображение между физической и виртуальной
У нас имеется физическая память, она одна для всех программ. И представьте, что вот вы разрабатываете программу, пишете алгоритмы, верстаете интерфейсы, свои контейнеры, это и так в силу несовершенства языков и сложности задач является довольно нетривиальной задачей, а теперь, задумайтесь: если вам нужно будет параллельно анализировать и запоминать, как вашей же памятью могли воспользоваться другие программы, или даже как ваше приложение пользуется ей. Как же оно получилось?
https://habr.com/ru/articles/914016/
#виртуальная_память #concurrency #C++ #регистры #rip #call_stack #heap #операционные_системы
-
Введение в память, мотивация виртуальной, отображение между физической и виртуальной
У нас имеется физическая память, она одна для всех программ. И представьте, что вот вы разрабатываете программу, пишете алгоритмы, верстаете интерфейсы, свои контейнеры, это и так в силу несовершенства языков и сложности задач является довольно нетривиальной задачей, а теперь, задумайтесь: если вам нужно будет параллельно анализировать и запоминать, как вашей же памятью могли воспользоваться другие программы, или даже как ваше приложение пользуется ей. Как же оно получилось?
https://habr.com/ru/articles/914016/
#виртуальная_память #concurrency #C++ #регистры #rip #call_stack #heap #операционные_системы
-
Введение в память, мотивация виртуальной, отображение между физической и виртуальной
У нас имеется физическая память, она одна для всех программ. И представьте, что вот вы разрабатываете программу, пишете алгоритмы, верстаете интерфейсы, свои контейнеры, это и так в силу несовершенства языков и сложности задач является довольно нетривиальной задачей, а теперь, задумайтесь: если вам нужно будет параллельно анализировать и запоминать, как вашей же памятью могли воспользоваться другие программы, или даже как ваше приложение пользуется ей. Как же оно получилось?
https://habr.com/ru/articles/914016/
#виртуальная_память #concurrency #C++ #регистры #rip #call_stack #heap #операционные_системы
-
Введение в память, мотивация виртуальной, отображение между физической и виртуальной
У нас имеется физическая память, она одна для всех программ. И представьте, что вот вы разрабатываете программу, пишете алгоритмы, верстаете интерфейсы, свои контейнеры, это и так в силу несовершенства языков и сложности задач является довольно нетривиальной задачей, а теперь, задумайтесь: если вам нужно будет параллельно анализировать и запоминать, как вашей же памятью могли воспользоваться другие программы, или даже как ваше приложение пользуется ей. Как же оно получилось?
https://habr.com/ru/articles/914016/
#виртуальная_память #concurrency #C++ #регистры #rip #call_stack #heap #операционные_системы
-
Низкоуровневое программирование под 8086 для любопытных, часть 1
В первой части мы: - посмотрим, как работать с памятью и регистрами 8086 - узнаем, как написать простую программу на ассемблере прямо в отладчике - изучим работу механизма прерываний и сделаем демонстрационный пример Статья рассчитана на тех, кто имеет начальный опыт программирования, но хочет понять основы низкоуровневого программирования и многозадачности. Примеры в бинарном виде доступны по ссылке https://github.com/galilov/habr/blob/main/asm-8086-galilov.zip .
https://habr.com/ru/articles/902412/
#Assembler #i8086 #низкоуровневое_программирование #agalilov #прерывания #стек #видеобуфер #регистры #ассемблер #ассемблер_для_начинающих
-
Низкоуровневое программирование под 8086 для любопытных, часть 1
В первой части мы: - посмотрим, как работать с памятью и регистрами 8086 - узнаем, как написать простую программу на ассемблере прямо в отладчике - изучим работу механизма прерываний и сделаем демонстрационный пример Статья рассчитана на тех, кто имеет начальный опыт программирования, но хочет понять основы низкоуровневого программирования и многозадачности. Примеры в бинарном виде доступны по ссылке https://github.com/galilov/habr/blob/main/asm-8086-galilov.zip .
https://habr.com/ru/articles/902412/
#Assembler #i8086 #низкоуровневое_программирование #agalilov #прерывания #стек #видеобуфер #регистры #ассемблер #ассемблер_для_начинающих
-
Низкоуровневое программирование под 8086 для любопытных, часть 1
В первой части мы: - посмотрим, как работать с памятью и регистрами 8086 - узнаем, как написать простую программу на ассемблере прямо в отладчике - изучим работу механизма прерываний и сделаем демонстрационный пример Статья рассчитана на тех, кто имеет начальный опыт программирования, но хочет понять основы низкоуровневого программирования и многозадачности. Примеры в бинарном виде доступны по ссылке https://github.com/galilov/habr/blob/main/asm-8086-galilov.zip .
https://habr.com/ru/articles/902412/
#Assembler #i8086 #низкоуровневое_программирование #agalilov #прерывания #стек #видеобуфер #регистры #ассемблер #ассемблер_для_начинающих
-
Низкоуровневое программирование под 8086 для любопытных, часть 1
В первой части мы: - посмотрим, как работать с памятью и регистрами 8086 - узнаем, как написать простую программу на ассемблере прямо в отладчике - изучим работу механизма прерываний и сделаем демонстрационный пример Статья рассчитана на тех, кто имеет начальный опыт программирования, но хочет понять основы низкоуровневого программирования и многозадачности. Примеры в бинарном виде доступны по ссылке https://github.com/galilov/habr/blob/main/asm-8086-galilov.zip .
https://habr.com/ru/articles/902412/
#Assembler #i8086 #низкоуровневое_программирование #agalilov #прерывания #стек #видеобуфер #регистры #ассемблер #ассемблер_для_начинающих
-
Мои заметки про процессоры для cовсем маленьких
Центральный процессор (CPU, Central Processing Unit) — это основной компонент устройств, который выполняет все вычисления и логические операции, необходимые для работы программ. Здесь я постараюсь рассказать про строение и работу процессора на примере x86–64 архитектуры. Когда-то это всё я конспектировал для себя в дружелюбном для новичка виде, чтобы мне самому было проще возвращаться к этой информации время от времени. Я решил поделиться своими заметками, так как возможно кому-то это может показаться полезным. На детальность информации не претендую, но не против конструктивной критики. Вот довольно неплохие видео, которые noob friendly: 1) https://www.youtube.com/watch?v=ubsZ9MO9qkU 2) https://www.youtube.com/watch?v=aNVMpiyeY_U&t=280s Устройство процессора (схематически).
https://habr.com/ru/articles/855226/
#простыми_словами #процессор #amd64 #alu #регистры #строение_процессора #архитектура_процессора #x86 #x86_64 #схема_процессора
-
Погружение в мир Python: Решение проблем с библиотекой ConfigParser
Здравствуйте! В этой статье я хочу поделиться своим опытом работы с библиотекой ConfigParser в Python, особенно в контексте устаревших операционных систем, таких как Windows XP и Windows 7. Несмотря на то что я не являюсь профессиональным программистом, моё хобби и стремление разобраться в нюансах программирования привели меня к интересным выводам. Я расскажу о распространённых трудностях, связанных с работой этой библиотеки, таких как автоматическое преобразование ключей в нижний регистр и способы обхода этой проблемы. Вы увидите примеры, которые помогут лучше понять, как читать и записывать конфигурационные файлы, сохраняя оригинальный регистр ключей. Присоединяйтесь к обсуждению, и, возможно, мой опыт окажется полезным для вас!
https://habr.com/ru/articles/854628/
#Python #ConfigParser #перенос_строк #регистры #конфиг #config #ini #XP
-
GPIO STM32, альтернативный вариант
Когда в 2011 году я переходил c atmega8 на stm32, меня очень вдохновил проект opencm3. Но вдохновил не на его изучение, а на написание похожего. На сегодня в моём варианте почти библиотеки есть макросы регистров для микроконтроллеров серий stm32f10x и stm32f40x, stm8s003, nrf51, nrf52, rp2040, и cc2640/1310. Реально же протестирована из этого списка только stm32f103. Кроме регистров для 103-й я написал базовые функции для включения/выключения тактирования периферии и управления портами ввода-вывода. А также написаны примеры для USB профилей HID gamepad, HID keyboard и USB serial port. В этом же посте задокументирую функции портов и тактирования. документация к c-шникам
-
Очень простой тахометр на интересных микросхемах
Привет, Хабр! Сегодняшняя схема измерителя частоты вращения электродвигателя представляет особенный интерес по причине того, что она построена на основе микросхем CD40110 . «Изюминка» этих реверсивных двоично-десятичных счётчиков состоит в том, что они снабжены встроенным дешифратором для семисегментного индикатора! Это позволяет решать очень многие задачи предельно простым и экономным способом. Даже без микроконтроллера. Как, например, без него обходится наш тахометр.
https://habr.com/ru/companies/ruvds/articles/819791/
#ruvds_статьи #цифровые_микросхемы #микросхемы #логические_элементы #цифровая_схемотехника #измерение_частоты #частотомер #триггеры #триггер_шмитта #регистры #дешифраторы #семисегментный_индикатор
-
Усовершенствованный частотомер без микроконтроллера
Привет, Хабр! Прибор, который мы сегодня изучим и соберём, снабжён четырёхразрядным цифровым индикатором и предназначен для работы с электрическими сигналами произвольной формы, имеющими частоту от 10 Гц до 10 кГц и амплитуду от 300 мВ до 3 В. В качестве эталонной частоты он использует 50 герц электросети. Не считая стабилизатора питания, частотомер построен на 14 микросхемах стандартной логики. Ещё мы познакомимся с разными типами частотомеров.
https://habr.com/ru/companies/ruvds/articles/817007/
#цифровые_микросхемы #микросхемы #логические_элементы #ruvds_статьи #цифровая_схемотехника #измерение_частоты #частотомер #триггеры #триггер_шмитта #регистры #дешифраторы #семисегментный_индикатор
-
Как работает шариковая мышка?
Привет, Хабр! Помните олдскульные механические мышки, в которых обрезиненный стальной шарик катался по поверхности стола или специального коврика? Внутри корпуса шарик соприкасался с двумя перпендикулярными пластиковыми валиками, на которые периодически наматывалась всякая грязь. Приходилось вынимать шарик, чистить валики, доставать шарик оттуда, куда он закатился, и устанавливать его на место. В таких мышках, а также струйных принтерах, использовались относительные оптические энкодеры . Пластиковый диск с прорезями или лента из прозрачной плёнки с непрозрачными полосками устанавливались на пути света от светодиода до фототранзистора. Количество импульсов соответствовало пройденному пути, а для определения направления движения применялась специальная электронная схема. Ведь недостаточно просто сосчитать импульсы. Надо знать, прибавлять или убавлять координату курсора. Сегодня я расскажу про один из вариантов решения этой задачи, на базе интереснейшей микросхемы сдвоенного ждущего мультивибратора CD4528 .
https://habr.com/ru/companies/ruvds/articles/815211/
#цифровые_микросхемы #микросхемы #микросхемы_малой_степени_интеграции #логические_элементы #ruvds_статьи #цифровая_схемотехника #триггеры #триггер #регистры #оптопара #оптические_датчики
-
КодоГенератор Линейных Отображений (как ускорить создание ASIC драйвера)
В программировании микроконтроллеров на Си часто приходится писать драйверы для умных и навороченных ASIC чипов с управлением по I2C/SPI/MDIO интерфейсам. Обычно перед запуском эти чипы надо правильным образом сконфигурировать. Такие чипы всегда оперируют с реальными физическими величинами. Одновременно с этим ячейки памяти этих ASIC чипов - дискретные, двоичные. Поэтому все производители микросхем кодируют эти переменные бинарными кодами разной разрядности. В этом тексте я показал как можно делать интерпретаторы этих величин.
https://habr.com/ru/articles/814969/
#кодогенерация #регистры #asic #линейные_системы #линейные_уравнения #математика #слау #devops