Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.10.2010, 13:13   #1
ТатьянаП
 
Регистрация: 17.10.2010
Сообщений: 4
Печаль вывод результата на порт В

Оба множителя вводятся в микроконтроллер программным путем. Результат арифметической операции выводится на порт «В».

Первый множитель 50
Второй множитель 2

Код:
#include <p16f84.inc>

    org 0
    goto Begin
    org 100     ; секция инициализации портов

Begin           ; рабочая секция программы
    bsf STATUS, RP0
    movlw B'00000000'

    bcf STATUS, RP0

    movlw D'50'
    RLF                ;данная команда используется для умножения, как её использовать???
    movwf PORTB

end
В данной программе должен быть цикл, но как его написать не знаю. В ассемблере новичек, все сложно пока. Пока научилась просто складывать и выводить на порт, а вот здесь запарка. Если кто-нибудь знает, помогите плиз!!!!Спасибо заранее

Последний раз редактировалось Stilet; 25.10.2010 в 13:20.
ТатьянаП вне форума Ответить с цитированием
Старый 25.10.2010, 14:55   #2
*PB*
Форумчанин
 
Регистрация: 11.08.2009
Сообщений: 558
По умолчанию

Цитата:
RLF ;данная команда используется для умножения, как её использовать???
Эта команда служит не для умножения, а для сдвига регистра влево через перенос.
Ее можно использовать для умножения, но только на числа, кратные 2, т. е. 2, 4, 8, 16, 32, 64, 128 и т. д.

Правее самой инструкции, нужно указать какой регистр нужно "двигать" и куда поместить результат, в аккумулятор W, или в регистр.

Должно быть примерно так:
Код:
  
#include <p16f84.inc>
MyReg    equ 10h

    org 0
    goto Begin
    org 100     ; секция инициализации портов

Begin           ; рабочая секция программы
    bsf STATUS, RP0
    movlw B'00000000'

    bcf STATUS, RP0

    movlw D'50'
    movwf MyReg
    RLF MyReg, W               ;данная команда используется для умножения, как её использовать???
    movwf PORTB

end

Последний раз редактировалось *PB*; 25.10.2010 в 15:02.
*PB* вне форума Ответить с цитированием
Старый 26.10.2010, 07:28   #3
ТатьянаП
 
Регистрация: 17.10.2010
Сообщений: 4
По умолчанию

Я знаю,что данная команда сдвигает значение. И множитель второй-2.

Так там еще цикл должен перед этим идти!!! Так как я работала только с простыми задачами, сумма или просто отправить число на порт В, то не могу понять зачем здесь цикл и вообще как его написать.
ТатьянаП вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсчет и вывод результата... sew960i Microsoft Office Excel 18 31.01.2010 14:04
Ассемблер вывод результата. SickUSP Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 28.01.2010 19:16
Ассемблер вывод результата. SickUSP Помощь студентам 0 28.01.2010 18:13
Запрос в БД и вывод результата Nice42ru Помощь студентам 10 05.11.2009 09:47
Вывод результата по столбцам Mary_star SQL, базы данных 4 03.03.2008 13:15