gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
version 0.81
[asm2wsl.git] / samples / array-sum-input.asm
1 .model small
2 ;make a sum of an array - version with loading values
3 ;predefined array size
5 ;#macros-removed-from-listing
7 .code
8 start:
9 mov dx, @data
10 mov ds, dx
11 print_str prompt
12 read_num n
13 mov ax, 0
14 mov cx, n
15 cmp maxn, cx
16 jae normal
17 print_str errorN
18 end_execution
19 normal:
20 loadloop:
21 print_str prompt
22 read_num t
23 mov ax,t
24 mov bx,n
25 sub bx,cx
26 mov niz[bx],al
27 loop loadloop
28 print_new_line
29 ; now sum up
30 mov cx, n
31 xor ax,ax
32 mainloop:
33 mov bx, cx
34 add al, niz[bx-1] ; get array memeber, byte
35 ; store sum in al
36 loop mainloop ; end calc if done
37 print_num ax
38 end_execution
40 data segment
41 n dw 7
42 t dw 0
43 maxn dw 20
44 niz db 1,2,3,4,5,6,7,8,9,0,1,2,3,4,5,6,7,8,9,0
45 tempStr db " "
46 prompt db "Number?$"
47 errorN db "Number too large!$"
48 ends
49 end start
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner