|  | 
 
 发表于 2014-2-27 11:34:03
|
显示全部楼层 
| assume cs:codesg,ds:data,es:table,ss:stack stack segment
 dw 0,0,0
 stack ends
 data segment
 
 db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
 
 db '1984','1985','1986','1987','1988','1989','1990','1991','1992'
 
 db '1993','1994','1995'
 
 dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
 
 dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000
 
 dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
 
 dw 11452,14430,15257,17800
 
 data ends
 
 table segment
 
 db 21 dup ('year summ ne ?? ')
 
 table ends
 
 codesg segment
 
 start:mov ax,data
 mov ds,ax
 mov ax,stack
 mov ss,ax
 mov di,0
 mov si,0
 mov ax,table
 mov es,ax
 mov bp,0
 mov cx,21
 s:          push cx
 mov cx,2
 s1:          mov ax,[di]
 mov es:[si+bp],ax
 add di,2
 add si,2
 
 loop s1
 pop cx
 mov si,0
 add bp,16
 loop s
 mov bp,0
 
 
 mov cx,21
 mov di,54h
 s2:          push cx
 mov si,5
 mov cx,2
 s4:
 mov ax,[di]
 mov es:[si+bp],ax
 add si,2
 add di,2
 loop s4
 add bp,16
 pop cx
 loop s2
 
 
 mov cx,21
 mov bp,0
 s3:          mov si,10
 
 mov ax,[di]
 mov es:[si+bp],ax
 
 add di,2
 
 add bp,16
 loop s3
 
 mov bp,000dh
 mov si,84
 mov di,0
 mov cx,21
 
 s5:          mov ax,[si]
 add si,2
 mov dx,[si]
 div word ptr [di+00a8h]
 mov es:[bp],ax
 
 add bp,16
 add di,2
 add si,2
 loop s5
 
 
 mov ax,4c00h
 int 21h
 codesg ends
 end start
 主要是理清思路,最好在纸上画出步骤
 差不多10小时  做了3次 希望能帮到你    当然中间也出了不少错误,慢慢来 只要搞定了  就是对自己的最大肯定
 | 
 |