S0ER
Архитектура | Программирование | Профессиональное развитие Соер.Клуб - https://t.me/soer_live По всем вопросам писать на @soerdev
Show more📈 Analytical overview of Telegram channel S0ER
Channel S0ER (@softwareengineervlog) in the Russian language segment is an active participant. Currently, the community unites 10 545 subscribers, ranking 11 764 in the Technologies & Applications category and 62 189 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 10 545 subscribers.
According to the latest data from 10 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -24 over the last 30 days and by -1 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 25.60%. Within the first 24 hours after publication, content typically collects N/A% reactions from the total number of subscribers.
- Post reach: On average, each post receives 2 699 views. Within the first day, a publication typically gains 0 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 133.
- Thematic interests: Content is focused on key topics such as rbp, архитектура, callme, mov, указатель.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Архитектура | Программирование | Профессиональное развитие
Соер.Клуб - https://t.me/soer_live
По всем вопросам писать на @soerdev”
Thanks to the high frequency of updates (latest data received on 11 June, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
int callme() {
return 1;
}
void main() {
callme();
}
в командной строке это можно сделать с помощью команды
gcc -g -o output.s -masm=intel -fno-verbose-asm -S -fdiagnostics-color=always example.c
но Compiler Expolrer делает это за нас, в результате получен следующий код:
callme:
push rbp
mov rbp, rsp
mov eax, 1
pop rbp
ret
main:
push rbp
mov rbp, rsp
mov eax, 0
call callme
nop
pop rbp
ret
Мы видим, что:
✅ имена функций превратились в имена меток, на самом деле это реальные адреса по которым будут делаться переходы, представленные в виде меток.
✅ для вызова функции используется специальная инструкция call
✅ для возврата из функции используется специальная инструкция ret
✅ чтобы вернуть значение из функции используется регистр eax - mov eax,1
✅ в функции есть специальные части "пролог" и "эпилог"
Что такое "Пролог"
Это часть функции которая сохраняет текущие значения регистров, чтобы восстановить их при возврате из функции.
push rbp; инструкция push сохраняет в стеке значение rbp
mov rbp, rsp; копирует значение регистра указателя вершины стека (открытие кадра стека)
sub rsp, xx; выделяем память под локальные переменные
1. rbp используется для адресации локальных переменных, должен быть сохранен в стеке;
2. rsp используется для указания на вершину стека
Что такое "эпилог"
Этр код, который закрывает кадр стека и восстанавливаем значние rpb
mov rsp, rbp
pop rbp
ret
Red zone
Вероятно вы заметили, что у нас в прологе нет инструкции sub rsp, xx, все дело в том, что у процессоров есть оптимизация, которая называется red zone, в данном случае - область размером 128 байт которая находится за пределами RSP и не должна изменяться обработчиками сигналов и прерываний.
В качестве индивидуального задания можете попробовать добавить char a[128]; в код функции callme и посмотреть что будет.
Вывод:
Сегодня мы узнали, что функции высокого уровня на уровне ассемблера размещаются в теле программы и доступ к ним осуществляется путем перехода по адресу, где находится соответствующая функция.
Часто узнать функции в коде на ассемблере можно по следующим признакам:
✅ для вызова функций используются инструкции call, ret
✅ без оптимизаций компилятор добавит специальные куски кода "пролог" и "эпилог"
Конечно, есть много других способов скомпилировать функции в машинный код, без call/ret и пролога с эпилогом, но это уже другая история.
#asm #знания
SOER | PRO | Boosty
Available now! Telegram Research 2025 — the year's key insights 
