n2zee 发表于 2012-2-29 11:42:32

我写的实验7,大家帮我看看

assume cs:codesg
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'
;以上表示21年的21个字符串
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

data1 segment
db 336 dup (0)
data1 ends

table segment
db 21 dup ('year summ ne ?? ')
table ends

codesg segment
start:
mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,16
mov ax,data1
mov es,ax
mov si,0
mov di,0
mov cx,21

s:
push cx
mov cx,4
push si
push di
s0:
mov al,byte ptr ds:
mov byte ptr es:,al
mov al,byte ptr ds:
mov byte ptr es:,al
inc si
inc di
loop s0
;年份、收入赋值

pop di
pop si
pop cx
add si,4
add di,16;es递增16单元,切换到第二行
loop s
;loop all the end.

mov cx,21
mov si,0
mov di,0
s1:
mov ax,word ptr ds:
mov word ptr es:,ax
;雇员数赋值

mov ax,word ptr es:
mov dx,word ptr es:
div word ptr es:
mov word ptr es:,ax
add si,2
add di,16
loop s1

mov ax,4c00h
int 21h
codesg ends
end start

n2zee 发表于 2012-2-29 12:42:58

修改了一下:
assume cs:codesg
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
codesg segment
start:
mov ax,data
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,16
mov ax,table
mov es,ax
mov si,0
mov di,0
mov cx,21
s:
push cx
mov cx,2
s0:
mov ax,word ptr ds:
mov word ptr es:,ax
mov ax,word ptr ds:
mov word ptr es:,ax
add bx,2
add di,2
loop s0
mov ax,word ptr ds:
mov word ptr es:,ax
mov ax,word ptr es:
mov dx,word ptr es:
div word ptr es:
mov word ptr es:,ax
add si,2
add di,12
pop cx
loop s
mov ax,4c00h
int 21h
codesg ends
end start
页: [1]
查看完整版本: 我写的实验7,大家帮我看看