17579

Исследование команд передачи управления

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторная работа № 4 Тема: Исследование команд передачи управления. Программная реализация алгоритма коррекции после сложения чисел в BCD формате. Цель: Исследовать команды передачи управления при помощи программной реализации алгоритма сложения чисел ...

Русский

2013-07-04

93.5 KB

4 чел.

«Лабораторная работа № 4»

Тема: « Исследование команд передачи управления.»

«Программная реализация алгоритма коррекции после сложения чисел в BCD формате.»

Цель: Исследовать команды передачи управления при помощи программной реализации алгоритма сложения чисел в формате BCD.

Краткие теоретические сведения:

 BCDBinary Convertion to Decimal, так называемый упаковочный формат представления двоично-десятичных данных.

 BCD  формат часто используется на практике, для работы с цифровыми индикаторами: электронных часов, калькуляторов, контрольно измерительный приборов – эти индикаторы могут быть как минимум двух разрядным. Вес каждого разряда составляет: low nible-1, high nible-10. Данные в BCD формате представлены байтом, который делятся на на две тетрады – младшую и старшую.

Следует отметить, что каждая тетрада байта BCD формата соответствует определенному разряду индикатора. Вес младшей тетрады составляет 1, а старшей – 16. Особый интерес для работы с BCD форматом представляют флажки C и DC. Эти флажки фиксируют переносы из младшей тетрады в старшую. Так же следует обратить внимание, что значение результата после сложения BCD данных не должно превышать 9. Если значение хоть одной тетрады превышает 9, производится десятичная коррекция

w equ 0;

f equ 1;

r0 equ 0c;

r1 equ 0d;

r2 equ 0e;

r3 equ 0f;

r4 equ 10;

r5 equ 11;

port_b equ 06;

status equ 03;

carry equ 0;

digit_carry equ 1;

zero equ 2;

summand_1 equ 99;

summand_2 equ 25;

movlw summand_1;

andlw 0f;

movwf r1;

movlw summand_1;

andlw 0f0;

movwf r2;

movlw summand_2;

andlw 0f;

movwf r3;

movlw summand_2;

andlw 0f0;

movwf r4;

bcf status,carry;

movf r3,w;

addwf r1,w;

btfsc status,digit_carry;

goto add_06;

goto verify_9;

back movf r2,w;

addwf r4,w;

btfsc status,carry;

goto add_60;

goto verify_9f;

back_1 movlw 0;

tris port_b;

movf r0,w;

movwf port_b;

goto finish;

add_06 addlw 06;

movwf r0;

bsf status,digit_carry;

goto back;

add_60 addlw 60;

addwf r0,f;

bsf status,carry;

goto back_1;

verify_9 movwf r5;

sublw 9;

btfss status,carry;

goto recovery_w;

movf r5,w;

movwf r0;

goto back;

recovery_w movf r5,w;

goto add_06;

verify_9f movwf r5;

sublw 9f;

btfss status,carry;

goto recovery_w1;

movf r5,w;

addwf r0;

goto back_1;

recovery_w1 movf r5,w;

goto add_60;

finish

end


 

А также другие работы, которые могут Вас заинтересовать

60538. Письмо строчной буквы «и» 79 KB
  Создание условий для формирования каллиграфического написания строчной буквы и. Предметные: способствовать усвоению гигиенических правил письма; сравнивать печатную и письменную буквы; конструировать буквы из ниток...