Там должен быть не инкремент,а декремент.Я ошибся.Если имеется перенос, то программа прыгает на метку М3,а затем осуществляется декремент (для того,чтобы перейти на ячейку с номером на 1 меньше)
Да, уменьшение R3 проглядел... Сказывается привыкание с системе команд AVR, в которой сея полезная инструкция отсутствует (но успешно заменяется макросом с аналогичным названием )
alyarma писал(а):Если имеется перенос, то программа прыгает на метку М3
А если переноса нет, куда попадем после JC?
Подсказываю: туда же
Нужно между строками с условным переходом и M3 как раз сохранять число в регистре B.
Последний раз редактировалось Engineer_Keen Чт ноя 24, 2011 14:48:23, всего редактировалось 1 раз.
alyarma писал(а):Там должен быть не инкремент,а декремент.
Дело не в декременте или инкременте, а в том, что ты после проверки условия прыгаешь в одно и то-же место..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Мне препод в универе дал ассемблер,вот я им и пользуюсь А чем мой плох?
P.S.:Хм,а ведь переход нужен будет,если числа в массиве будут не по порядку идти.Но тогда нужно будет ещё 1 метку делать...
alyarma писал(а):а ведь переход нужен будет,если числа в массиве будут не по порядку идти.
Порядок чисел тут не при чём..
Ты в начале загоняешь в B максимальное число, а потом с ним сравниваешь по порядку все числа из массива..
Если число из массива меньше числа в B, то копируем это число в B, если нет - проверяем дальше..
P.S. А куда ты инструкцию перехода JC выкинул?
P.P.S.
alyarma писал(а):А чем мой плох?
Дело не в "плохости", а в удобности.. Мя их в своё время много перепробовал и для 51-х-классик остановился на этом..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
alyarma писал(а):Мне препод в универе дал ассемблер,вот я им и пользуюсь А чем мой плох?
Наверняка он менее удобный.
Ошибка в том, что программа на ассемблере не может заканчиваться как любая программа на языке высокого уровня - контроллер будет дальше выполнять инструкции в памяти после слова END, а так как там ничего не написано - там может быть мусор и неизвестно что, вот симулятор и ругается. Программу нужно заканчивать циклом типа
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Про зацикливание в конце совсем забыл.
Теперь в порт записывается число,но почему-то не минимальное в массиве.А точнее число,которого вообще в массиве нету
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Теперь можешь гордится, у тя на коте есть "прикреплённая" тема про МК51..
И щоб вопросы по этому семейству только в ней задавать..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Извините за офтоп, не могу удержаться.
С нескрываемым интересом следил за перипетиями матча. Испытал массу впечатлений. Спасибо участникам. Многим есть чему поучиться. МитяРа, +7 пунктов.
Какие-такие пункты? Опять на мя досье строчишь? А старое - опять потерял?
P.S. Приветствую, кстати..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
пока мудрил, похоже тема вперед ушла...
ну и мой "ляп" приложу...(атмелевский c51asm+fd51rus)
вариации на тему "пузырьков" ("а минимальное значение вывести на светодиоды порта вывода Р1.") - набросок прицепил в виде листинга для меньшей заморочки - код совершенно неоптимален но вроде работает...
Это ещё почему - ляп, всё по правильному сделано и в одном цикле..
Ты пушистый, профессионализм свой - не принижай..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
а потому ляп, что не все проблемные точки проверены - "скороспелка" получилась
взять хотя-бы отсутствие очистки CY перед операцией subb a,......
да и для всплытия "наименьшего из" достаточно одного прохода, а не 16 (для полной сортировки)