data      segment          ; 協吶方象粁
        ary      dw   100 dup(?)
        count     dw   100
        sum      dw ?
   data    ends

   code    segment             ; 協吶旗鷹粁
   main    proc far            ; 殻會議麼勣何蛍
         assume     cs:code, ds:data
   start:
        ´´
        call      near ptr proadd ; 距喘徨殻會proadd
        ´´
        ret
   main    endp

   ; 徨殻會proadd
   proadd   proc     near
        push     ax         ; 隠贋篠贋匂
        push     cx
        push     si
        lea      si,ary       ; 方怏ary議遍仇峽僕si
        mov      cx,count
        xor      ax,ax
   next:    add      ax,[si]
        add      si,2
   loop    next
        mov      sum,ax       ; 拙紗才僕sum汽圷
        pop      si         ; 志鹸篠贋匂
        pop      cx
        pop      ax
        ret
  proadd    endp
  code     ends
  end  start