标签:
1 assume cs:code,ds:data,es:table,ss:stack 2 3 data segment 4 db ‘1975‘,‘1976‘,‘1977‘,‘1978‘,‘1979‘,‘1980‘,‘1981‘,‘1982‘,‘1983‘ 5 db ‘1984‘,‘1985‘,‘1986‘,‘1987‘,‘1988‘,‘1989‘,‘1990‘,‘1991‘,‘1992‘ 6 db ‘1993‘,‘1994‘,‘1995‘ 7 ;以上是表示21年的字符串 4 * 21 = 84 8 9 dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514 10 dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000 11 ;以上是表示21年公司总收入的dword型数据 4 * 21 = 84 12 13 dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226 14 dw 11542,14430,15257,17800 15 ;以上是表示21年公司雇员人数的21个word型数据 2 * 21 = 42 16 data ends 17 18 table segment 19 db 21 dup (‘year summ ne ?? ‘) ; ‘year summ ne ?? ‘ is exact 16 bytes 20 table ends 21 22 stack segment 23 dw 8 dup (0) ; To store the number of loops 24 code segment 25 start: 26 mov bx,0 ;作为表格的行指针 27 mov bp,0 ;作为年份与总收入的指针 28 mov di,0 ;作为人数的指针 29 30 mov ax,data 31 mov ds,ax ;关联ds与data 32 mov ax,table 33 mov es,ax ;关联es与table 34 35 mov ax,stack 36 mov ss,ax 37 mov sp,1000 ;设置栈 38 39 mov cx,21 ;设置循环次数 40 s:push cx 41 mov cx,4 42 mov si,0 43 44 s0: 45 mov al,[bx+si] 46 mov es:[bp+si],al 47 inc si 48 loop s0 49 ;输入年份 50 51 mov ax,[bx+84] 52 mov es:[bp+5],ax 53 mov ax,[bx+86] 54 mov es:[bp+7],ax 55 ;输入生产总值 56 57 mov ax,[di+168] 58 mov es:[bp+10],ax 59 ;输入员工数 60 61 mov ax,es:[bp+5] 62 mov dx,es:[bp+7] 63 div word ptr es:[bp+10] 64 mov es:[bp+13],ax 65 ;算出人均生产总值 66 67 pop cx 68 add bx,4 69 add bp,16 70 add di,2 71 loop s 72 73 mov ax,4c00H 74 int 21H 75 code ends 76 end start
标签:
原文地址:http://www.cnblogs.com/legend1213/p/4286713.html