我不知道我做错了什么。我在这段代码中的目标是增加b并打印它。代码的第一部分是计算插入字符串中的数字,如果计数器超过 9,第二部分应该增加 b。
据我了解, cpi应该比较它,如果它低于“0”或高于“9”并做出决定。但它现在正在工作,我不知道我在比较什么..
org 1000
dcx sp
lxi h,text1
call putstr
mvi d,0
char_loop:
call getchar
cpi 10
jz char_end
cpi 13
jz char_end
cpi '0'
jc char_loop
cpi '9'+1
jnc char_loop
inr d
jmp char_loop
char_end:
lxi h,text2
call putstr
mov a,d
adi '0'
call putchar
call newline
//second part
mvi b,0
cpi '0' ; Compare with '0'
jc ERR ; Jump to ERR if A < '0'
cpi '9' ; Compare with '9'
jz GOOD ; Jump to GOOD if A == '9'
jnc ERR ; Jump to ERR if A > '9'
GOOD:
inr b
ERR:
mov a,b
adi '0'
call putchar
call newline
hlt