《汇编语言》实验7 代码
1 assume cs:codesg
2 data segment
3 db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
4 db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
5 db '1993','1994','1995' ;以上是21个年份数据
6
7 dd 16,22,385,1356,2390,8000,16000,24486,50065,97479,140417,197514
8 dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000
9 ;以上表示21年公司总收入的21个dword数据
10
11 dw 3,7,9,13,27,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
12 dw 11542,14430,15257,17800
13 ;以上表示21年公司员工数量
14 data ends
15
16 table segment
17 db 21 dup ('year summ ne ?? ')
18 table ends
19
20
21 codesg segment
22 start:mov ax,data
23 mov ds,ax ;设置数据段
24
25 mov ax,table
26 mov es,ax ;设置目标段
27
28 mov bx,168 ;员工数量 在数据段中的首偏移
29 mov si,0
30 mov di,0
31 mov cx,21
32
33 s: mov ax,[si]
34 mov es:[di],ax
35 mov ax,[si+2]
36 mov es:[di+2],ax ;年份
37
38 mov ax,[bx]
39 mov es:[di+10],ax ;员工
40
41 mov ax,[si+84]
42 mov es:[di+5],ax
43 mov dx,[si+86]
44 mov es:[di+7],dx ;收入
45
46
47 div word ptr es:[di+10]
48 mov es:[di+13],ax ;平均收入
49
50 add bx,2
51 add si,4
52 add di,16 ;准备下一年的计算
53 loop s
54
55 mov ax,4c00h
56 int 21h
57 codesg ends
58 end start
可能还有更好的方法,不过就这样了。。

浙公网安备 33010602011771号