bacmive 发表于 2016-9-29 14:01:06

关于loop循环控制条件问题

求教{:5_110:}:   这个程序中将cx的初始值置0,loop代码段不是不会循环吗?
程序能够运行的原因是:因为不知道循环多少次,所以将cx置0,cx自减1时溢出得到0FF,这又是为什么?

assume cs:code

data segment
        db 8,11,8,1,8,5,63,38
data ends

code segment

start: mov ax,data
           mov ds,ax
           mov bx,0
           mov ax,0
           mov cx,0
          
          
        s: cmp byte ptr ,8
           je ok
           jmp short
ok:inc ax
next:inc bx
           loop s
          
          
          
           mov ax, 4c00h
           int 21h
          
code ends

end start

qwe1231069 发表于 2016-9-29 15:59:34

执行loop时
先把cx减1再判断cx是否为0
为0则不循环
我没看代码,只是说一下loop指令。其实这些书上都有写的

bacmive 发表于 2016-9-30 14:53:11

qwe1231069 发表于 2016-9-29 15:59
执行loop时
先把cx减1再判断cx是否为0
为0则不循环


多谢指点,原来还有这样两个步骤

东吴 发表于 2016-10-31 22:07:07

你可以去看看小甲鱼老师的视频
里面都有的
页: [1]
查看完整版本: 关于loop循环控制条件问题