微机原理、汇编与接口技术问题

书上有一例子 根据书上所写照打在8086上出现提示:(9)NO ENDP for:start
(40)start endp-unmatched到底怎么回事 望高手解答
stack segment stack 'stack'
dw 32 dup(0)
stack ends
data segment
IBUF DB 7,0,7 DUP(0)
BINARY DW 0
data ends
code segment
start proc far
assume ss:stack,cs:code,ds:data
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
MOV DX,OFFSET IBUF
MOV AH,10
INT 21H
MOV CL,IBUF+1
MOV CH,0
MOV SI,OFFSET IBUF+2
CMP BYTE PTR [SI],'-'
PUSHF
JNE SININC
INC SI
DEC CX
SININC: MOV AX,0
AGAIN: MOV DX,10
MUL DX
AND BYTE PTR [SI],0FH
ADD AL,[SI]
ADC AH,0
INC SI
LOOP AGAIN
POPF
JNZ NNEG
NEG AX
NNEG: MOV BINARY,AX
ret
stat endp
code ends
end start

第1个回答  2011-11-10
第九行的主程序开头start proc far与第四十行程序结束stat endp不对应。把stat endp改为start endp就OK了。本回答被提问者和网友采纳
第2个回答  2011-11-09
stat endp
错。
第3个回答  2011-11-10
很简单,倒数第三行start拉了个字母r
应该是“start endp”
第4个回答  2011-11-10
第40行 stat endp 应该是 start endp