代码如下, 自己零时写的,大神们觉的哪里不对,或者有问题,或者不简洁,或者任何问题,希望提出来!让自己更全面的进步,谢谢大家了~@小甲鱼 甲鱼老师能来看一下那就更好了~
assume cs:code ss:stack
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'
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417
dd 197514,345980,590827,803530,1183000,1843000,2759000
dd 3753000,46490000,5937000
dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037
dw 5635,8226,11542,14430,15257,17800
data ends
stack segment
dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
stack ends
table segment
db 21 dup('year summ ne ?? ')
table ends
code segment
start: mov ax, data
mov ds, ax
mov ax, es
mov es, ax
mov ax, stack
mov ss, ax
mov sp, 16
mov bx, 0
mov di, 83
mov bp, 168
mov cx, 21
s0: push cx
mov si, 0
s1: mov cx, 4 ;年份输入
mov es:[bx].0[si], ds:[si]
inc si
loop s1
mov dword ptr es:[bx].5, ds:[di] ;收入输入
add di, 4
mov word ptr es:[bx].ah, ds:[bp] ;人数输入
add bp, 2
mov ax, [bx].5 ;人均收入计算输入
mov dx, [bx].7
div word ptr [bx].ah
mov es:[bx].dh, ax
add bx,16
pop cx
loop s0
mov ax, 4c00h
int 21h
code ends
end start
|