quinta-feira, 11 de agosto de 2016

;programa para determinar numa turma com 20 alunos de 17 e 18 anos,
; quantos sao:
;os que tem 17 anos, deixando o resultado em 1500h
;os que tem 18 anos, deixando o resultado em 1501h
   

       org 1300h
turma   db 18,17,17,18,18,17,18,17,18,18,17,18,17,17,18,18,18,17,18,18

        org 1000h
        MVI A,17
        LXI H,1300h
        MVI C,20   ; fica sendo o contador do array
        MVI B,0    ; conta os alunos com 17 anos
loop:   CMP M
        JNZ incHL
        INR B      ; se comparacao deu zero incrementa um aluno de 17 anos
incHL:  INX H
        DCR C
        JNZ loop

        LXI H,1500h  ;aponta HL para guardar resultado dos alunos de 17 anos
        MOV M,B      ;guarda nessa posicao o conta alunos de 17 anos
        MVI A,20  ; Os alunos com 18 anos sao os 20 alunos menos
        SUB B     ; os alunos que tem 17 anos
        INX H        ;aponta HL para guardar resultado dos alunos de 18 anos
        MOV M,A
        RST 1
        end

Sem comentários:

Enviar um comentário