|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.06.2016, 14:20 | #1 |
Пользователь
Регистрация: 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 ; |
02.07.2016, 21:50 | #2 |
Регистрация: 26.06.2016
Сообщений: 3
|
Ошибка в переходах они все проходят через метку L3 соответственно получаеться в eax всегда единица
|
06.07.2016, 00:37 | #3 |
Пользователь
Регистрация: 30.03.2015
Сообщений: 17
|
а можно так
mov eax,[a] xor eax,[b] mov ecx,[c] xor ecx,[a] xor eax,ecx cmp eax,0 типа такого, одно сравнение будет |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача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 |