Читайте также:
|
|
1)
org 2000h;заносим первое число в ячейку 2000Н
db 01b
org 2010h;заносим второе число в ячейку 2010Н
db 03h
org 1000h;Начало программы
lxi de,2000h;загрузить первое число в DE
lxi hl,2010h;загрузить первое число в HL
ldax de;загрузить содержимое DE в акк-р
mov b,m;поместить в регистр В число хранящиеся в памяти
call sum;вызов подпрограммы суммирование 1
sta 2000h;запись резултат
hlt
summ:;подпрограмма суммирование 1
adc b;сложение с учетом знака содержимого акк-ра и В
ret;возвращение в главную программу
2)
org 2000h;запись первого числа в ячейку 2000Н
db 01b
org 2010h;запись второго числа в ячеку 2010Н
db 03h
org 2020h;запись счетчика по адресу 2020Н
db 10h
org 1000h;Начало программы
lxi hl,2000h;загрузка в HL первого числа
lda 2020h;загружаем в акк-р содержимое ячейки 2020Н
mov c,a;в регистр с загружаем содержимое акк-ра
call summb;вызов подпрограммы суммирования 2
hlt
summb:;подпрограмма суммирования 2
mov a,m;загружаем в акк-р число из памяти
mov l,c;в регистр L помещаем С
mov b,m;загружаем в B число из памяти
call sum;вызов подпрограммы суммирования 2
mov m,a;запись из акк-ра в памят
ret;возврат в главную подпрограмму
summ:;Подпрограмма суммирования 1
adc b;Сложение сод-го акк-ра и B c учетом знака
ret;возврат в главную подпрограмму
3) org 2000h;запись первого числа в ячейку 2000Н
db 01b,01b,05h
org 2010h;запись второго числа в ячейку 2010Н
db 03h,02h,03h
org 2020h;запись счетсика по адресу 2020Н
db 10h
org 2021h;запись длинны числа по адресу 2021Н
db 3
org 1000h;начало программы
lda 2021h;загружаем в акк-р содержимое ячейки
mov e,a;загружаем содержимое акк-ра в регистр E
mvi d,0h;в регистр D загружаем 0
lxi hl,2000h;записываем первое число в HL
lda 2020h;загружаем в акк-р содержимое ячейки 2020Н
mov c,a;загружаем в С содержимое акк-ра
mm1:
call summb;вызов подпрограммы суммирование 2
lda 2020h;загружаем в акк-р содержимое ячейки 2020Н
inr a;увеличиваем содержимое акк-ра на 1
sta 2020h;помещаем содержимое акк-ра в ячейку 2020Н
mov c,a;содержимое аак-ра помещаем в регистр С
inr d;увеличиваем содержимое регистра D на 1
mov l,d;помещаем содержимое регистра D в L
dcr e;уменьшаем содержимое регистра Е на 1
jnz mm1;если значение регистра Е не 0,то перейти к метке mm1
jnc mm2;если бит переноса 0 то перейти к mm2
lda 2021h;загружаем сод-е ячейки 2021Н в акк-р
mov e,a;сод-е акк-ра помещаем в регистр E
lxi hl,2010h;указатель HL ставим на адрес 2010Н
mvi a,11111111b;в акк-р заносим число FFH
mm3:
mov m,a;сохраняем содержимое акк-ра в память
inx hl;увеличиваем знаечение HL на 1
dcr e;уменьшаем содержимое регистра Е на 1
jnz mm3
mm2:
hlt
summb:;подпрограмма суммирования 2
mov a,m
mov l,c
mov b,m
call summ
mov m,a
ret
summ:;подпрограмма суммирования 1
adc b
ret
Дата добавления: 2014-12-19; просмотров: 30 | Поможем написать вашу работу | Нарушение авторских прав |