DATAS SEGMENT
DB '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984'
DB '1985','1986','1987','1988','1989','1990','1991','1992','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 11542,14430,15257,17800
DATAS ENDS
TABLE SEGMENT
DB 21 DUP ('YEAR SUMM NE ?? ')
TABLE ENDS
STACKS SEGMENT
DW 200H dup(0)
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES, DS:DATAS, SS:STACKS
START:
MOV AX, DATAS
MOV DS, AX
MOV AX, TABLE
MOV ES, AX
MOV CX, 21
XOR SI, SI
XOR DI, DI
S:
; 复制年份字符串
MOV AX, [SI]
MOV [ES:DI], AX
ADD SI, 2
ADD DI, 2
; 复制收入 (DWORD)
MOV EAX, [SI + 42H]
MOV [ES:DI + 4], EAX
ADD SI, 4
ADD DI, 4
; 复制雇员人数 (WORD)
MOV AX, [SI + 84H]
MOV [ES:DI + 8], AX
ADD SI, 2
ADD DI, 2
; 计算人均收入
MOV EAX, [ES:DI + 4]
XOR EDX, EDX
DIV WORD PTR [ES:DI + 8]
MOV [ES:DI + 10], AX
; 更新偏移量
ADD DI, 6
LOOP S
MOV AX, 4C00H
INT 21H
CODES ENDS
END START