鱼C论坛

 找回密码
 立即注册
查看: 1736|回复: 7

s3 的循环跳不出,不知道哪里出错了

[复制链接]
发表于 2014-7-12 18:23:31 | 显示全部楼层 |阅读模式
5鱼币
assume cs:codesg

data  segment
        db '1975','1976','1977','1978','1979','1980','1981','1982','1983'
        db '1984','1985','1986','1987','1998','1989','1990','1991','1992'
        db '1993','1994','1995'  ;以上是 表示21年的21个字符串
        dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,14041,197514
        dd 345980,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型数据
data ends

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

codesg segment
start:        mov ax,data
                mov ds,ax
                mov ax,table ;
                mov es,ax
                mov bx,0
                mov si,0
                mov bp,0
                mov cx,21
        s:        mov ax,[bx+si]
                mov [bp],ax
                add si,2
                mov ax,[bx+si]
                mov [bp+2],ax
                add si,2
                add bp,10h
        loop s
                mov cx,21
                mov si,0
                mov bp,0
        s1: mov ax,[bx+si+84]
                mov [bp+5],ax
                add si,2
                mov ax,[bx+si+84]
                mov [bp+7],ax
                add si,2
                add bp,10h
        loop s1
                mov cx,21
                mov si,0
                mov bp,0
        s2: mov ax,[bx+si+168]
                mov [bp+10],ax
                add si,2
                add bp,10h
        loop s2
                mov cx,21
                mov bp,0
        s3: mov ax,[bp+5]
                mov dx,[bp+7]
                div word ptr [bp+10]
                mov [bp+13],ax
                add bp,10h
        loop s3
       
                mov ax,4c00h
                int 21h
codesg ends
end start[img=0,1]file:///C:\Users\Administrator\AppData\Roaming\Tencent\Users\821006520\QQ\WinTemp\RichOle\_G(ISERH09YO10YJSPOPW@E.jpg[/img]


_G(ISERH09YO10YJSPOPW@E.jpg
_G(ISERH09YO10YJSPOPW@E.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-7-12 18:24:36 | 显示全部楼层
突然就跳出 ???[bx+si]了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-12 20:03:53 | 显示全部楼层
如果没记错的话,进入循环前所有的寄存器参数都要先入栈,并在循环结束时出栈,以上代码好像完全忽略了这步骤哦
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-7-12 23:01:36 | 显示全部楼层
欣欣celin 发表于 2014-7-12 20:03
如果没记错的话,进入循环前所有的寄存器参数都要先入栈,并在循环结束时出栈,以上代码好像完全忽略了这步骤 ...

我把es寄存器 改成ss寄存器就可以了,非常感谢提醒{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-12 23:45:52 | 显示全部楼层
看起来很不错哈~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-13 08:41:48 | 显示全部楼层
:loveliness:,新手看不懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-13 23:18:48 | 显示全部楼层
墨血 发表于 2014-7-12 23:01
我把es寄存器 改成ss寄存器就可以了,非常感谢提醒

{:7_174:}不客气
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-27 21:18:42 | 显示全部楼层
寄存器用的好像不太对,没细看楼主可以检查一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-7 02:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表