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

我的博客

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

[2010-08-07 02:08] 实验7 (用栈)

图片载入中
;有个疑惑,为什么用T命令执行pop [bx+2]后,
;Program terminated normally.程序好像直接运行完了,结果也正确
;------------------------------------------------------
assume cs:codesg
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 21 dup ('year summ ne ?? ')

table ends

codesg segment
start:        mov ax,data
        mov ss,ax        ;把data设成栈段        
        mov cx,15h
        sub bx,bx
        mov ax,table   
        mov ds,ax       
a:        pop [bx]        ;[bx]的默认段为DS
        pop [bx+2]
        add bx,10h
        loop a

        mov cx,15h
        sub bx,bx
b:        pop [bx+5]
        pop [bx+7]
        add bx,10h
        loop b

        sub bx,bx
        mov cx,15h
c:        pop ds:[bx+10]
        add bx,10h
        loop c

        sub bx,bx
        mov cx,15h
d:        mov ax,[bx+5]
        mov dx,[bx+7]
        mov di,[bx+10]
        div di
        mov [bx+13],ax
        add bx,10h
        loop d
        
        mov ax,4c00h
        int 21h
codesg ends
end start
评论次数(1)  |  浏览次数(731)  |  类型(汇编作业) |  收藏此文  | 

[  游客   发表于  2010-12-15 17:11  ]

<a href="http://www.playren.com/">整人方法</a>

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