Я хотел написать программу, которая перебирает строку и вычисляет, сколько раз встречалась буква "C", (я увеличиваю значение `` `` BX``` каждый раз, когда есть буква C) теперь код работает правильно, как этот
LEA DI, STRING
MOV CX, 6h
FOR:
CMP CX, 0
JE END
cmp [DI], "C"
jnz siPasDeC
inc BX
siPasDeC:
INC DI
dec cx
jmp FOR
END:
ret
hlt
STRING DB "CCKCCD"
, но когда я пишу STRING DB "CCKCCD"
в первой строке, программа делает бесконечное l oop. Можете ли вы сказать мне, почему это произошло?
PS: это лучшая практика, чтобы писать "ret" и "hlt" каждый раз; потому что я не видел людей, пишущих это онлайн, но в колледже мы вынуждены писать это.