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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.12.2011, 20:54   #1
nastya_m
Новичок
Джуниор
 
Регистрация: 05.12.2011
Сообщений: 4
По умолчанию язык ассемблера

помогите
мне нужно привести 3 любых примера решения задач на языке ассемблера с командой IMUL
nastya_m вне форума Ответить с цитированием
Старый 06.12.2011, 22:46   #2
botane4ka
 
Регистрация: 03.12.2011
Сообщений: 9
По умолчанию записана в вижуале

#include <iostream.h>
void main ()
{
int n=123, q1=10, q2=100, result=0, a=0, b=0, c=0;

__asm { //abc->bac

push eax
push ebx
push ecx
push edx

mov eax, n

cdq
div q2

mov a, eax
mov eax, edx

cdq
div q1

mov b, eax
mov c, edx // ?

mov eax, b
imul eax, q2

mov ebx, a
imul ebx, q1

imul ecx, c
add ecx, ebx
add ecx, eax

mov result, ecx

pop eax
pop ebx
pop ecx
pop edx
}

cout<<result<<endl;
}
botane4ka вне форума Ответить с цитированием
Старый 06.12.2011, 22:47   #3
botane4ka
 
Регистрация: 03.12.2011
Сообщений: 9
По умолчанию

эт она меняет местами первую и последнюю цифру трехзначного числа
botane4ka вне форума Ответить с цитированием
Старый 06.12.2011, 22:50   #4
botane4ka
 
Регистрация: 03.12.2011
Сообщений: 9
По умолчанию это вычисляет значение по формуле, что в в комменте

#include <iostream>
using namespace std;

void main () {
int a=2;
int b=1;
int c=2;
int x=2,m=2;
int result=0;

__asm{//(a+b)a + ab/5

push eax
push ebx
push ecx
push edx

mov ebx, a
add ebx, b
imul ebx, a

mov eax,a
imul eax, b

mov ecx, 5
cdq
div ecx
add eax, ebx

mov result, eax

pop edx
pop ecx
pop ebx
pop eax
}

cout<<result<<endl;
}
botane4ka вне форума Ответить с цитированием
Старый 06.12.2011, 22:52   #5
botane4ka
 
Регистрация: 03.12.2011
Сообщений: 9
По умолчанию

#include <iostream>
using namespace std;

void main () {
int a=2;
int b=1;
int c=2;
int x=2,m=2;
int result=0;

__asm{//(x^2+ax)(3b-c) + 2xa^3 - x^3/2


push eax
push ebx
push ecx
push edx

mov eax, x
imul eax, x

mov ebx, a
imul ebx, x

add eax, ebx
mov ecx, eax

mov ebx, 3
imul ebx, b
sub ebx, c

imul ecx, ebx

mov ebx, 2
imul ebx, x
imul ebx, a
imul ebx, a
imul ebx, a

mov eax, x
imul eax, x
imul eax, x
cdq
div m

add ecx, ebx
sub ecx, eax
mov result, ecx

pop eax
pop ebx
pop ecx
pop edx

}

cout<<result<<endl;

}
botane4ka вне форума Ответить с цитированием
Старый 07.12.2011, 13:15   #6
nastya_m
Новичок
Джуниор
 
Регистрация: 05.12.2011
Сообщений: 4
По умолчанию

спасибо большое!!!!!!!!
очень помогли
nastya_m вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Код ассемблера MaRtOvSkiI_KoT Помощь студентам 3 20.10.2011 17:25
Вставка ассемблера в Си Влодимир Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 6 18.02.2011 05:05
Основы ассемблера Maksim_27_10 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 08.07.2010 12:24
Сравнение Си и Ассемблера... Sota Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 9 25.07.2007 16:15