;Programa para fazer a media de 3 numeros

;dw - define word (2 bytes)

;db - define byte

;dup(x) - duplica x vezes

;? - valor indefinido



Pilha Segment para Stack 'Stack'

      Db 512 Dup(0)

Pilha Ends



Dados Segment para Public 'Data'

      Soma   Dw ?

      Media  Dw ?

      Numero Dw ?

      Saida  Db 6 Dup(20h),13,10,'$'

Dados Ends

Programa Segment para Public 'Code'

      Assume Cs:Programa,Ds:Dados,Es:Dados

      Org    100h

   Inicio Proc

      Push Ds

      Xor Ax,Ax ;mov ax,0

      Push Ax

      Mov Ax,Dados

      Mov Ds,Ax

      Mov Es,Ax

      Mov Soma,0

      Mov Cx,3

Ler:  Call LerInt

      Add Soma,Ax

      Loop Ler

      Mov Dx,0

      Mov Ax,Soma

      Mov Bx,3

      IDiv Bx

      Lea di,saida

      Call DecAsc

      Lea si,saida

      mov di,offset saida

      Call Mostra

      Ret

   Inicio Endp

   Extrn DecAsc:Near

   Extrn Mostra:Near

   Extrn LerInt:Near

Programa Ends

End Inicio

