Здрасьте, приплыли. Ну да, команда cjne иногда выставляет CY, но кому это мешает? В следующем цикле она новое значение выставит или старое снимет, не зависимо от того, сделаем мы {clr c} или нет. И само собой, что остальным командам, в смысле строкам 9-14, от CY ни жарко, ни холодно.
Заголовок сообщения: Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Добавлено: Вт дек 20, 2011 10:52:14
Модератор
Карма: 14
Рейтинг сообщений: 37
Зарегистрирован: Чт дек 11, 2008 14:52:26 Сообщений: 11492 Откуда: град Нижний
Рейтинг сообщения:0
IM1 писал(а):
не зависимо от того, сделаем мы {clr c} или нет.
Согласен, что так.. Просто автоматически обратил внимание, что для первого байта бит CY не сбрасывается и отметил это.. В принципе его можно было перенести с конца на начало цикла.. Но твой вариант - всё равно лучше..
_________________ Между людьми возникает напряжение, если у них разный потенциал...
Заголовок сообщения: Re: Мелкие вопросы по МК-51 а-ка MCS-51, ASM и не только..
Добавлено: Вт дек 20, 2011 11:11:14
Модератор
Карма: 14
Рейтинг сообщений: 37
Зарегистрирован: Чт дек 11, 2008 14:52:26 Сообщений: 11492 Откуда: град Нижний
Рейтинг сообщения:0
И тут ты в точку попал, пушистый..
Не зря по моей просьбе эту тему прикрепили, количество прочтений всё время увеличивается.. И хоть спрашивают мало, но интерес есть, т.к. в большинстве ВУЗов начинают преподавать с МК51-х.. Классика жанра, она таковая и есть..
_________________ Между людьми возникает напряжение, если у них разный потенциал...
Тут посоветуют алгоритм - код самим придется писать. А алгоритм прост. Зайдействуем 3 регистра. Третий очищаем. Загружаем число в первый регистр Во второй грузим константу 100 отнимаем из первого второй и инкрементируем третий до тех пор пока не установится бит переноса. Как только перенос возник - уменьшаем третий регистр на 1. К первому прибавляем константу 100 (второй регистр). Меняем ниблы третьего регистра. Грузим во второй регистр число 10. и начинаем новый цикл до переноса. По переносу - корректируем содержимое регистра 1 и уменьшаем регистр 3. Получаем в регистре 3 старший нибл - сотни, младший - десятки. В первом регистре единицы.
_________________ Загружая на вход компьютера "мусор", на выходе получим "мусор^32". PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Чёто не въехал. Восьмеричный от двоичного отличается всего навсего количеством разрядов: у двоичного один разряд, у восьмеричного 3 двоичных разряда. Там и преобразовывать-то нечего. Брать только узкой или широкой ладонью.
Упс.. проглядел что в восьмеричную. Думаю им задали отбразить числами от 0 до 7... А тут и переводить нечего даже... фууууууу я так не играю
_________________ Загружая на вход компьютера "мусор", на выходе получим "мусор^32". PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Какая тренировка? Я уже устал биться о клавиатуру отчетываясь о проделаной работе
_________________ Загружая на вход компьютера "мусор", на выходе получим "мусор^32". PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Меняйте константы - и считайте раз так задали. Хотя проще некуда - 11111111b =377o
_________________ Загружая на вход компьютера "мусор", на выходе получим "мусор^32". PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Неправильно! Делить тут нечего если помнить что 000 = 0 001= 1 010=2 011=3 100=4 101=5 110=6 111=7 1000=10 1001=11 ....
_________________ Загружая на вход компьютера "мусор", на выходе получим "мусор^32". PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Да разделите байт из регистра покускам в три других уж наконец. Блин вот некороткий алгоритм Исходное число в регистре 0. Накладываем маску 00000111 со значением и помещаем в регистр 1. Сдвигаем на 3 разряда вправо регистр 0 с обнулением старших битов. Накладываем маску 00000111 Помещаем результат регистр 2 Сдвигаем вправо на 3 разряда с обнулением старших бит В регистре 0 - страшая часть кода. В регистре 2 - стредняя часть В регистре 1 - младшая ПыСы. Пока набирал - вроде дотумкали сами
_________________ Загружая на вход компьютера "мусор", на выходе получим "мусор^32". PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения