Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
Alex163
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 52
1

Найти сумму максимального и минимального/ сумму двух максимальных/ суммы двух минимальных

10.04.2014, 19:06. Просмотров 594. Ответов 2
Метки нет (Все метки)

Помогите, пожалуйста, написать код для парочки задачек. Завтра к.р, а я полное дно в ассемблере.
1. В регистрах ebx ecx edx находятся числа. Найти сумму максимального и минимального/ сумму двух максимальных/ суммы двух минимальных.
2. Удалить из записи числа все чётные цифры.
3. Записать число наоборот.

Добавлено через 1 час 33 минуты
По первой вот такой вариант. Но что то слишком мощно напортачил. Можно как-то уменьшить код?
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
_asm{
mov ebx, a;
mov ecx, b;
mov edx, c;
cmp ebx, ecx; // сравниваем a и b
jg l_bigger;// если a>b
 
// если a<=b 
cmp ebx, edx;// a и с
jg l_smaller;// a>c следов b=max
 
// a<=с след a=min 
cmp ecx, edx; // b и с
jg ll_smaller; // b>c следов b=max a=min
// b<=с следов с=max a=min
add ebx,edx;// a+c
mov res, ebx;
jmp exitt; //переход на конец программы
 
l_bigger:// если a>b
cmp ebx, edx; // a и с
jg ll_bigger; // если a>c следов a=max
// a<=с следов с=max b=min
add ecx, edx; // b+c
mov res, ecx;
jmp exitt; //переход на конец программы
 
ll_bigger:// a=max
cmp edx, ecx;// c и b
jg lll_bigger; // c>b следов b=min
// c<=b следов с=min
add ebx, edx; // a+c
mov res, ebx;
jmp exitt; //переход на конец программы
 
lll_bigger:// a=max b=min
add ecx, ebx;// b+a
mov res, ecx;
jmp exitt; //переход на конец программы
 
l_smaller:// b=max c=min
add ecx, edx;// b+c
mov res, ecx;
jmp exitt; //переход на конец программы
 
ll_smaller:// b=max a=min
add ecx, ebx;// b+a
mov res, ecx;
jmp exitt; //переход на конец программы
 
exitt:
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.04.2014, 19:06
Ответы с готовыми решениями:

Находит сумму и произведение двух чисел, и от произведения отнять сумму
Помогите с задачкой пожалуйста. Вводятся два числа. Нужно создать...

Найти сумму двух чисел (MASM)
Ввести с клавиатуры два числа и вывести их сумму. На Масм. Я никак не могу...

Найти сумму и разность двух чисел, введенных пользователем (emu8086)
Честно говоря, я даже не знаю, что с этим делать. Вообще, у меня задание...

Найти все четырёхзначные десятичные числа, у которых сумма первых двух цифр в два раза больше суммы правых двух цифр
Найти все четырёхзначные десятичные числа, у которых сумма первых двух цифр в...

Вычислить сумму элементов двух массивов
Очень нужна ваша помощь, мне в колледже дали задание. Пока я здесь(в колледж)...

2
Charles Kludge
Клюг
7646 / 3161 / 383
Регистрация: 03.05.2011
Сообщений: 8,382
10.04.2014, 19:39 2
Цитата Сообщение от Alex163 Посмотреть сообщение
3. Записать число наоборот.
где-то уже было - искать лень:[FASM]
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
    org 100h
    mov ah,9
    mov dx, req
    int 21h
    mov ah, 0Ah
    mov dx, inpbuf
    int 21h
    mov si, dx
    lodsw
    mov di, si
    shr ax, 8
    mov cx, ax
    mov bx, cx
@@: lodsb
    push    ax
    loop    @B
    mov cx,bx
@@: pop ax
    stosb
    int 29h
    loop    @B
    mov ah, 4Ch
    int 21h
req:    db  'Enter string:$'
inpbuf: db  0Ch, 0, 12 dup (?)
0
Alex163
0 / 0 / 0
Регистрация: 26.02.2013
Сообщений: 52
10.04.2014, 20:15  [ТС] 3
Charles Kludge,
Странный код...Очень много неизвестного для меня
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.04.2014, 20:15

Найти сумму элементов массива от первого до минимального
ребят помогите экзамен сдаю нужна помощ. в асемблере не фига не понимаю,дали...

Вывести на экран сумму двух введённых с клавиатуры цифр.
Помогите пожалуйста решить данную задачу. Задание: 1) Вывести на экран сумму...

Получить сумму кодов двух вводимых с клавиатуры символов
Здравствуйте люди добрые. Помогите пожалуйста написать программу. Задача: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru