1 assume cs:code, ds:data, es:table 2 3 data segment 4 5 db '1975','1976','1977','1978','1979','1980','1981','1982','1983' 6 db '1984','1985','1986','1987','1988','1989','1990','1991','1992' 7 db '1993','1994','1995' 8 9 ;下面起始地址为 84 10 dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514 11 dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000 12 13 ;下面起始地址为 168 14 dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226 15 dw 11542,14430,15257,17800 16 17 data ends 18 19 table segment 20 21 db 21 dup('year summ ne ?? ') 22 23 table ends 24 25 code segment 26 _start: 27 mov ax, data 28 mov ds, ax 29 mov ax, table 30 mov es, ax 31 32 mov bx, 0 33 mov si, 0 34 mov di, 168 35 mov cx, 21 36 37 _s1: 38 mov ax, ds:[si] 39 mov es:[bx], ax 40 mov ax, ds:[si+2] 41 mov es:[bx+2], ax 42 mov byte ptr es:[bx+4], 20H 43 44 mov ax, ds:[si+84] 45 mov es:[bx+5], ax 46 mov dx, ds:[si+86] 47 mov es:[bx+7], dx ;把高字放入dx中,用于求人均收入 (dx:ax / 人数 ) 48 mov byte ptr es:[bx+9], 20H 49 50 mov bp, ds:[di] 51 mov es:[bx+10], bp 52 mov byte ptr es:[bx+12], 20H 53 54 div bp ;ax 存放结果, dx存放余数. 55 ;双字除法 56 mov es:[bx+13], ax ;将计算结果放入 57 mov byte ptr es:[bx+15], 20H 58 59 add bx, 10H 60 add si, 4H 61 add di, 2H 62 loop _s1 63 64 code ends 65 end _start