汇编网首页登录博客注册
c381654729的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言
好友圈
文章收藏
友情链接

[2011-10-03 22:10] 课设1,花了一天时间。。。

图片载入中
assume cs:codesg,ds:data,es:table,ss:stack
data segment
db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984','1985'
db '1986','1987','1988','1989','1990','1991','1992','1993','1994','1995'
; 以上表示21年的21个字符串
dd 16,55,382,1356,2390,8000,16000,24486,50065,97479,140417,197514,345980
dd 590827,803530,1183000,1843000,2759000,3753000,4649000,5937000
; 以上表示21年公司总收入的21个DWORD型数据
dw 3,7,9,13,28,38,130,220,476,778,1001,1442,2258,2793,4037,5635,8226
dw 11542,14430,15257,17800
; 以上是表示21年公司雇员人数的21个WORD型数据
count dw 0
n dw 2
data ends
table segment
db 21 dup('year summ ne ?? ')
db 30 dup(0)
i db 0
table ends
stack segment
db 80 dup(0)
stack ends
codesg segment
start: mov ax,data
mov ds,ax
mov ax,table
mov es,ax
mov ax,stack
mov ss,ax
mov sp,30

mov count,0
mov bx,0
mov cx,21
l1: push cx
mov cx,4
mov si,0
add si,count
mov di,0
l2: mov al,0[si]
mov es:[bx].0[di],al
inc si
inc di
loop l2
mov si,84
add si,count
mov ax,0[si]
mov dx,2[si]
mov es:[bx].5,ax
mov es:[bx].7,dx
mov si,168
mov dx,0
mov ax,count
mov n,2
div n
add si,ax
mov ax,0[si]
mov es:[bx].10,ax
mov n,ax
mov dx,es:[bx].7
mov ax,es:[bx].5
div n
mov es:[bx].13,ax
mov al,' '
mov es:[bx].4,al
mov es:[bx].9,al
mov es:[bx].12,al
mov es:[bx].15,al
add count,4
add bx,16
pop cx
loop l1
;>>table,<<0b800h:si
mov ax,table
mov ds,ax
mov i,1
mov bx,0
mov dh,0
mov cx,21
l3:push cx
mov dh,i
mov dl,10
mov si,bx
mov cx,4
call sc
mov cx,10
mov si,16*21
mov dx,7[bx]
mov ax,5[bx]
call t10
mov dh,i
mov dl,30
mov si,21*16
mov cx,10
call sc
mov cx,10
mov si,16*21
mov dx,0
mov ax,10[bx]
call t10
mov dh,i
mov dl,50
mov si,16*21
mov cx,10
call sc
mov cx,10
mov si,16*21
mov dx,0
mov ax,13[bx]
call t10
mov dh,i
mov dl,70
mov si,16*21
mov cx,10
call sc
inc i
add bx,16
pop cx
loop l3

mov ah,1
int 21h 
mov ah,4ch
int 21h

;>>dx:ax/cx,si,<<si
t10: push si
push bx 
push di
mov di,si
mov bx,cx
l6: mov cx,bx
call divdw
add cx,30h
push cx
inc si
cmp dx,0
jnz l6
cmp ax,0
jnz l6
sub si,di
mov cx,si
l7: pop [di]
inc di
loop l7
mov byte ptr [di],0
pop di
pop bx
pop si
ret
;>>dx:ax/cx,<<dx:ax...cx
divdw: push bx
mov bx,ax
mov ax,dx
mov dx,0
div cx
xchg ax,bx
div cx
mov cx,dx
mov dx,bx
pop bx
ret
;>>dh,dl,si,cx,<<b800:di
sc: push ax
push dx
push di
push es
mov ax,0b800h
mov es,ax
mov al,160
mul dh
mov dh,0
add dl,dl
add ax,dx
mov di,ax
l4: mov al,[si]
cmp al,0 
je l5
mov byte ptr es:[di],al
add di,2
inc si
loop l4
l5: pop es
pop di
pop dx
pop ax
ret
codesg ends
end start
评论次数(1)  |  浏览次数(643)  |  类型(汇编作业) |  收藏此文  | 

[  chinatree   发表于  2011-10-04 07:30  ]

加油加油加油。顶!

 
 请输入验证码  (提示:点击验证码输入框,以获取验证码