讀書筆記:組合語言(王爽)實驗七

tings.hou發表於2024-07-23

最近讀完了第八章,這道題是一個不錯的總結,記錄下。

原題是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

相關文章