程序说明:编写程序将data段的数据按照以下格式保存在table段中

实验代码如下:
assume cs:code,ds:data,ss:stack
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
stack segment
dw 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,stack
mov ss,ax
mov sp,10H
mov ax,table
mov es,ax
mov bx,0 ;数据段第一、二段数组下标
mov si,0 ;数据段第三段数组下标
mov bp,0 ;table段行标
mov cx,21
S: push cx
mov di,0 ;table段成员内引用下标
mov cx,4
S1: mov al,ds:0[bx]
mov es:[bp].0[di],al
mov al,ds:84[bx]
mov es:[bp].5[di],al
inc bx
inc di
loop S1
mov cx,2
mov di,0
S2: mov al,ds:168[si]
mov es:[bp].10[di],al
inc si
inc di
loop S2
mov dx,es:7[bp]
mov ax,es:5[bp]
div word ptr es:10[bp]
mov es:13[bp],ax
add bp,10H
pop cx
loop S
mov ax,4c00H
int 21H
code ends
end start
在DOS的debug模式下,程序执行完毕后table段的值:
网友评论