assume cs:codesg
data segment
; 年份
db '1975', '1976', '1977', '1978', '1979', '1980', '1981', '1982'
db '1983', '1984', '1985', '1986', '1987', '1988', '1989', '1990'
db '1991', '1992', '1993', '1994', '1995'
; 收入
dd 16, 22, 382, 1356, 2390, 8000, 16000, 24486, 50065, 97479
dd 140417,197514, 345980, 590827, 803530, 1183000, 1843000
dd 2759000, 3753000, 4649000, 5937000
; 雇员数
dw 3, 7, 9, 13, 28, 38, 130, 220, 476, 778, 1001, 1442, 2258, 2793
dw 4037, 5635, 8226, 11542, 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, table
mov es, ax
mov cx, 21
mov bx, 0 ; 年份的首地址
mov si, 54H ; 收入的首地址
mov di, 0a8H ; 雇员数的首地址
mov bp, 0 ; table的基址
s:
mov ax, [bx]
mov es:[bp], ax
mov ax, 2[bx]
mov es:2[bp], ax
; 年份
mov ax, [si]
mov es:5[bp], ax
mov ax, 2[si]
mov es:7[bp], ax
; 收入
mov ax, [di]
mov es:0aH[bp], ax
; 雇员
mov ax, [si]
mov dx, 2[si]
div word ptr [di]
mov es:0dH[bp], ax
; 人均收入
add bx, 4
add si, 4
add di, 2
add bp, 10H
loop s
mov ax, 4c00H
int 21H
codesg ends
end start
|