Вопрос № 160380: Очень нужна помощь, помогите пожалуйста: Как с помощью безусловного перехода jmp изменить пограмму чтоб она обрабатывалась 1 раз.(желательно к вечеру) программа такая : .model tiny .code .386 org 100h start: mov eax,20 <b...
Вопрос № 160381: Здравствуйте уважаемые эксперты! Подскажите, пожалуйста, с какой книги лучше начать изучение программирования под Windows. Можете подсказать где можно скачать книгу «4-е
перераб. и доп Пирогов В. Ю. Ассемблер для Windows». Спасибо. ...
Вопрос № 160.380
Очень нужна помощь, помогите пожалуйста: Как с помощью безусловного перехода jmp изменить пограмму чтоб она обрабатывалась 1 раз.(желательно к вечеру) программа такая : .model tiny .code .386 org 100h start: mov eax,20 mov ebx,8 push eax push ebx call my_subroutin pop ebx pop eax ret my_subroutin proc near mov eax,a mov ebx,2 mul ebx mov flag,eax mov ebx,4 mov eax,b mul ebx add eax,flag add eax,b add eax,c mov
ebx,-1 mul ebx and eax,1111111110000011b or eax, 0000000001100011b ret a dd -6 b dd -4 c dd -16 flag dd ? my_subroutin endp end start
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Грязнева Ольга Михайловна!
Вы формируете программу с 16-ти битными сегментами, использование 32-х битных команд для работы со стеком некорректно(хотя компилятор не реагирует на это), т.к может ввести в заблуждение программиста, к примеру: при передаче параметров через стек и последуюшим его(стека) корректировкой командой ret ХХ. Отсюда правильнее было бы так:
т.к. возврат из подпрограммы происходит по команде retn, а это 16-ти битная команда. Удачи!
--------- Итерация от человека, рекурсия — от Бога (Питер Дойч)
Ответ отправил: Зенченко Константин Николаевич (статус: Профессор) Украина, Киев Тел.: +380979536619 Адрес: Украина г.Киев ---- Ответ отправлен: 16.02.2009, 14:08
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 243763 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Вопрос № 160.381
Здравствуйте уважаемые эксперты! Подскажите, пожалуйста, с какой книги лучше начать изучение программирования под Windows. Можете подсказать где можно скачать книгу «4-е перераб. и доп Пирогов В. Ю. Ассемблер для Windows». Спасибо.
Отвечает: Лысков Игорь Витальевич
Здравствуйте, Олег Миколайович! Можно начать и с Пирогова Паралледльно рекомендую изучать WinAPI, например, по Петзольду Том 1 и Том 2 Там на С. Зато там прекрасно расписано, как надо строить программы под Windows. Это - классика жанра. А программирование на ассемблере
под Windows сводится к вызову тех же API-шных функций, так что перевести на ассемблер будет несложно, главное - понять, как это все работает! И еще, по большому счету, все книги дают только некий начальный "толчок" в мир программирования, начальный набор знаний, чтобы начать что-то делать. Поэтому, я считаю, что в будущем никак не обойтись без такой фундаментальной справочной системы, как MSDN. Она поставляется, например, с компилятором C++ от Micr
osoft. MSDN на английском, но это же не проблема для программиста? :)
--------- Удачи!
Ответ отправил: Лысков Игорь Витальевич (статус: Профессионал) Украина, Кировоград ICQ: 234137952 ---- Ответ отправлен: 16.02.2009, 02:58
Как сказать этому эксперту "спасибо"?
Отправить SMS
#thank 243715 на номер 1151 (Россия) | Еще номера >>
Вам помогли? Пожалуйста, поблагодарите эксперта за это!
Оценка за ответ: 5
Скажите "спасибо" эксперту, который помог Вам!
Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)
Номер ответа и конкретный текст СМС указан внизу каждого ответа.
* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи.
(полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.