. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->CALL和RET指令
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  课程设计1,运行后不显示,请指点下  [待解决] 回复[ 3次 ]   点击[ 409次 ]  
godok220
[帖 主]   [ 发表时间:2010-11-17 02:48 ]   [引用]   [回复]   [ top ] 
荣誉值: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
sempron
[第1楼]   [ 回复时间:2010-11-17 12:33 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-10-29 09:56
汗,说实话你不加注释别人理解你的思想是很痛苦的,所以。。。
idpanjian
[第2楼]   [ 回复时间:2010-12-24 11:45 ]   [引用]   [回复]   [ top ] 
荣誉值:2
信誉值:0
注册日期:2010-12-03 12:08
LZ 你比我还牛,我偶尔还写一两个注释,你一个都没有
three-stone
[第3楼]   [ 回复时间:2010-12-24 23:46 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2010-10-21 15:56
没有注释  你这代码也没得什么用。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved