Cy86183570 发表于 2017-1-25 14:20:09

编译后,系统说明jcxz指令有问题

编译后,系统说明s2未被定义,可是我看了下没问题啊,百思不得其解,望各位大神指教!assume cs:code,ds:data
data segment
    db 8,11,8,1,8,5,63,38
data ends

code segment
main:   mov ax,data
      mov ds,ax
                mov si,0
                sub ax,ax      ;各项进位标志清零
                call cmp1
               
                mov ax,4c00h
                int 21h
               
cmp1:   push ax
      push si
               
      mov bh,0         ;bh暂时记数
                mov bl,8         ;bl存储被比较数 8
               
l_cmp:        mov cl,ds:   ;数据段数据复制到cl,若cx=0,执行jcxz
      mov ch,0
                jcxz s2

                mov al,cl      ;al暂存数据段               
                cmp al,bl      ;数据段数据与被比较数做比较       
               
                je s1            ;zf=0时,跳转至s1
s1:   inc bh         ;如果相等,bh自加1

          inc si         ;如果不等,进入下一个数据
                jmp short l_cmp
                     
s2:    sub ax,ax      
                mov al,bh
               
                pop si
                pop ax
      ret

code ends

end main

人造人 发表于 2017-1-25 15:29:38

s2后面的冒号是中文的^_^

Cy86183570 发表于 2017-1-25 16:12:35

人造人 发表于 2017-1-25 15:29
s2后面的冒号是中文的^_^

真的,啊呀,好蠢,这可真蠢{:10_266:}
页: [1]
查看完整版本: 编译后,系统说明jcxz指令有问题