我爱分享网盘资源


汇编语言程序设计实验十:课程设计 1

时间:2016-4-3 12:32  发布:我爱分享  来源:  本站域名:www.wwaaffxx.com  查看:376

【程序要求】


将实验7中的Power idea公司的数据按照图10.所示的格式在屏幕上显示出来。

【汇编代码】

TACKS SEGMENT
        db 16 dup(?)
TACKS ENDS
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,45257,17800
data ends
table segment
        db 16 dup(0)
table ends
codesg segment
CODES SEGMENT
    ASSUME CS:CODES,DS:DATA,SS:STACKS
start:
        mov ax,data
        mov es,ax
        mov ax,table
        mov ds,ax
        mov si,0
        mov di,0
        mov cx,21
        mov dh,4 
        
s0:
        push cx
        mov ax,es:[di]     ;显示年份
        mov ds:[si],ax
        mov ax,es:[di+2]
        mov ds:[si+2],ax
        mov byte ptr ds:[si+4],0 
        mov dl,0
        mov cl,2
        call show_str
        mov ax,es:[84+di]        ;显示收入
        call dtoc
        mov dl,20
        mov cl,2
        call show_str
        
        mov ax,es:[84+di+2]
        call dtoc
        mov dl,24
        mov cl,2
        call show_str
        mov ax,es:[84+84+bx]        ;显示雇员数
        call dtoc
        mov dl,40 
        mov cl,2
        call show_str
        mov ax,es:[84+di]        ;计算人均收入并显示
        push dx
        mov dx,es:[84+di+2]
        div word ptr es:[84+84+bx]
        call dtoc
        pop dx
        mov dl,60
        mov cl,2
        call show_str
        add di,4
        add bx,2
        add dh,1
        pop cx
        loop s0
        mov ax,4c00h
        int 21h

;将数值转化后存入ds:bx中
        
dtoc:
        push cx
        push bx
        push ax
        push dx
        mov bx,0
s1:
         mov dx,0
         mov cx,10
            div cx
        add dx,'0'
        push dx
        inc bx
        mov cx,ax
        add cx,1
        loop s1 
        mov cx,bx
        mov bx,0
s2:        
        
        pop ds:[bx]
        add bx,1
        loop s2
        
        pop dx
        pop ax
        pop bx
        pop cx
        ret
;在n行m列显示
show_str:
        push es
        push cx
        push bx
        push ax
        push dx
        mov si,0
         mov ax,0b800h
         mov es,ax
         sub dh,1
         sub dl,1
         mov al,0a0h
         mov ah,dh
         mul ah
         mov bx,ax
         mov ax,0
         mov al,dl
         add ax,ax
         add bx,ax
         mov ah,cl
         
s3:
        mov cx,ds:[si]
         mov al,ds:[si]
         mov es:[bx],ax
         add si,1
         add bx,2
         add cx,1
         loop s3
        pop dx
        pop ax
        pop bx
        pop cx
        pop es
         ret

codesg ends
end start



标签: 汇编语言

相关评论
搜索
推荐
微语录
  • 尽管太多的精力挥洒在昨日的流程上!

    2017-01-22 10:03

  • 不要把别人的关心当成理所当然!

    2017-01-21 14:32

  • 虽是一棵,却能抗击风雨,虽是一滴,却能滋润禾苗!

    2017-01-21 14:32

  • 人生如一首诗,应该多一些热烈的抒情,少一些愁苦的叹息!

    2017-01-20 16:53

  • 情系天涯,纵海川云水,霜冷云沉,烟消云散!

    2017-01-20 16:53

  • 人生也不过短暂的几十年,不要给自己太多的遗憾!

    2017-01-19 14:55

  • 如果别人朝你扔石头,就不要扔回去了,留着作你建高楼的基石!

    2017-01-19 14:55

  • 成功是命,一半拼命一半宿命!

    2017-01-18 14:46

  • 更多»