upsidedown

mi2

Feb 23rd, 2012
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //mi prog 2//
  2. INCLUDE io.h
  3.  
  4. cr EQU 0dH
  5. lf EQU 0aH
  6.  
  7. data    SEGMENT
  8. list    DW  40 DUP(?)
  9. prompt1 DB 'Enter the maximum no of elements : ',0
  10. prompt2 DB cr,lf,'Enter the elements: ',cr,lf,0
  11. prompt3 DB cr,lf,'Total sum: '
  12. sum     DW 2 DUP(?)
  13.        DB cr,lf,cr,lf,0
  14. prompt4 DB cr,lf,'Average: '
  15. avg     DW 2 DUP(?)
  16.        DB cr,lf,cr,lf,0
  17.    
  18. prompt5 DB cr,lf,'The elements greater than average are: ',0
  19. p       DB ' '
  20. print   DW 1 dup(?)
  21.        DB 0
  22. string  Dw 20 DUP(?)
  23. count   DW ?
  24. data    ENDS
  25.  
  26. code    SEGMENT
  27. ASSUME  cs:code, ds:data
  28. start:  mov  ax, SEG data
  29.        mov  ds, ax
  30.  
  31.     mov  Si, OFFSET list
  32.     mov  bx, 00
  33.  
  34.        output prompt1
  35.     inputs string, 20
  36.     atoi  string
  37.        mov   count, ax
  38.        mov   cx, ax
  39.  
  40.        output prompt2
  41. again: inputs string, 20
  42.        atoi   string
  43.     mov    [SI], ax
  44.     add    bx, ax
  45.     add    SI, 2
  46.     dec    cx
  47.        jnz   again
  48.  
  49.        itoa   sum, bx
  50.  
  51.        output prompt3
  52.     mov    ax,bx
  53.           cwd
  54.     div    count
  55.     itoa   avg, ax
  56.        output prompt4
  57.  
  58.     mov    SI, OFFSET list
  59.        mov    bx, ax
  60.        mov    cx, count
  61.  
  62.     output prompt5
  63. again1: cmp    [SI], bx
  64.        jb     again2
  65.        mov    ax, [si]
  66.        itoa   print, ax
  67.     output p
  68. again2: add    si, 2
  69.        dec    cx
  70.        jnz   again1
  71.  
  72. quit:   mov    al, 00
  73.     mov    ah, 4cH
  74.     int    21H
  75. code    ENDS
  76. END     start
Advertisement
Add Comment
Please, Sign In to add comment