奥普瓯江 发表于 2018-6-19 23:02:49

loop同级别连续使用两次为什么报错

我使用了两个同级别的循环一个是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:
                mov bx, 0h
                mov si, 0h
                mov di, 0h
               
                mov cx,21
                s0:push cx
                        mov cx, 2h
                        s1:mov ax, ds:
                        mov es:, ax
                       
                        mov ax, ds:
                        mov es:, 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:
                mov es:, 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?
^_^



奥普瓯江 发表于 2018-6-19 23:59:40

人造人 发表于 2018-6-19 23:47
是 0a8 还是 0a8h?
^_^

这道题把我整糊度了,谢谢啊

人造人 发表于 2018-6-20 00:00:19

奥普瓯江 发表于 2018-6-19 23:59
这道题把我整糊度了,谢谢啊

^_^

奥普瓯江 发表于 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:
                mov bx, 0h
                mov si, 0h
                mov di, 0h
               
                mov cx,21
                s0:push cx
                        mov cx, 2h
                        s1:mov ax, ds:
                        mov es:, ax
                       
                        mov ax, ds:
                        mov es:, 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:
                mov es:, ax
               
                mov ax, es:
                mov dx, es:
                div word ptr es:
                mov es:, ax
               
                add si, 2h
                add bx, 10h
                loop s2
               
               
               
                mov ax, 4c00h
                int 21h
               
code ends
end start

人造人 发表于 2018-6-20 01:50:25

奥普瓯江 发表于 2018-6-20 00:54
感谢你的帮助完成了

^_^
页: [1]
查看完整版本: loop同级别连续使用两次为什么报错