В HTML      В PDF
микроэлектроника, микросхема, микроконтроллер, память, msp430, MSP430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, SED1335, mega128, avr, mega128  
  Главная страница > Обзоры по типам > Микроконтроллеры > HC08 > Примеры

реклама

 
радиационно стойкие ПЗУ Миландр

Продажа силового и бронированного кабеля и провода в Москве

текст еще



Пример кодов с использованием команды BGE

*   Перемножение 8x8 со знаком.
*
*   Ввод: Множитель и множимое находятся в VAR1 и VAR2
*   Вывод: Результат, со знаком, в X:A
*
    Метка   Операция Операнд         Комментарий

             ORG     $50              ; Адресное пространство RAM
*   NEG_FLG  RMB     1                ; Байт флага знака
*   VAR1     RMB     1                ; Множитель 
*   VAR2     RMB     1                ; Множимое
*
*
             ORG     $6E00            ; Адресное пространство ROM/EPROM
    S_MULT   CLR     NEG_FLG          ; Очистка флага отрицательного значения
             TST     VAR1             ; Проверка VAR1
             BGE     POS              ; Продолжение, если = >0
             INC     NEG_FLG          ; Иначе установка флага отрицательного
                                      ; значения
             NEG     VAR1             ; Преобразование в положительное число
*
    POS      TST     VAR2             ; Проверка VAR2
             BGE     POS2             ; Продолжение, если = >0
             INC     NEG_FLG          ; Иначе переключение флага отрицательного 
                                      ; значения
             NEG     VAR2             ; Преобразование в положительное число
*
    POS2     LDA     VAR2             ; Загрузка VAR1
             LDX     VAR1             ; Загрузка VAR2
             MUL                      ; VAR1 x VAR2, без знака, - > X:A
             BRCLR   0, NEG_FLG, EXIT ; Выход, если оба операнда положительны
                                      ; или оба операнда отрицательны
             COMA                     ; Иначе дополнение до 1 A и X
             COMX
             ADD     #1               ; Добавление 1 в дополнение до 2 (младший 
                                      ; байт)
             PSHA                     ; Сохранение младшего байта результата
             TXA                      ; Пересылка старшего байта (без знака) 
                                      ; результата
             ADC     #0               ; Добавление результирующего переноса для
                                      ; завершения дополнения до 2
             TAX                      ; Возврат к X
             PULA                     ; Восстановление младшего байта 
                                      ; результата
  EXIT       RTS                      ; Возврат
*





 
Впервые? | Реклама на сайте | О проекте | Карта портала
тел. редакции: +7 (495) 514 4110. e-mail:info@eust.ru
©1998-2016 ООО Рынок Микроэлектроники