(адрес в BC), смещаем указатель записи
skip:
inx H; смещаем указатель чтения
dcx D; уменьшаем счетчик цикла
mov A,D проверим старшее слово счетчика DE
cpi 0FFh; если оно равно FFh, то выходим, если нет повторяем
jnz loop; (использовали команду cpi, т.к dcx не влияет на флаги)
3.1Написать ПП, которая из массива, расположенного между адресами ADR24 и ADR25 (ADR24<ADR25) выбирает байты, попадающие внутрь допуска, заданного LMIN и LMAX, и записывает их в массив, определенный начальным адресом ADR26 (ADR26>ADR25). Адреса ADR24, ADR25, ADR26 передать в ПП как параметры через регистры( HL, DE, BC соответственно), LMIN, LMAX-символические константы.
(в 3ей херь была написана, переделал)
Решение:
lxi H, ADR24; помещаем ADR24 в HL
lxi D, ADR25; помещаем ADR25 в DE
lxi B, ADR26; помещаем ADR26 в BC
call podpr; вызываем подпрограмму
podpr:
mov A,E; вычислим кол-во ячеек между адресами ADR25 и
sub L; ADR24, для этого вычтем из DE HL, проделываем:
mov E,A; E->A, A=A-L,A->E; для старшего слова:
mov A,D; D->A, A=A-H-CY,A->D;
sbb H;
mov D,A;
loop:
mov A,M; читаем текущий элемент
cpi LMIN; сравниваем с минимальной границей
jc skip; если есть флаг CY, то текущий байт < LMIN
cpi LMAX; сравниваем с максимальной границей
jnc skip; если флаг CY=0, то текущий байт >LMAX
stax B; сюда доходим, если байт удовлетворяет нашим inx B; требованиям, записываем его в новый массив
(адрес в BC), смещаем указатель записи
skip:
inx H; смещаем указатель чтения
dcx D; уменьшаем счетчик цикла
cpi 0; если счетчик = 0, то выходим, если нет повторяем
jnz loop; (использовали команду cpi, т.к dcx не влияет на флаги)
lxi H,buf10; загружаем указатель чтения в HL
mvi B,60h; загружаем счетчик повторений в В
mvi D,0; обнуляем счетчик нашей суммы
loop:
mov C,M; читаем текущий элемент в С
mov A,C; копируем его в А
ani 00001111b; оставляем только младшую Н цифру
add D; складываем с текущей суммой
mov D,A; оставляем всумму в D
mov A,C; снова копируем текущий байт в А
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.