powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как это работает
7 сообщений из 7, страница 1 из 1
Как это работает
    #36339847
Я совсем в этом ничего не понимаю - прошу не сердиться.
Начал учить программирование(Си).
И все вроде понятно - циклы, массивы, функции.
Все происходит.
Не понятно - что происходит в самом низу.
Вот пишу я: int result = 2 * 2;
а что происходит на самом деле, каким образом я получаю результат в "в самом низу" - не понимаю. Каким образом процессор "знает", что с чем и каким образом это вычислять?
В общем просьба не пинать, а указать на самый "начальный" букварь, чтобы понять, что происходит в самом низу, а затем двигаться дальше.
...
Рейтинг: 0 / 0
Как это работает
    #36339851
Забыл добавить, что вот сам нашел книгу Петцольда: "Код", и начал ее читать сегодня. Буду рад, если подскажете, поможет ли она мне в моей проблеме, или есть более подходящие источники?
...
Рейтинг: 0 / 0
Как это работает
    #36339947
_developer_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
начальный букварь - книжка по основам микроэлектроники. про всякие триггеры, регистры, сумматоры и т.д.
...
Рейтинг: 0 / 0
Как это работает
    #36340049
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полный тормоз,

В дебагере MSVS можно отркыть "Disassambly Window" и посмотреть, чем CPU занимается буквально.
Код: plaintext
1.
2.
3.
4.
5.
6.
void Cmfc2Dlg::OnBnClickedOk()
{
	int n_Number =  2 ;
	
	n_Number = n_Number *  2 ;
	OnOK();
}

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
void Cmfc2Dlg::OnBnClickedOk()
{
 00413660   push        ebp  
 00413661   mov         ebp,esp 
 00413663   sub         esp,0D8h 
 00413669   push        ebx  
0041366A  push        esi  
0041366B  push        edi  
0041366C  push        ecx  
0041366D  lea         edi,[ebp-0D8h] 
 00413673   mov         ecx,36h 
 00413678   mov         eax,0CCCCCCCCh 
0041367D  rep stos    dword ptr [edi] 
0041367F  pop         ecx  
 00413680   mov         dword ptr [ebp- 8 ],ecx 
	// TODO: Add your control notification handler code here
	int n_Number =  2 ;
 00413683   mov         dword ptr [n_Number], 2  
	
	n_Number = n_Number *  2 ;
0041368A  mov         eax,dword ptr [n_Number] 
0041368D  shl         eax, 1  
0041368F  mov         dword ptr [n_Number],eax 
	OnOK();
 00413692   mov         eax,dword ptr [this] 
 00413695   mov         edx,dword ptr [eax] 
 00413697   mov         esi,esp 
 00413699   mov         ecx,dword ptr [this] 
0041369C  call        dword ptr [edx+154h] 
004136A2  cmp         esi,esp 
004136A4  call        @ILT+ 2375 (__RTC_CheckEsp) (41194Ch) 
}
...
Рейтинг: 0 / 0
Как это работает
    #36343909
sqI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Полный тормоз,

общая кухня такова, что более сложные комманды Си можно представить наборами более простых комманд. Такие комманды, как положить чето в один регистр, положить во второй, просуммировать и результат положить в третий, перепрыгнуть на такую-то метку. Вообщем задача компилятора, транслировать текстовые файлы программы в машинный код. Компилятор гарантирует, что если ты будешь пользоваться правильно семантикой языка, то он сгенерит совершенно эквивалентный код из простейших, понятных компьютеру, комманд.
...
Рейтинг: 0 / 0
Как это работает
    #36344271
sqIПолный тормоз,

общая кухня такова, что более сложные комманды Си можно представить наборами более простых комманд. Такие комманды, как положить чето в один регистр, положить во второй, просуммировать и результат положить в третий, перепрыгнуть на такую-то метку. Вообщем задача компилятора, транслировать текстовые файлы программы в машинный код. Компилятор гарантирует, что если ты будешь пользоваться правильно семантикой языка, то он сгенерит совершенно эквивалентный код из простейших, понятных компьютеру, комманд.

Речь не о работе транслятора(компилятора/интерпретатора/препроцессора).
С этим все понятно.
Это такие - же программы, как и мой "hello world", только посложней.

_developer_ меня правильно понял.
...
Рейтинг: 0 / 0
Как это работает
    #36347043
На книге "Код" я и остановился. И всем таким - же, как я - советую. Посмотрел пару учебников по микроэлектронике - слишком много для меня математики и заумностей ненужных, яж не студент соответствующей специальности.
А в этой книге с пол пинка понятно как работают полусумматоры, сумматоры, вот сейчас про триггеры читаю. Начинается с самых основ, с двоичного исчисления, булевой алгебры и принципов работы электричества. Все для полных чайников понятно.
короче - рекомендую
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как это работает
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]