问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

初学汇编,要求输入一个字符串然后输出。请帮看看错在哪里

发布网友 发布时间:2022-05-04 11:59

我来回答

1个回答

热心网友 时间:2022-06-21 15:49

lea dx,string
mov ah,0ah
int 21h
在调用中断往字符串输入字符的时候,string里数据的意义的这样的:
第一个字节表示一共可容纳的字符数,包括回车符,也就是10h
第二个字节表示,当输入结束,按下回车后,实际输入的字符数,不包括回车符。
从第三个字节开始,表示实际的字符。
但是当输出字符串的时候:
lea dx,string
mov ah,09h
int 21h
是从string开始输出,碰到'$'后停止。而你输入的字符,是从string+2开始存放的,并且是以回车符结束的,而不是以'$'结束的。所以你的程序主要有两个问题:
(1)输出时要把dx指向string+2,而不是之前的string
(2)输入结束后,要把最后一个有效字符后面的回车符修改为'$'
另外还有个问题。你输入字符的时候,最后输入了一个回车。在C语言里会自动换行,但是在汇编里是不会自动换行的。所以你在输入结束,输出之前,还要自己换行。
程序修改如下:
data segment
string db 10h,50 p('?')
strrn db 0ah, 0dh, '$' ;这个是专门用来换行的
data ends

code segment
assume ds:data,cs:code

begin: mov ax,data
mov ds,ax

lea dx,string
mov ah,0ah
int 21h

;下面三句的作用是换行
lea dx, strrn
mov ah, 09h
int 21h

;下面三句的作用是把输入的最后一个有效字符后的回车符修改为'$'
mov bl, string + 1 ;实际输入的字符数,不包括回车符
mov bh, 0
mov byte ptr [string + 2 + bx], '$' ;实际输入的有效字符从string+2开始,注意理解

mov ah,09h
lea dx, string + 2
int 21h

mov ah,4ch
int 21h
code ends
end begin
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
儿童散学归来早描述的是什么季节(儿童散学归来早描写的是什么季节) 超级死神进化论章节目录 我们没有忘记读后感458字作文 贷15万贷10年每月还多少钱 15万10年贷款月供多少 15万贷10年月供多少钱 15万贷款10年一月多少钱 贷款15万10年每月还多少 在银行贷款15万十年还清想知道利息和月供……(还望亲们提供的的2013年... 今天去刷qq空间 看到了一个同学的头像 说明他发了说说 可是怎么刷新... 汇编输入和输出比较问题 最近做梦很频繁 汇编中怎样输出一个数 汇编如何输入 汇编最简单的输入输出编程 汇编语言中关于输入输出的问题 在c语言中,输入输出数据可以用输入输出函数,汇编语言如何实现输入输出数据? 汇编语言中如何编写输入输出程序(输入十进制数,输出十六进制数)? 请教汇编输入输出问题 全国网络汽车道路救援 有多少家? 汇编怎么实现输入输出的 车子半路出问题,哪家道路救援公司比较靠谱? 道路救援哪一家口碑不错? 全球汽车道路救援公司有哪些?? 运用政治生活知识,说明区块链技术是如何赋能社会治理的? 道路救援哪一家比较好? 青岛最大的汽车道路救援公司是哪家 哪些新技术可以赋能创业 比特币和现货有什么区别? 九天救援在道路救援中属于什么级别? 有汇编语言设计程序 键盘输入输出 汇编 键盘输入和屏幕输出问题 最近一周频繁做梦啥原因 汇编语言:输入一个表达式a+b*c/d=,输出结果,不考虑优先级 汇编语言程序(输入十个负数,输出其中最小的) 为什么最近频繁做梦? 数据库导出CSV文件时分隔符怎么改 字段分隔符 文字分隔符 字段转义符 换行符 这几个都是什么符号 素心如水是什么意思 素心如水的意思 素心若水,梅香自来!__什么意思 素心如水,此去经年。是诗词吗 素心如水的《君生我未生我生君已老》这部作品是真实的吗? 有没有人看过部小说,素心如水的《君生我未生,我生君已老》?? 急求素心如水的君生我未生我生君已老 全集 要完结的 谢谢 素心如兰玉为肌,素颜若水雪著魂 什么意思 上善若水 素心若雪 处世有方啥意思 跪求女生网名 有涵养的 4个字的 20岁 追加30分 素心若水淡然前行的意思 生产关系与上层建筑 求女生网名!!简短!优雅!好看!好听! 3Q!!!