Програма за събиране на четирибайтови числа с алгебричен знак

Програма за събиране на четирибайтови числа с алгебричен знак

В следващия пример подпрограмата за обработване на знака е извикана три пъти. При първия път е зададен адресът на първия операнд и подпрограмата го обработва. След това обработва и втория операнд. Следва програмен код за обработване на четирибайтови числа. Резултатът се получава също в допълнителен код. За това накрая е зададен адресът на резултата и подпрограмата ZNAK е извикана отново.

.include “m16def.inc”
LDI R16,LOW(RAMEND)
OUT SPL,R16
LDI R16,HIGH(RAMEND)
OUT SPH,R16
LDI ZL,0×60 ;Задава адресът на първия операнд
CLR ZH
CALL ZNAK ;Обработва го съобразно знака
LDI ZL,0×64 ;Задава адресът на втория операнд
CLR ZH
CALL ZNAK ;Обработва го съобразно знака
;Извършва събирането
LDI ZL,0×60 ;Задава базов адрес
CLR ZH
CLC ;Нулира С за стара информация
LDI R16,0×04 ;Организира брояч
L1: LDD R5,Z+3 ;Младшия байт на първи операнд
LDD R6,Z+7 ;Младшия байт на втори операнд
ADC R5,R6 ;Събира байтовете
STD Z+0×0B,R5 ;Изпраща в клетка за резултата
DEC ZL ;Преминава към следващия байт
DEC R16 ;Отброява поредната итерация
BRNE L1
LDI ZL,0×68 ; Задава адресът на резултата
CLR ZH
CALL ZNAK ;Обработва го съобразно знака
JMP END
ZNAK:
LD R25,Z
ANDI R25,0×80
BREQ LZ1
LDI R16,0×04
SEC
LZ2:
LDD R25,Z+3
IN R5,SREG
COM R25
OUT SREG,R5
BRCC LZ3
CLR R17
ADC R25,R17
LZ3:
STD Z+3,R25
DEC ZL
DEC R16
BRNE LZ2
ORI R25,0×80
STD Z+4,R25
LZ1:
RET
END:

Сходни статии:

  1. Програма за събиране на четирибайтови числа Програма за събиране на четирибайтови числа Операндите трябва да се заредят най-напред в оперативната памет. За първия операнд са отделени клетките 0х60, 0х61, 0х62 и 0х63; като първата от тях...
  2. Програма за умножение на еднобайтови числа без алгебричен знак Програма за умножение на еднобайтови числа без алгебричен знак Алгоритъм на умножението Нека е дадено множимото 1101 и множителя1001. Алгоритъмът за умножение на десетични и двоични числа е един и...
  3. Програма за преобразуване на четирибайтови числа в допълнителен код Програма за преобразуване на четирибайтови числа в допълнителен код Зададеното число се разполага в четири последователни клетки от паметта. И тук е прието най-старшият байт да е с най-малък адрес....
  4. Програма за събиране не еднобайтови BCD числа В тази програма не би трябвало да има нещо особено. Двата операнда се задават в BCD код в клетките 0х0060 0х0061. След това се извършва сумирането им по познатия начин....
  5. Програма за преобразуване на еднобайтови двоични числа в BCD код Максималната стойност на еднобайтовото число е 255. За да бъде преобразувано в двоично-десетично, може да се постъпи по следния начин. От зададената стойност да се изважда най-напред100, докато се получи...

Студио за уеб дизайн услуги, изработка на сайтове, SEO оптимизация и Интернет реклама Seven Web Design представя своите професионални уеб дизайн умения на високо ниво. Seven Web Design е продукт на Уеб Дизайн България Груп ООД ®
Comments are closed.