鱼C论坛

 找回密码
 立即注册
查看: 3079|回复: 5

[已解决]loop同级别连续使用两次为什么报错

[复制链接]
发表于 2018-6-19 23:02:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我使用了两个同级别的循环一个是s0,一个s2,但是编译的时候为什么报错,难道除了嵌套能使用多个loop同级别不可出现两次么?
assume cs:code, ds:data, ds:table, ds:window, ss:stack

data segment
                db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984','1985','1986','1987','1988','1989','1990','1991','1992','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

stack segment
                db 15 dup (0h)
stack ends

window segment
                db 15 dup (0h)
window ends


code segment
start:        mov ax, data
                mov ds, ax
                mov ax, table
                mov es, ax
                mov ax, stack
                mov ss, ax
                mov sp, ss:[10h]
                mov bx, 0h
                mov si, 0h
                mov di, 0h
                
                mov cx,21
                s0:push cx
                        mov cx, 2h
                        s1:mov ax, ds:[si]
                        mov es:[bx + di], ax
                        
                        mov ax, ds:[si + 54h]
                        mov es:[bx + di + 5h], ax
                        
                        add si, 2h
                        add di, 2h        
                        loop s1

                add bx, 10h
                mov di, 0h
                pop cx
                loop s0
        
                mov si, 0h
                mov bx, 0h
                mov cx, 21
                s2:mov ax, ds:[si + 0a8]
                mov es:[bx + 0ah], ax
                add si, 2h
                add bx, 10h
                loop s2
                
                
                
                mov ax, 4c00h
                int 21h
                
code ends
end start
最佳答案
2018-6-19 23:47:36
是 0a8 还是 0a8h  ?
^_^

1.png
2.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-6-19 23:47:36 | 显示全部楼层    本楼为最佳答案   
是 0a8 还是 0a8h  ?
^_^

1.png
2.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-6-19 23:59:40 | 显示全部楼层
人造人 发表于 2018-6-19 23:47
是 0a8 还是 0a8h  ?
^_^

这道题把我整糊度了,谢谢啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-20 00:00:19 | 显示全部楼层
奥普瓯江 发表于 2018-6-19 23:59
这道题把我整糊度了,谢谢啊

^_^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-6-20 00:54:16 | 显示全部楼层
人造人 发表于 2018-6-19 23:47
是 0a8 还是 0a8h  ?
^_^

感谢你的帮助完成了
assume cs:code, ds:data, ds:table, ss:stack
data segment
                db '1975','1976','1977','1978','1979','1980','1981','1982','1983','1984','1985','1986','1987','1988','1989','1990','1991','1992','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
stack segment
                db 15 dup (0h)
stack ends
code segment
start:        mov ax, data
                mov ds, ax
                mov ax, table
                mov es, ax
                mov ax, stack
                mov ss, ax
                mov sp, ss:[10h]
                mov bx, 0h
                mov si, 0h
                mov di, 0h
                
                mov cx,21
                s0:push cx
                        mov cx, 2h
                        s1:mov ax, ds:[si]
                        mov es:[bx + di], ax
                        
                        mov ax, ds:[si + 54h]
                        mov es:[bx + di + 5h], ax
                        
                        add si, 2h
                        add di, 2h        
                        loop s1
                        
                        

                add bx, 10h
                mov di, 0h
                pop cx
                loop s0
        
                mov si, 0h
                mov bx, 0h
                mov cx, 21
                s2:mov ax, ds:[si + 0a8h]
                mov es:[bx + 0ah], ax
                
                mov ax, es:[bx + 5h]
                mov dx, es:[bx + 7h]
                div word ptr es:[bx + 0ah]
                mov es:[bx + 0dh], ax
                
                add si, 2h
                add bx, 10h
                loop s2
                
                
                
                mov ax, 4c00h
                int 21h
                
code ends
end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-20 01:50:25 | 显示全部楼层
奥普瓯江 发表于 2018-6-20 00:54
感谢你的帮助完成了

^_^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-6 03:32

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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