Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите Написать программу на языке Ассемблер, вычисляющую наибольшее из трёх чисел.

777 Профи (572), на голосовании 7 лет назад
Голосование за лучший ответ
kaiu Высший разум (118838) 7 лет назад
mov ax, x ; загружаем в регистр ax переменную x
mov bx, y ; загружаем в регистр bx переменную y
cmp ax, bx ; сравниваем с y
jg Obhod1 ; если x>y то переход на Obhod1
; иначе в ax где будем максимум грузим BX
mov ax, bx

Obhod1:
mov bx, z ; загружаем в регистр bx переменную z
cmp ax, bx ; сравниваем с z
jg Obhod2 ; если > то переход на Obhod2
; иначе в ax где будем максимум грузим BX
mov ax, bx

Obhod2:
; теперь в ax максиму из 3 переменных в памяти: x, y, z
777Профи (572) 7 лет назад
мы не проходили команды Obhod, можно как нибудь без нее сделать типо с метками m1.m2
kaiu Высший разум (118838) Меняй как хочешь, это не команда, так как заканчивается на двоеточие, это такая же метка, просто для понятливости, что мы обходим команды а не допустим возвращаемся куда-то вперед.
East RX Просветленный (24468) 7 лет назад
mov eax, [A]
cmp [B], eax
cmovg eax, [B]
cmp [C], eax
cmovg eax, [C] ;наибольшее в EAX
Похожие вопросы