Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.09.2007, 16:01   #1
cL1zMa
Пользователь
 
Регистрация: 14.12.2006
Сообщений: 26
По умолчанию Помогите с парой заданий по ассемблеру

Асемблер не понимаю совершенно, помогите решить задачки пожалуйста.

1. написать программу на ассемблере, вычисляющую значение выражения с использованием арифметических команд сложения, вычитания, умножения и деления;
проверить работу программы в отладчике.
a + b / (2 – c) * d – 1
и
(a – b) / (2 + c) * d
cL1zMa вне форума Ответить с цитированием
Старый 02.10.2007, 23:38   #2
MadDog__
Пользователь
 
Аватар для MadDog__
 
Регистрация: 02.10.2007
Сообщений: 12
По умолчанию

Компилятора ASMа нету сейчас сделал на С и дизасемблировал
int main()
{
int a=29, b=5, c=1, d=34;
int answer;

answer=a+b/(2-c)*d-1;
__asm nop
answer=(a-b)/(2+c)*d;
return 0;
}

вот и асм

int main()
{
00411360 push ebp
00411361 mov ebp,esp
00411363 sub esp,0FCh
00411369 push ebx
0041136A push esi
0041136B push edi
0041136C lea edi,[ebp-0FCh]
00411372 mov ecx,3Fh
00411377 mov eax,0CCCCCCCCh
0041137C rep stos dword ptr es:[edi]
int a=29, b=5, c=1, d=34;
0041137E mov dword ptr [a],1Dh
00411385 mov dword ptr [b],5
0041138C mov dword ptr [c],1
00411393 mov dword ptr [d],22h
int answer;

answer=a+b/(2-c)*d-1;
0041139A mov ecx,2
0041139F sub ecx,dword ptr [c]
004113A2 mov eax,dword ptr [b]
004113A5 cdq
004113A6 idiv eax,ecx
004113A8 imul eax,dword ptr [d]
004113AC mov edx,dword ptr [a]
004113AF lea eax,[edx+eax-1]
004113B3 mov dword ptr [answer],eax
__asm nop
004113B6 nop ;nop я поставил для разделения формул
answer=(a-b)/(2+c)*d;
004113B7 mov eax,dword ptr [a]
004113BA sub eax,dword ptr [b]
004113BD mov ecx,dword ptr [c]
004113C0 add ecx,2
004113C3 cdq
004113C4 idiv eax,ecx
004113C6 imul eax,dword ptr [d]
004113CA mov dword ptr [answer],eax
return 0;
004113CD xor eax,eax
}
004113CF pop edi
004113D0 pop esi
004113D1 pop ebx
004113D2 add esp,0FCh
004113D8 cmp ebp,esp
004113DA call @ILT+440(__RTC_CheckEsp) (4111BDh)
004113DF mov esp,ebp
004113E1 pop ebp
004113E2 ret
Francias and Germany rap рулит
MadDog__ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ребята помогите с парой программ! Omarion72-1990 Паскаль, Turbo Pascal, PascalABC.NET 5 04.06.2008 22:17
Ищу книгу по ассемблеру 212073 Помощь студентам 5 25.04.2008 00:02
Просьба проверить решения заданий Ci_novice Общие вопросы C/C++ 1 02.02.2008 13:53
практикум по ассемблеру rpy3uH Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 8 13.12.2006 22:28