首页 > 解决方案 > 为什么字符串声明在汇编 8086 中很重要?

问题描述

我想编写一个程序来遍历一个字符串并计算字母“C”出现了多少次,(每当有一个 ltter C 时,我都会增加“BX”的值)现在代码可以正常工作像这样

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"在第一行写程序时,程序确实是一个无限循环。你能告诉我为什么会这样吗?

PS:最好每次都写“ret”和“hlt”;因为我没有看到人们在网上写它,但在大学里我们被迫写它。

标签: stringassemblyx86-16

解决方案


推荐阅读