![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 14.12.2006
Сообщений: 26
|
![]()
Асемблер не понимаю совершенно, помогите решить задачки пожалуйста.
1. написать программу на ассемблере, вычисляющую значение выражения с использованием арифметических команд сложения, вычитания, умножения и деления; проверить работу программы в отладчике. a + b / (2 – c) * d – 1 и (a – b) / (2 + c) * d |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 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 рулит
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Ребята помогите с парой программ! | 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 |