Практические задания на экзамен по дисциплине "Цифровые и микропроцессорные устройства", страница 8

                    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