LOOPMAX2: ;поиск максимального слова в массиве
INX H
MOV A,M
CMP D
JC NO_MAX2
MOV D,A
DCX H
MOV E,M
INX H
NO_MAX2:
INX H
DCR B
JNZ LOOPMAX2
XCHG
SHLD MAX
7.1. Составить схему алгоритма и написать подпрограмму, которая заполняет страницу RAM (256 байт с адреса XX00h) кодами»шахматное поле» (коды 55h, 0ААh, 55h,…). Номер страницы памяти ХХ указывается в регистре В при вызове подпрограммы.
ZAD7: ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
LXI B,RAMPAGE ;в задаче не требуется, сделано для определенности
;адреса, который должен быть задан до входа в ПП
MOV H,B
MVI B,0FFH
MVI A,055H
LOOPCHESS:
MOV M,A
RLC
INX H
DCR B
JNZ LOOPCHESS
8.1. Из массива, расположенного между адресами ADDR1 и ADDR2, выбрать числа, по адресам ADDR+n, где n=1,3,5. Выборку записать в массив, заданный адресом MASS2.
ZAD8:
LXI SP,STPOINT
LXI H,ADDR1
MVI B,ADDR2-ADDR1
MVI A,40
NEXT8:
MOV M,A
INR A
INX H
DCR B
JNZ NEXT8
LXI D,MASS2
LXI H,ADDR1
MVI B,ADDR2-ADDR1-10H
MVI L,ADDR1-RAM+N
LOOP8:
MOV A,M
STAX D
MVI A,STEP
ADD L
MOV L,A
INX D
DCR B
JNZ LOOP8
9.1. Результаты эксперимента загружены в ячейки памяти от ADDR1 до ADDR+m, , где m<256. Вычислить среднее значение результата эксперимента и записать в ячейку REZULT. Для деления использовать готовую подпрограмму DIV со следующим описанием входных данных: HL –делимое,D – делитель. Результатов деления: H – частное, L – остаток. Искажаемых регистров: H,L.
ZAD9: ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
;в задаче не нужно, приведено для наглядности:
INIT9:
LXI H,ADDR1
MVI B,N ;N - размер массива
MVI A,0FH
LOOP_INIT9:
RLC
MOV M,A
INX H
DCR B
JNZ LOOP_INIT9
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
LXI H,ADDR1
MVI B,N
MVI A,0
LXI D,0
LOOPSUM:
ADD M
JNC NO_CARRY
INR D
NO_CARRY:
INX H
DCR B
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.