为什么最前面的一个数不见了
data segmentstring db 50 dup('?');
crlf dw 0dh,0ah,'$';
data ends
code segment
assume cs:code,ds:data
main proc far
mov ax,data
mov ds,ax
lea dx,string
mov ah,10
int 21h
lea dx,crlf
mov ah,9
int 21h
lea dx,crlf
mov ah,9
int 21h
mov bl,string
mov bx,bx
mov byte ptr string+2[bx],'$'
lea dx,string
mov ah,9
int 21h
mov ah,4ch
int 21h
main endp
code ends
end main
以上是本人 根据老师要求编写出的一个简单的程序(本人学习不久)
编好以后 运行输入:12346789
回车换行输出:23456789
总是缺少最前面的一个数,
求问为什么?
什么解决
老师给的原题是这里
data segment
;定义输入缓冲区
CRLF Dw 0DH,0AH,'$';回车换行
data ends
code segment
assume cs:code,ds:data
main proc far
mov ax,data
mov ds,ax
;输入字符串(10号调用)
;输出回车换行(9号调用)
;在输入字符串最后加上'$'
;输出字符串(9号调用)
mov ah,4ch
int 21h
main endp
code ends
end main
[ 本帖最后由 az9841682 于 2009-10-18 17:17 编辑 ]