我是新来的汇编语言,这是一些代码,我不明白希望有人会帮助它。汇编8086程序
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
分为零和一个,但为什么我们使用它? - 为什么我们在
EXIT
标签后面使用MOV AH,4CH
? 起始标签为什么我们说以下后:
MOV AX,DATA
MOV DX,AX
为什么我们不只是说: MOV DX,DATA
最后,有人可以建议一本好书学习大会?
哦,小子! 3位编辑马上! = P我保留了本书的推荐位。 – gideon 2011-03-20 08:46:03
搜索SO for book建议参见:[SO忍者搜索](http://www.google.com/search?q=book+for+assembly+language&sitesearch=stackoverflow.com/questions&qscrl=1) – gideon 2011-03-20 08:46:28
LOOP是286+,反正你不会在任何地方启动cx。 – bestsss 2011-03-20 09:13:03