最近读完了第八章,这道题是一个不错的总结,记录下。
原题是21年的数据,这里简化为6年。
代码如下:
assume cs:codesg
data segment
db '1975', '1976', '1977', '1978', '1979', '1980'
dd 16,22,382,1356,2390,8000
dw 3,7,9,13,28,38
data ends
table segment
db 6 dup('year summ ne ?? ')
table ends
codesg segment
start:
mov ax, data
mov ds, ax
mov ax, table
mov es, ax
mov cx, 6
mov bx, 0
mov bp, 0
mov si, 0
loop1:
mov ax, 0[bx]
mov es:[bp], ax
mov ax, 2[bx]
mov es:[bp+2], ax
mov ax, 24[bx]
mov es:[bp+5], ax
mov ax, 24[bx+2]
mov es:[bp+7], ax
mov ax, 48[si]
mov es:[bp+10], ax
mov ax, 24[bx]
mov dx, 24[bx+2]
mov di, 48[si]
div di
mov es:[bp+13], ax
add bp, 16
add bx, 4
add si, 2
loop loop1
mov ax, 4c00h
int 21h
codesg ends
end start