INX H
DCR B
JNZ LOOP1_1
2.2.
ZAD2_2:
LXI SP,STPOINT
LXI H,ADDR1
MVI B,ADDR2-ADDR1
MVI A,41
NEXT2:
MOV M,A
INR A
INR A
INR A
INX H
DCR B
JNZ NEXT2
; ЧТОБЫ ПРОВЕРИТЬ ЗАГРУЗИТЬ ЧЁТНОЕ ЧИСЛО
CALLPODPR_2 ; ФОРМАТ СЛОВА
PODPR_2:
LXI H,ADDR1
MVI B,ADDR2-ADDR1
LOOP1_2:
PUSH H
MOV A,M
ANI 1
JNZ NZ
MVI M,0
INX H
MVI M,0
POP H
NZ:
INX H
INX H
DCR B
JNZLOOP1_2
RET
3.1. В массиве (байтовый формат), расположенном между адресами ADDR1 и ADDR2, обнулить байты по четным/нечетным адресам.
ZAD3:
;в задаче не нужно, приведено для наглядности:
INIT1 ADDR,'8',20H
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LXI H,ADDR1
MVI B,ADDR2-ADDR1
LOOP_3:
MVI A,1
ANA L
JZ PROPUSK ;обнуление байта с четным адресом.
MVI M,0 ;для обнуления байта с нечетным адресом команду JNZ заменить на JZ
PROPUSK:
INX H
DCR B
JNZ LOOP_3
4.1. Из массива расположенного между адресами ADDR1 и ADDR2 (ADDR1 < ADDR2), выбрать числа (байты/слова), превышающие POROG, и просчитать их количество. Результат записать в ячейку COUNT (COUNT – адрес ячейки).
ZAD4_1:
LXIH,ADDR1
MVI B,ADDR2-ADDR1
MVI A,0FH
METKA:
MOV M,A
RLC
INX H
DCR B
JNZ METKA ; БАЙОВЫЙФОРМАТ
LXI H,ADDR1
MVI B,ADDR2-ADDR1
STR:
MVI A,POROG1
MOV D,M
CMP D
JNC NO_CARRY
LDA COUNT1
INR A
STA COUNT1
NO_CARRY:
INX H
DCR B
JNZ STR
4.2.
ZAD4_2:
LXI SP,STPOINT
LXI H,ADDR1
MVI B,ADDR2-ADDR1
MVI A,0FH
METKA1:
MOV M,A
RLC
INX H
DCR B
JNZ METKA1
LXI H,ADDR1
MVI B,ADDR2-ADDR1-10H
LOOP4:
LXI D,POROG2
MOV A,D
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.