![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 14.05.2017
Сообщений: 5
|
![]()
максимальное число находит и записывает в регистр BX номер в дамп памяти, только почему то 5, когда у меня максимально число 15 под номером 7, Компилятор масм 32, в программе Proteus 8
![]() ![]() ![]() Код:
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ) Модератор Последний раз редактировалось Serge_Bliznykov; 19.05.2017 в 14:27. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 750
|
![]()
- а зачем dl копировать в IndexMax, а потом IndexMax обратно в dl?
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
|
![]() |
![]() |
![]() |
#3 |
(aka Jin X) !RTFM!
Форумчанин
Регистрация: 14.12.2014
Сообщений: 296
|
![]()
Где-то этот код я сегодня уже видел
![]() Не в 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
|
![]() |
![]() |
![]() |
#4 |
(aka Jin X) !RTFM!
Форумчанин
Регистрация: 14.12.2014
Сообщений: 296
|
![]()
Ещё непонятно зачем использовать dl, когда есть cx (cl), увеличивающийся точно так же, как и dl, только немного раньше.
И lex=($-X)/2 нужно поместить строчкой выше (с делением на 2, т.к. это не байты, а слова!). Зачем искать максимум в indexMax?
Делаю лабы на Asm/Delphi/C++/Python/VBA(Excel): asmlabs.ru
|
![]() |
![]() |
![]() |
#5 |
Новичок
Джуниор
Регистрация: 14.05.2017
Сообщений: 5
|
![]()
[QUOTE=Cuprum5;1680368]- да это проверял, как будет, прост
|
![]() |
![]() |
![]() |
#6 |
Новичок
Джуниор
Регистрация: 14.05.2017
Сообщений: 5
|
![]()
Спасибо за объяснение,
разобрался |
![]() |
![]() |
![]() |
#7 |
Новичок
Джуниор
Регистрация: 14.05.2017
Сообщений: 5
|
![]()
[QUOTE=Cuprum5;1680368] Мне вообще нужно, используя подпрограммы и стек написать программу
|
![]() |
![]() |
![]() |
#8 |
Новичок
Джуниор
Регистрация: 14.05.2017
Сообщений: 5
|
![]()
мне вообще нужно, используя подпрограммы и стек написать это программу
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 09.05.2017
Сообщений: 750
|
![]()
Подскажите, пожалуйста, что означает конструкция языка:
Код:
Напишу программу на C++ и Asm для AVR. Черчение: sergeisky@yahoo.com.
Последний раз редактировалось Cuprum5; 19.05.2017 в 13:20. |
![]() |
![]() |
![]() |
#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 |