马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 601900987 于 2018-6-22 19:36 编辑
assume cs:codesg, ss:stacksg
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 11542, 14430, 15257, 17800
data ends
stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends
table segment
db 21 dup ('year summ ne ?? ')
table ends
codesg segment
start:mov ax,table
mov ds,ax
mov ax,stacksg
mov ss,ax
mov sp,16
mov ax,data
mov es,ax
mov bx,0
mov di,0
mov cx,21
s:push cx ;双层循环把年份填入
mov si,0
mov cx,4
s0:mov al,es:[di]
mov [bx+si],al
inc si
inc di
loop s0
add bx,16
pop cx
loop s
mov bx,0
mov si,84
mov di,168
mov cx,21
s1:mov word ptr ax,es:[si] ;低16位放入ax
mov [bx+5],ax
mov word ptr dx,es:[si+2] ;高16位放入dx
mov [bx+7],dx
div word ptr es:[di]
mov [bx+13],ax
mov word ptr ax,es:[di]
mov [bx+10],ax
add di,2
add si,4
add bx,16
loop s1
mov ax,4c00h
int 21h
codesg ends
end start
|