| Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
Ассемблер
13.09.2011, 22:03
|
#11
|
|
Частый гость
Регистрация: 13.09.2011
Сообщений: 10
Сказал спасибо: 5
Сказали Спасибо 4 раз(а) в 4 сообщении(ях)
|
Re: Ассемблер
Сообщение от nonamedov
|
Тогда никак, математику еще никто не отменял и я не волшебник.
Да, неправильно, буквой h обозначается шестнадцатеричные, а b двоичные (0 или 1) числа.
|
 понятно)пойду учить)
|
|
|
|
14.09.2011, 05:54
|
#12
|
|
Частый гость
Регистрация: 13.06.2007
Сообщений: 46
Сказал спасибо: 0
Сказали Спасибо 22 раз(а) в 4 сообщении(ях)
|
Re: Ассемблер
Что то я не понял всё, что тут написано...
Причем совсем.
Как в тетраду можно записать число больше 15?
Почему число десятков равно 44(даже не важно в какой системе)?
Если их 44(d), то это 4 сотни и 4 десятка.
Если же 44(h), то будет равно 68(d). значит 6 сотен и 8 десятков.
Может быть Вам надо за писать число десятков от числа 44?
Тогда это будет или 4, или 6, смотря в какой системе счисления было записано число 44.
ПыСы
Добавлю небольшую цитату:
Тетрада ( полубайт, ниббл) - группа из четырех бит, кодируемая одним символом в шестнадцатеричной системе счисления.
Последний раз редактировалось slava21; 14.09.2011 в 05:58.
|
|
|
|
14.09.2011, 06:14
|
#13
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 06.06.2008
Сообщений: 1,519
Сказал спасибо: 76
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
|
Re: Ассемблер
slava21, путаете сотни и десятки, пропускали арифметику в первом классе, да? Прочитайте всю тему, где было написано, что в тетраде может быть число больше 15?!
Последний раз редактировалось nonamedov; 14.09.2011 в 07:17.
|
|
|
|
14.09.2011, 12:03
|
#14
|
|
Заблокирован
Регистрация: 27.03.2007
Сообщений: 1,327
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
|
Re: Ассемблер
Сообщение от kapsula1
|
|
вывести число десятков от числа 044b
|
Учитывая начальный уровень познаний у Капсулы, может оказаться, что в задании фигурирует число 044Bh, что в десятичной системе равно 1099, при этом число десятков = 9 !
Как вам такой поворот задания ?
|
|
|
|
14.09.2011, 12:14
|
#15
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
|
Re: Ассемблер
Сообщение от Yurkin2007
|
|
Как вам такой поворот задания ?
|
...скан задания в студию...
|
|
|
|
14.09.2011, 12:26
|
#16
|
|
Прописка
Регистрация: 25.09.2009
Адрес: Ivanovo
Сообщений: 156
Сказал спасибо: 3
Сказали Спасибо 67 раз(а) в 60 сообщении(ях)
|
Re: Ассемблер
Сообщение от nonamedov
|
mov a, #044h;
mov b, #10
div ab;
mov b, a;
mov a, P1;
anl a, #0F0h;
orl a, b;
mov P1, a;
|
Не совсем правильно,командой mov a,P1 читается состояние внешних сигналов P1 и если к нему подключена например база транзистора можно получить неверное состояние порта со всеми вытекающими... правильно будет:
|
Код:
|
mov b, #10
div ab;
mov b,a
clr a
orl a,P1
orl a,#0fh
orl a,b
mov P1,a |
при логических операциях с портом берется значение защелки порта,и вышеописанная ошибка исключена.
Последний раз редактировалось heady69; 14.09.2011 в 13:04.
|
|
|
|
Сказали "Спасибо" heady69
|
|
|
14.09.2011, 12:27
|
#17
|
|
Заблокирован
Регистрация: 27.03.2007
Сообщений: 1,327
Сказал спасибо: 12
Сказали Спасибо 576 раз(а) в 460 сообщении(ях)
|
Re: Ассемблер
В любом случае, я бы добавил к коду уважаемого nonamedov предварительное деление на 100, чтобы получить реальное число десятков
|
Цитата:
|
mov a, #ВашеЧисло;
mov b, #100
div ab;
mov a, b; задвигаем остаток от деления на 100 в аккумулятор
mov b, #10
div ab;
mov b, a;
mov a, P1;
anl a, #0F0h;
orl a, b;
mov P1, a;
|
|
|
|
|
14.09.2011, 13:26
|
#18
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 25.05.2010
Адрес: г. Королёв
Сообщений: 8,487
Сказал спасибо: 30
Сказали Спасибо 3,070 раз(а) в 2,011 сообщении(ях)
|
Re: Ассемблер
Также неплохо к коду уважаемого nonamedov добавить перед делением проверку, что число больше ста, потом десяти...
|
|
|
|
14.09.2011, 13:40
|
#19
|
|
Почётный гражданин KAZUS.RUN
Регистрация: 06.06.2008
Сообщений: 1,519
Сказал спасибо: 76
Сказали Спасибо 427 раз(а) в 365 сообщении(ях)
|
Re: Ассемблер
Yurkin2007, там 044h, а не 044b, что равно 68 в десятичной системе, да и согласитесь, что как количество десятков в шестнадцатеричном числе логичнее всего брать частное от деления на 10.
Сообщение от heady69
|
|
Не совсем правильно,командой mov a,P1 читается состояние внешних сигналов P1 и если к нему подключена например база транзистора можно получить неверное состояние порта со всеми вытекающими... правильно будет:
|
А откуда Вы уверены, что нужно значение именно защелках, может, как раз нужно брать состояние на выходах.
|
|
|
|
14.09.2011, 13:54
|
#20
|
|
Прописка
Регистрация: 25.09.2009
Адрес: Ivanovo
Сообщений: 156
Сказал спасибо: 3
Сказали Спасибо 67 раз(а) в 60 сообщении(ях)
|
Re: Ассемблер
Сообщение от nonamedov
|
|
А откуда Вы уверены, что нужно значение именно защелках, может, как раз нужно брать состояние на выходах.
|
Полюбому, если изменить состояние защелок порта состояние на выходах ОЧЕНЬ СИЛЬНО изменится. Если в защелке 0-то чтобы не подавалось на соответствующую ножку контроллера- он будет читать только 0.
Последний раз редактировалось heady69; 14.09.2011 в 14:00.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 06:40.
|
|