|
主题 : : 课程设计1,运行后不显示,请指点下 [待解决] |
回复[ 3次 ]
点击[ 409次 ] | |
荣誉值:0
信誉值:0
注册日期:2010-10-21 13:38 |
assume cs:code, ds:data
data segment
db 16 dup (0)
db '1975','1976','1977','1978','1979','1980','1981','1982', '1983','1984','1985','1986','1987','1988','1989','1990','1991','1992','1993','1994','1995'
dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514,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,11542,14430,15257,17800
data ends
code segment
start:mov ax,data
mov ds,ax
mov si,0
mov di,0
mov dh,3
mov dl,2
mov cx,21
display:push cx
mov ax,[di+10H]
mov ds:[0],ax
mov ax,[di+12H]
mov ds:[2],ax
mov cl,7
call show_str
push dx
mov ax,64h[di+0]
mov dx,64h[di+2]
mov cx,10
call dtoc
pop dx
mov cl,7
add dl,20
call show_str
push dx
mov dx,0
mov cx,10
mov ax,0B8h[si]
call dtoc
pop dx
mov cl,7
add dl,20
call show_str
push dx
mov ax,64h[di+0]
mov dx,64h[di+2]
mov cx,0B8h[si]
call divdw
mov cx,10
call dtoc
pop dx
mov cl,7
add dl,20
call show_str
add si,2
add di,4
inc dh
mov dl,2
pop cx
loop display
mov ax,4c00h
int 21h
dtoc:push si
push di
push dx
mov si,0
mov di,0
mov bx,cx
div_pro:mov cx,bx
call divdw
mov di,cx
mov cx,0
add cx,dx
add cx,ax
add di,30h
push di
inc si
jcxz pops
jmp div_pro
pops:mov cx,si
mov si,0
s1:pop ds:[si]
inc si
loop s1
pop dx
pop di
pop si
ret
show_str:push si
push di
push dx
mov ax,0b800h
mov es,ax
mov ax,0
mov al,dh
sub ax,1
mov bx,0A0H
mul bl
mov bx,0
mov bl,dl
add bx,ax
mov ah,cl
mov si,0
mov di,0
show_str_display:mov cl,[si]
mov ch ,0
jcxz str_over
mov al,ds:[si]
mov es:[bx+di],ax
mov byte ptr ds:[si],0h
add di,2
inc si
jmp short show_str_display
str_over:pop dx
pop di
pop si
ret
divdw:push bx
push di
mov bx, ax
mov ax,dx
mov dx,0
div cx
mov di,ax
mov ax,bx
div cx
mov cx,dx
mov dx,di
pop di
pop bx
ret
code ends
end start | | |