我是汇编语言的新手,这是一些我不明白的代码,希望有人能帮忙。
DATA SEGMENT
VALUES DB 1,2,3,4,5,6,7,8,9
ITEM DB 6
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DX,AX
LEA SI,VALUES
MOV AL,ITEM
COMPARE: CMP AL,[SI]
JZ Found
INC SI
LOOP COMPARE
CLC
JMP EXIT
Found: STC
EXIT: MOV AH,4CH
INT 21H
ENDS
CODE END
这个程序应该(6)
在1,2,3,4,5,6,7,8,9
我了解它一般是如何工作的,但我有几个问题:
- 为什么我们使用
CLC
和STC
??我知道他们把CF
零和一,但我们为什么要使用它? - 为什么我们在标签
MOV AH,4CH
后使用inEXIT
?? 在开始标签之后为什么我们要说以下内容:
MOV AX,DATA
MOV DX,AX
我们为什么不直接说:
MOV DX,DATA
最后,有人可以推荐一本学习汇编的好书吗?