|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.09.2018, 17:07 | #1 |
Пользователь
Регистрация: 07.09.2018
Сообщений: 26
|
ассемблер
правильно ли написана прога? Вычислить арифметическое выражение a2 /5+b∗c−a/b . Переменные
a , b, c в начале выполнения программы должны быть расположены в регистрах EAX, EDX и EDI соответственно. Численные значения можно взять произвольными. format PE GUI entry start ; указание с какой метки начинать выполнение программы start: ; точка входа в программу ; начальные значения переменных mov eax,18 ; a mov edx,-3 ; b mov edi,5 ; c mov ebx,eax imul ebx,eax ; edx = a^2 imul edi,edx ; edi = b*c mov ecx,edx ; сохранение b cdq idiv ecx ; eax = a/b sub edi,eax ; edi = b*c-a/b mov eax,ebx cdq mov ebx,5 idiv ebx ; eax = a^2/5 add eax,edi ; получение ответа в eax mov eax, 1 ; код программы ret ; заве |
07.09.2018, 17:13 | #2 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Компилируется? Выполняется? Ответ совпадает с проверочными данными? - Тогда все правильно.
|
07.09.2018, 17:20 | #3 |
Пользователь
Регистрация: 07.09.2018
Сообщений: 26
|
а вот я не знаю, просто для меня это новый язык, я не знаю где смотреть конечный ответ
|
07.09.2018, 17:22 | #4 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
|
07.09.2018, 17:39 | #5 |
Пользователь
Регистрация: 07.09.2018
Сообщений: 26
|
да читал, просто недопер, по методичке же делал,
|
07.09.2018, 17:55 | #6 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
Дмитрийййй, загрузи свою программу в отладчик OllyDbg, он тебе покажет состояние регистров на каждом шаге
Нашедшего выход - затаптывают первым..
|
07.09.2018, 18:03 | #7 |
Пользователь
Регистрация: 07.09.2018
Сообщений: 26
|
так я ее в отладчике и проверял, еще бы понимать что там написано
|
07.09.2018, 19:46 | #8 |
Участник клуба
Регистрация: 16.06.2011
Сообщений: 1,428
|
так ты сам-же указываешь MOV (move, переслать в регистр),
а в отладчике смотришь на соответствующий регистр. вот твоя программа.. каждый шаг по F8, я прошёл только первые 4 инструкции:
Нашедшего выход - затаптывают первым..
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ассемблер | Deusic | Помощь студентам | 0 | 05.11.2012 08:11 |
Ассемблер | Дэнис | Помощь студентам | 3 | 24.02.2012 20:08 |
Ассемблер в С | EugenK | Общие вопросы C/C++ | 12 | 05.08.2011 17:35 |
Ассемблер... | UAC | Фриланс | 7 | 30.12.2010 18:31 |
Ассемблер) | oblachko | Помощь студентам | 6 | 10.12.2009 08:15 |