
- •2.2. Разработка программы adn1
- •2.3. Обоснование выбора команд, реализующих основное действие
- •2.6 Разработка программы adn2
- •0000 4 Org 0000h ; 0000h-начальный адрес сегмента кодов
- •Version 1.2h assembly complete, 0 errors found
- •2.9 Разработка структуры программы adp2. Выделение из программы adp2 основной программы и подпрограммы
- •0000 4 Org 0000h ; 0000h-начальный адрес сегмента кодов
- •0032 37 22 Addc a, @r1
- •Version 1.2h assembly complete, 0 errors found
- •0000 4 Org 0000h ; 0000h-начальный адрес сегмента кодов
- •0032 37 22 Addc a, @r1
- •Version 1.2h assembly complete, 0 errors found
СЛОЖЕНИЕ МНОГОБАЙТНЫХ ЧИСЕЛ БЕЗ ЗНАКА
2.2. Разработка программы adn1
MOV R2,#04h - R2 является счетчиком циклов
DJNZ R2, M2 - уменьшает содержимое R2 на единицу и переходит на начало цикла, пока содержимое R2не равно 0.
2.3. Обоснование выбора команд, реализующих основное действие
цикла (поле 2В) и подготовка параметров следующего цикла (поле 3В)
MOV A, @R0 ; в аккумулятор идет содержимое регистра РПД, адрес
; которого находится в R0
ADDC A, @R1 ; в аккумулятор идет число, которое находится суммой
;содержимого аккумулятора и содержимого регистра РПД,
;адрес которого находится в R1
MOV @R1, A ;в регистр РПД, адрес которого находится в R1, идет
; содержимое аккумулятора
ADN1 PAGE 1
1 ;
2 $MOD845 ; Использовать таблицу кодов МК ADuC845
---- 3 CSEG ; Начало сегмента кодов
0000 4 ORG 0000h ; 0000h-начальный адрес сегмента кодов
5
0000 782F 6 mov R0,#2Fh
0002 793F 7 mov R1,#3Fh
0004 7A03 8 mov R2,#04h
9
0006 E6 10 M2: MOV A, @R0
0007 37 11 ADDC A, @R1
0008 F7 12 MOV @R1, A
0009 18 13 DEC R0
000A 19 14 DEC R1
000B DAF9 15 DJNZ R2, M2
000D 00 16 nop
17 END
VERSION 1.2h ASSEMBLY COMPLETE, 0 ERRORS FOUND
ADN1 PAGE 2
M2 . . . . . . . . . . . . . . . C ADDR 0006H
HEX:
:0E000000782F793F7A03E637F71819DAF900FE
:00000001FF
MOV R0, #2Fh
MOV R0, #3Fh
MOV R0, #04h
M1: MOV A,@R0
ADDC A,@R0
MOV @R1,A
DEC R0
DEC R1
DJNZ R2,M1
NOP
2.5. Написание исходного текста, ассемблирование и апробирование
|
Ст. |
|
Мл. |
||
Мл.символ адреса |
0h |
Ch |
Dh |
Eh |
Fh |
1-е слагаемое |
20h |
|
B9 |
72 |
86 |
2-е слагаемое |
30h |
|
82 |
D1 |
BC |
АС-полуперенос |
|
|
0 |
0 |
1 |
С-перенос |
|
1 |
1 |
1 |
0 |
Сумма |
40h |
1 |
3C |
44 |
42 |
Р-паритет |
|
1 |
0 |
0 |
0 |
Данные до начала работы:
Результат работы программы после первого цикла
Результат работы программы после второго цикла
Результат работы программы после третьего цикла
Результат работы программы после четвертого цикла