|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
01.05.2013, 12:13 | #1 |
Форумчанин
Регистрация: 23.11.2012
Сообщений: 428
|
Лаба по ассемблеру. Условия
есть 2 функции вида y = f(a,b,c,d,e), надо по условию (a>b)and(c<>d) если условие истинно то выполняется первая функция, если ложно вторая, с функциями разберусь, но не знаю как составить двойное условие
п.с. если что пишу в студии (асм вставка), так что всяких прибамбасов от masm и т.д. не надо в коде, не пойму все равно |
01.05.2013, 13:28 | #2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Алгоритм:
если a > b ложно, то прыжок на 1 если c <> d ложно, то прыжок на 1 f1() прыжок на exit 1: f2() exit:
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
01.05.2013, 15:03 | #3 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Это не двойное условие, это - логическое выражение.
Вычисляйте его последовательно в соответствии с приоритетом операций. Там может быть хоть 30 условий - на способ вычисления это никак не влияет. |
01.05.2013, 15:24 | #4 | |
Форумчанин
Регистрация: 23.11.2012
Сообщений: 428
|
Цитата:
как это последовательно? cmp jcc а прыгать то куда... ну в смысле это одно условие а второе как Последний раз редактировалось Stilet; 01.05.2013 в 17:06. |
|
01.05.2013, 16:20 | #5 | |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Цитата:
"Нормально сказал" - т.е. написал за Вас?) А если по делу, я разжевал Вам все действия, Вам осталось только правильно это записать. http://asm-book.narod.ru/Stati_NK_IP_Jccop1.html - изучайте (советую взять jle, je и jmp). Как раз так, как я Вам описал. Делать условные переходы, если рассматриваемое условие ложно (если все условия идут через and).
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
|
01.05.2013, 17:48 | #6 |
Форумчанин
Регистрация: 23.11.2012
Сообщений: 428
|
BDA, я не прошу что то писать за меня, точнее писать, на буквально пару строк черкануть сложно чтоли, если я не знаю как это условие записать, оно же не на 100 строк будет... я не прошу всю лабу за меня делать просто не знаю как записать условие -_- читал я уже подобную хрень в нете, там нет подходящего условия (>, <>)
|
01.05.2013, 17:54 | #7 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
http://www.cracklab.ru/pro/asm/15.php
Вы посмотрели, что значат jle и je?
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
01.05.2013, 20:55 | #8 |
Форумчанин
Регистрация: 23.11.2012
Сообщений: 428
|
je x Equal ==
jle x Less or Equal <= я может конечно что то не знаю, но в С == это равно, а не как в моем случае НЕ равно (<>), да и так или иначе == не похоже банально на <>, просветите меня если я ошибаюсь... что касается jle там вообще во первых <, а не >, и = а не <>, опять таки в разных языках для логических операций могут быть разные символьные обозначения, может я просто чего то не понимаю... |
01.05.2013, 21:45 | #9 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,291
|
Окей, с намеками не получилось
Вам нужно, чтобы условие a > b было ЛОЖНЫМ, но переход выполняется по истинному условию, то есть нужно взять отрицание к исходному условию "если a <= b, то выполнить переход". Конечно же, можно разработать другую структуру, чтобы сохранить исходные условия, но это усложнит логику программы. Например: Если a > b, то переход на 1 переход на 3 1:Если c <> d, то переход на 2 переход на 3 2: f1() переход на exit 3: f2() exit: В данном случае 2 условных перехода и 3 безусловных. В предыдущем алгоритме - 2 условных и 1 безусловный.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
|
01.05.2013, 22:18 | #10 |
Форумчанин
Регистрация: 23.11.2012
Сообщений: 428
|
короче я себе это так представляю:
Код:
Последний раз редактировалось NewLamer&Programer; 01.05.2013 в 22:25. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос по ассемблеру | добрый_фей | Помощь студентам | 2 | 01.11.2010 20:27 |
Поясните по ассемблеру | Namolem | Помощь студентам | 1 | 10.10.2010 12:11 |
Лаба по Ассемблеру | Rio309 | Помощь студентам | 13 | 30.10.2008 00:35 |
практикум по ассемблеру | rpy3uH | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 8 | 13.12.2006 22:28 |