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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2016, 14:20   #1
TunelLord
Пользователь
 
Регистрация: 22.01.2016
Сообщений: 20
По умолчанию Assembler задача2 .

Нужна помощь в поиске ошибки.
Условие : Даны натуральные числа a, b, c (типа DWORD) - длины сторон треугольника . Если треугольник равносторонний, записать в регистр EAX значение 1. В противном случае записать в EAX 0.

a DWORD 3h
b DWORD 3h
d DWORD 3h
.code
main PROC
mov edx, a
mov ebx, b
mov ecx, d
cmp edx, ebx
ja L1
cmp edx, ecx
ja L2
jmp L3
L1:
mov eax, 0
ja L2
mov eax, 0
L2:
mov eax, 0
L3:
mov eax, 1
call DumpRegs
call WaitMsg
main ENDP
END main ;
TunelLord вне форума Ответить с цитированием
Старый 02.07.2016, 21:50   #2
Diman1212
 
Регистрация: 26.06.2016
Сообщений: 3
По умолчанию

Ошибка в переходах они все проходят через метку L3 соответственно получаеться в eax всегда единица
Diman1212 вне форума Ответить с цитированием
Старый 06.07.2016, 00:37   #3
spolyr
Пользователь
 
Регистрация: 30.03.2015
Сообщений: 17
По умолчанию

а можно так
mov eax,[a]
xor eax,[b]
mov ecx,[c]
xor ecx,[a]
xor eax,ecx
cmp eax,0

типа такого, одно сравнение будет
spolyr вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача2 Василий Выговский Visual C++ 1 25.09.2014 22:49
Assembler DEFOX Помощь студентам 0 14.12.2011 14:32
assembler( joha Помощь студентам 0 22.11.2011 18:47
Assembler Peppi Помощь студентам 3 22.11.2011 17:24