>
; для виводу на світодіоді
loop:
mov a, @ R0
; адреси Першого доданка
addc a, @ R1
; додавання
mov @ R0, A
; Збереження суми частин
movx @ DPTR, A
; відображення суми
inc R0
; наступні Байт доданків
inc R1
DJNZ R2, loop
; формат доданків завдань у R2
В
p> Малюнок 6.6 - Алгоритм програми 8
9. Програма Виконує множення цілого двійкового числа довільного формату на константу 157. Вихідне число зберігається в РПД, адреси его молодшого байта Завантажени у Регистр R0. Формат числа (довжина в байтах) утрімується в регістрі R1. Алгоритм програми подання на малюнку 6.7
10. Малюнок 6.7 - Алгоритм програми 9
В
p> Текст програми:
cseg
; сегмент кодом
org 2000h
; початкова адреси програми
mov DPTR, # 0FFF1h
; завантаження адреси лінійкі світодіодів
mov A, # 0
; обнуління акумулятора
loop:
add A, @ R0
; завантаження множення
mov B, # 157
; завантаження множніка
mul AB
; Операція множення
mov @ R0, A
; запис мовляв. байта
movx @ DPTR, A
; візуалізація мовляв. байта на світодіодах
call 0220h
; затримка 1 сек. /Td>
inc R0
; Збільшення адреси
mov A, B
; Пересилання ст. байта результату в А
movx @ DPTR, A
; візуалізація ст. байта на світодіодах
call 0220h
; затримка 1 сек. /Td>
xch @ R0, A
; Формування Чергова байта
DJNZ R1, loop
; зацикленість, Якщо не ВСІ Байт помножені
11. Програма Виконує Перетворення двійкового числа, Яку містіться в акумуляторі в BCD-код.
Текст програми:
cseg
; сегмент кодом
org 2000h
; початкова адреси програми
MOV A, R5
; Пересилання операнда в Асс
MOV B, # 100
; дільнік 100 для обчислення сотенного у чіслі
DIV AB
; Асс містіть число сотень (ст. тетраду)
MOV R6, A
; Пересилання число сотень в R6
MOV A, B
; Пересилання Залишки віхідного числа в Асс
MOV B, # 10
; дільнік 10 для обчислення числа десятків у чіслі
DIV AB
; число десятків утрімується в Ас, число одиниць - в B
SWAP A
; размещения числа десяткі...