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

我的博客

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

[2011-09-29 15:30] 汇编语言 实验七 数据处理的两个基本问题

assume cs:codesg,ds:datasg,es:table
datasg 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'                        ;以上是表示21个年份.

        dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,140417,197514
        dd 345980,590827,803530,1183000,1843000,2759000,3753000,4649000,5937000
        ;以上是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型数据.
        
datasg ends

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

codesg segment
start:mov ax,datasg
                        mov ds,ax
                        mov ax,table
                        mov es,ax
                        
                        mov bx,0
                        mov si,0
                        mov di,0
                        mov cx,21
                        
s:                mov ax,[bx]
                        mov es:[di],ax
                        mov ax,[bx+2]
                        mov es:[di+2],ax
                        ;以上是将年份写入TABLE段中.
                        
                        mov ax,54h[bx]
                        mov es:5h[di],ax
                        mov dx,56h[bx]
                        mov es:7h[di],dx
                        ;以上是将收入放进TABLE段
                        
                        mov ax,0A8h[si]
                        mov es:0Ah[di],ax
                        ;以上将人员写入TABLE指定单元
                                
                        mov ax,54h[bx]
                        div word ptr ds:0A8H[si]
                        mov es:0Dh[di],ax
                        ;以上将商放进TABLE段中.
                        
                        add bx,4
                        add di,10h
                        add si,2
                        loop s
                                
                        mov ax,4c00h
                        int 21h
codesg ends
end start

;总结:通过此程序,引入了结构化程序设计,结构化程序的开始,将使得程序的功能更强大,更清晰,更易读,思维方式的转换也得转换.
;寻址方式更灵活: bx,si,di,bp,四个寄存器.在8086中只有这四个寄存器才能用在[...]中.[bx+bp][si+di]错误,但BX,BX都可以相续的和SI,DI相加.MOV指令不能同时对两个内存单元处里.
;在给寄存器传值的时候,如果值是字母头,需在前加上0.
;寻址是从偏移址址开始,如mov ax,[01],不要理解成是从下一个字节开始.由其是对字型数据操作的时候.
;对于两个数据的基本问题是所有程序都有的,数据在那里,有多长,有什么算法,结果放到那里,等
评论次数(0)  |  浏览次数(447)  |  类型(汇编作业) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码