我正在尝试编写一个LC-3程序,该程序将计算用户在硬编码字符串中输入的字符出现次数。我遇到麻烦的部分是测试两个字符是否相等,而且我也无法移动字符串中的下一个字符来测试它。 ;计划来算一个字符的出现在一个字符串用于计算字符串中字符出现次数的LC-3程序
.ORIG x3000
LD R3, POSASC ;Loads R3 with #48
LD R4, NEGASC
LD R1, word ;R1 = word
ADD R6, R6, #5 ;Length of word
GETC ;Gets the char
OUT ;Prints the char
ADD R2, R2, R0 ;Stores the char in R2
;ADD R2, R2, R4 ;To ascii
AND R0, R0, #0 ;set R0 back to 0
LOOP
AND R5, R2, R1 ;check if char is equal
ADD R1, R1, #1 ;increment to next char in word
ADD R6, R6, #-1
BRnp LOOP
ADD R0, R0, R5 ;Set R0 to # of occurrences
OUT ;Print # of occurrences
HALT
POSASC .FILL x0030 ;#48
word .STRINGZ "hello" ;word to count occurrences of a char
NEGASC .FILL xFFD0 ;#-48
.END