|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.12.2010, 19:24 | #1 |
Регистрация: 04.12.2010
Сообщений: 4
|
Задача
Прошу помощи в решении задачи. Программирование процессора 8086.
Вроде бы не очень сложная, но пока разобраться не получается. Входные параметры: BX – адрес массива, состоящего из 16-ти байт. Элементы массива могут содержать значения 1 или 2. Определить последний элемент, который содержит 2, начиная с конца массива. Вернуть порядковый номер (начиная с 0) этого элемента в AX или 255 если нет ни одного такого элемента. Код:
|
04.12.2010, 21:52 | #2 |
Пользователь
Регистрация: 20.07.2010
Сообщений: 52
|
Непонятно, зачем у вас массив забит числом 255, если по условию, как я понял, это число является лишь признаком отсутствия в массиве двойки.
Вот мой вариант (результат смотрите в отладчике, на экран не стал выводить) : Код:
Последний раз редактировалось Ant1971on; 04.12.2010 в 22:06. |
04.12.2010, 23:52 | #3 |
Регистрация: 04.12.2010
Сообщений: 4
|
Это я перепутал. Спасибо, Антон!
|
05.12.2010, 14:10 | #4 |
Пользователь
Регистрация: 20.07.2010
Сообщений: 52
|
Рад был помочь Кстати, удалось немного упростить програмку:
Код:
|
22.12.2010, 19:22 | #5 |
Регистрация: 04.12.2010
Сообщений: 4
|
Есть вот такая загвоздка. Программа, в принципе, работает, но находит первую двойку с конца, а не последнюю. Но не суть, я идеей воспользовался, за что спасибо, и написал немного по другому, пусть и получилось объёмно. Но и тут несостыковочка, если двойка в нулевом элементе, то выводится 255, т.к. условие стоит на проверку нуля в bp. Если у кого найдутся идеи, буду рад, если поделитесь. Код прилагается.
Код:
|
22.12.2010, 23:39 | #6 |
Пользователь
Регистрация: 20.07.2010
Сообщений: 52
|
Виноват, невнимательно прочитал задачу. Почему-то решил, что раз с конца проверяем, то и находить надо первую попавшуюся двойку с конца.
Вот правильное решение: Код:
|
23.12.2010, 18:21 | #7 |
Регистрация: 04.12.2010
Сообщений: 4
|
Мдя, оказалось всё совсем просто, но я не догадался. Ещё раз благодарю, Антон!
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
задача | Ainash | Помощь студентам | 13 | 04.11.2010 15:37 |
Задача по с | ymanety | Общие вопросы C/C++ | 1 | 30.10.2010 21:28 |
Задача | ksandrj | Помощь студентам | 0 | 23.09.2010 14:29 |