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

我的博客

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

[2010-10-15 19:25] 第8章 实验七(一)

代码:
assume cs:code,ds:data,es:table

data segment 
db '1975','1976','1977','1978','1979','1980','1981','1982'
db '1983','1984','1985','1986','1987','1988','1989','1990'
db '1991','1992','1993','1994','1995'
;以上是表示21年的21个字符串 ds-10H:0--21*4-1
dd 16,22,382,1356,2390,8000,16000,24486
dd 50065,97479,140417,197514,345980,590827,803530,1183000
dd 184300,2759000,3753000,4649000,5937000
;以上是表示21年公司总收入的21个dword型数据 ds-10H:21*4 21*8
dw 3,7,9,13,28,38,130,220
dw 476,778,1001,1442,2258,2793,4037,5635
dw 8226,11542,14430,15257,17800
;以上是表示21年公司雇员人数的21个word型数据
data ends

table segment
db 21 dup('year summ ne ?? ')
table ends

code segment
start:        mov ax,data
        mov ds,ax
        mov ax,table
        mov es,ax
        
        mov bx,0
        mov bp,0
        mov cx,21
        
            ;写入年份
    s:        mov si,0
        mov di,0
             mov ax,[bx].[si]
        mov es:[bp].[di],ax
        mov ax,[bx].2[si]
        mov es:[bp].2[di],ax
        ;写入收入
        add si,54H
        add di,5
        mov ax,[bx].[si]
        mov es:[bp].[di],ax
        mov ax,[bx].2[si]
        mov es:[bp].2[di],ax
        ;增量变化
        add bx,4
        add bp,10H
        loop s
        
        ;写入雇员
        mov cx,21
        mov bp,0
        mov bx,0
            mov si,0a8H
        mov di,10
    s1:        mov ax,[bx].[si]
        mov es:[bp].[di],ax
        ;增量变化
        add bx,2
        add bp,10H
        loop s1

        ;写入人均收入
        mov cx,21
        mov bp,0
           mov si,5
    s2:        mov ax,es:[bp].[si]
        mov dx,es:[bp].2[si]
        mov bx,es:[bp].5[si]
        div bx
        mov es:[bp].8[si],ax
        ;增量变化
        add bp,10H
        loop s2
        
        mov ax,4c00H
        int 21H
        
code ends
end start
;我调试过成功了,不过代码很繁琐,还要精简。希望大家多多指点!
评论次数(0)  |  浏览次数(285)  |  类型(汇编作业) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码