|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
14.05.2017, 11:45 | #1 |
Новичок
Джуниор
Регистрация: 14.05.2017
Сообщений: 5
|
как найти номер максимального числа,а потом умножить этот номер на это максимальное число
максимальное число находит и записывает в регистр BX номер в дамп памяти, только почему то 5, когда у меня максимально число 15 под номером 7, Компилятор масм 32, в программе Proteus 8
Код:
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ) Модератор Последний раз редактировалось Serge_Bliznykov; 19.05.2017 в 14:27. |
14.05.2017, 13:07 | #2 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 751
|
- а зачем dl копировать в IndexMax, а потом IndexMax обратно в dl?
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
|
14.05.2017, 19:28 | #3 |
(aka Jin X) !RTFM!
Форумчанин
Регистрация: 14.12.2014
Сообщений: 295
|
Где-то этот код я сегодня уже видел
Не в BX он записывает, а в BL (что неверно, т.к. числа в X размером со слово). И не номер, а само число. А номер - в indexMax. Причём, не номер, а номер минус 1 (начиная отсчёт с нуля). Вот и получается, что 7-е число - это indexMax=5. Почему так? Потому что первое сравнение идёт с [si+2], т.е. со вторым числом (первое число – в [si], см. mov bl,[si]), а в dl что у нас? Ноль! Вот и получается сдвиг на 2. Строка mov dl,indexMax здесь лишняя вообще.
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
|
14.05.2017, 19:32 | #4 |
(aka Jin X) !RTFM!
Форумчанин
Регистрация: 14.12.2014
Сообщений: 295
|
Ещё непонятно зачем использовать dl, когда есть cx (cl), увеличивающийся точно так же, как и dl, только немного раньше.
И lex=($-X)/2 нужно поместить строчкой выше (с делением на 2, т.к. это не байты, а слова!). Зачем искать максимум в indexMax?
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
|
14.05.2017, 20:16 | #5 |
Новичок
Джуниор
Регистрация: 14.05.2017
Сообщений: 5
|
[QUOTE=Cuprum5;1680368]- да это проверял, как будет, прост
|
14.05.2017, 20:18 | #6 |
Новичок
Джуниор
Регистрация: 14.05.2017
Сообщений: 5
|
Спасибо за объяснение,
разобрался |
14.05.2017, 20:31 | #7 |
Новичок
Джуниор
Регистрация: 14.05.2017
Сообщений: 5
|
[QUOTE=Cuprum5;1680368] Мне вообще нужно, используя подпрограммы и стек написать программу
|
14.05.2017, 20:32 | #8 |
Новичок
Джуниор
Регистрация: 14.05.2017
Сообщений: 5
|
мне вообще нужно, используя подпрограммы и стек написать это программу
|
19.05.2017, 13:13 | #9 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 751
|
Подскажите, пожалуйста, что означает конструкция языка:
Код:
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
Последний раз редактировалось Cuprum5; 19.05.2017 в 13:20. |
19.05.2017, 13:28 | #10 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
$ - текущая позиция (адрес) при компиляции
"-" - это знак минус, означает вычитание Глава 9. Задание и использование счетчика адреса Последний раз редактировалось Serge_Bliznykov; 19.05.2017 в 13:30. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Найти номер строки и столбца максимального элемента.(PascalABCNET) | FlayGlam | Помощь студентам | 3 | 04.12.2016 04:42 |
Найти номер первого из ее столбцов, содержащих максимальное количество одинаковых элементов (Delphi) | ALEXandr20333 | Помощь студентам | 12 | 18.02.2014 21:39 |
Как найти номер максимального елемента | dimko28 | Общие вопросы C/C++ | 1 | 13.11.2013 00:52 |
Найти наименьшие элементы в каждой строке матрицы и номер максимального из них | fort-_-minor | Общие вопросы C/C++ | 3 | 22.05.2013 15:44 |
В матрице найти число положительных элементов указанной строки и умножить это число на элементы указанного столбца. (Паскаль) | Julichka1k | Помощь студентам | 4 | 18.12.2011 20:35 |