| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 603 人关注过本帖
标题:为什么最前面的一个数不见了
取消只看楼主 加入收藏
az9841682
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:312
专家分:596
注 册:2009-9-11
结帖率:80%
收藏
 问题点数:0 回复次数:1 
为什么最前面的一个数不见了
data segment
string 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 编辑 ]
2009-10-18 17:13
az9841682
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:312
专家分:596
注 册:2009-9-11
收藏
得分:0 
本人 修改了一些地方,希望弄懂,偶是小白级人物
偶用的是 MASM5
string db 50 dup('?')   
偶修改成  string db 50 dup(?)  结果 运行后 直接换行 退出
2009-10-22 15:07
快速回复:为什么最前面的一个数不见了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015722 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved