. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->CALL和RET指令
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  课程设计1  [待解决] 回复[ 3次 ]   点击[ 292次 ]  
folkrock
[帖 主]   [ 发表时间:2009-02-08 16:15 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2008-03-30 11:10
assume cs:code,ss:data 

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 

table segment 
  db 16 dup (0) 
table ends 

code segment

start:
        mov ax,data
        mov ss,ax

        mov ax,table
        mov ds,ax

        mov si,0h
        mov dh,4
        mov cx,15h
row1:
        push cx        
        call show_year
        inc dh
        pop cx
        loop row1                
        
        
        mov cx,21
        mov di,0
        mov dh,4
                
row2:
        push cx
        push di
        
        push dx
        mov ax,ss:54h[di]
        mov dx,ss:56h[di]
        call dtoc
        
        pop dx
        mov si,0
        mov dl,0dh        
        call show_str
        inc dh
        pop di
        add di,4
        pop cx        
        loop row2                        


        mov cx,15h
        mov di,0
        mov dh,4
row3:
        push cx
        push di
        push dx
        
        mov ax,ss:0a8h[di]        
        mov dx,0

        call dtoc
        pop dx
        
        mov si,0
        mov dl,1ah
        call show_str
        inc dh
        pop di
        add di,2
        pop cx
        loop row3
        
        
        mov cx,15h
        mov di,0
        mov si,0
        mov dh,4
row4:
        push cx
        push di
        push si
        push dx
        mov ax,ss:54h[di]
        mov dx,ss:56h[di]
        mov cx,ss:0a8h[si]
        call divdw
        call dtoc
        pop dx
        mov si,0
        mov dl,26h
        call show_str
        inc dh
        pop si
        add si,2
        pop di
        add di,4
        pop cx
        loop row4
        
                        
        mov ax,4c00h
        int 21h

dtoc:
        mov cx,0
        push cx

dtoc1:
        mov cx,0ah
        call divdw
        add cx,30h
        push cx
        mov cx,ax
        jcxz dtoc2
        jmp short dtoc1
        
dtoc2:
        mov si,0
dtoc3:
        pop cx
        mov [si],cx
        jcxz dtoc4
        inc si
        jmp short dtoc3
dtoc4:        
        ret
        
show_str:
        push cx
        
        mov ax,0b800h
        mov es,ax
        
        mov al,0a0h
        mul dh
        mov bx,ax

        mov al,02h
        mul dl
        add bx,ax
        
        mov di,0
        mov si,0
        mov dl,02h
        
show_str1:
        mov al,[si]
        mov es:[bx+di],al
        mov es:[bx+di+1],dl
        mov cl,al
        mov ch,0
        jcxz show_str2
        inc si
        add di,2
        jmp short show_str1
        
show_str2:
        pop cx
        ret

divdw:
        push ax
        mov ax,dx
        mov dx,0
        div cx
        mov bx,ax
        pop ax
        div cx
        mov cx,dx
        mov dx,bx
        ret

show_year:
        mov dl,3                
        mov ax,0b800h
        mov es,ax
        
        mov al,0a0h
        mul dh
        mov bx,ax
        
        mov al,02h
        mul dl
        add bx,ax
        
        mov dl,2h
        mov cx,4
        mov di,0
        
show_year1:
        mov al,ss:[si]
        mov es:[bx+di],al
        mov es:[bx+di+1],dl
        inc si
        add di,2
        loop show_year1
        ret
                                
code ends

end start

忙了一个下午,终于完成了,请兄弟们指教!
mess
[第1楼]   [ 回复时间:2009-02-09 11:00 ]   [引用]   [回复]   [ top ] 
荣誉值:337
信誉值:0
注册日期:2008-01-01 17:48
踩踩这个原地,这个程序可是非常难的,自己独立完成了这个后面的知识就会相对容易了,楼主继续加油啊;)~
mess
[第2楼]   [ 回复时间:2009-02-09 11:00 ]   [引用]   [回复]   [ top ] 
荣誉值:337
信誉值:0
注册日期:2008-01-01 17:48
踩踩这个原地,这个程序可是非常难的,自己独立完成了这个后面的知识就会相对容易了,楼主继续加油啊;)~
zcouyangpeng
[第3楼]   [ 回复时间:2009-02-11 21:53 ]   [引用]   [回复]   [ top ] 
荣誉值:35
信誉值:44
注册日期:2008-09-03 21:36
学完这里

后面8章差不多能在2个星期之内能搞完了
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved