![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 30.08.2011
Сообщений: 102
|
![]()
Здравствуйте. Прошу проверить, правильно ли я прокомментировал строки следующего кода. Спасибо!
Код HTML:
for (int i = 3; i < 10; i++) 0000003c mov dword ptr [ebp-40h],3 // заносим 3 в регистр dword ptr [ebp-40h], 00000043 nop 00000044 jmp 00000054 // прыгаем в адрес 00000054 14: { 00000046 nop 15: Console.WriteLine(i); 00000047 mov ecx,dword ptr [ebp-40h] // 0000004a call 5E865094 // 0000004f nop 16: } 00000050 nop 13: for (int i = 3; i < 10; i++) 00000051 inc dword ptr [ebp-40h] // увеличиваем на единицу значение регистра dword ptr [ebp-40h] 00000054 cmp dword ptr [ebp-40h],0Ah // вычетаем dword ptr [ebp-40h] - 10 00000058 setl al // если dword ptr [ebp-40h] меньше или равно 10, то al = 1 0000005b movzx eax,al // если dword ptr [ebp-40h] = 10, то переписываем a1 в eax начиная с меньших разрядов, пустые, старшые разряды заполняем нулями. 0000005e mov dword ptr [ebp-44h],eax // заносим значение регистра eax в dword ptr [ebp-44h] 00000061 cmp dword ptr [ebp-44h],0 // вычетаем dword ptr [ebp-44h] - 0 00000065 jne 00000046 // переход на адрес 00000046 если dword ptr [ebp-44h] не равно нулю 17: Console.ReadLine(); 00000067 call 5E864F64 // вызываем функцию по адресу 5E864F64 если dword ptr [ebp-44h] равно 0 0000006c nop 18: 19: 20: } |
![]() |
![]() |
![]() |
#2 | ||||
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
![]() Цитата:
Цитата:
Цитата:
Цитата:
|
||||
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 30.08.2011
Сообщений: 102
|
![]()
Большое спасибо! =) И если dword ptr [ebp-40h] не регистр, то что?
|
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,828
|
![]() Цитата:
Тут: ebp используется на 32битках для организации стека функций, соответственно ebp-40h это адрес одной из локальных переменных |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Цикл | oban11 | Помощь студентам | 2 | 24.10.2010 13:25 |
Цикл по времени - Как сделать так чтобы цикл выполнялся к примеру 10 секунд ? | Anarki | Общие вопросы C/C++ | 3 | 13.11.2009 19:23 |
Цикл с предусловием. ( цикл while) Цикл с постусловием. (цикл repeat ... until) | Mr.User | Помощь студентам | 9 | 23.11.2007 01:34 |