使用JGE/JLE引发除法溢出异常的有关问题

使用JGE/JLE引发除法溢出错误的问题
我最近编写一个程序画矩形,其中包含一些条件转移语句,可是执行到那里的时候总是发生Divide   Overflow,请问问题出在那里:
.model                 small
.stack
.data
            hollow     dw                 20d,20d,100d,70d
              solid     dw                 60d,45d,140d,95d
                    x1     dw                 ?
                    y1     dw                 ?
                    x2     dw                 ?
                    y2     dw                 ?
.code

    drawhollow     proc             near
                            push             si
                            push             ax
                            push             cx
                            push             dx
                            mov               dx,[si+1]
                            mov               cx,[si]
                            mov               al,1
                lp1:
                            mov               ah,0ch
                            int               10h
                            inc               cx
                            cmp               cx,[si+2]
                            jle               lp1     ;用emu8086跟踪到此处时就发生除法溢出
                lp2:
                            mov               ah,0ch
                            int               10h
                            inc               dx