1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| assume cs:codesg,ds:data,es:table 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 ('0000 0000 00 00 ') table ends codesg segment start: mov ax,data mov es,ax mov ax,table mov ds,ax mov bx,0 mov di,0 mov si,0 mov cx,21 s1: mov ax,es:[di] mov ds:[bx],ax add di,2 mov ax,es:[di] mov ds:[bx][2],ax add di,2 add bx,0010h loop s1 mov bx,0 mov cx,21 s2: mov ax,es:[di] mov [bx][5],ax add di,2 mov ax,es:[di] mov ds:[bx][7],ax add di,2 add bx,0010h loop s2 mov bx,0 mov cx,21 s3: mov ax,es:[di] mov [bx][10],ax add di,2 add bx,0010h loop s3 mov bx,0 mov cx,21 s4: mov ax,[bx][5] mov dx,[bx][7] div word ptr [bx+10] mov [bx][13],ax mov bx,0010h loop s4 mov ax,4c00h int 21 codesg ends end start
|