用汇编语言从键盘上输入一串字符,在下一行以相反的次序显示

我这有个程序但是汇编程序显示是错的,这是为什么?请帮忙改正。datasegmentmaxequ128inputdbmax;采用DOS中断调用0AHdb?dbmaxdup(... 我这有个程序但是汇编程序显示是错的,这是为什么?请帮忙改正。
data segment
max equ 128
input db max ;采用DOS中断调用0AH
db ?
db max dup(?)
msg db 'Please input a string:'
clrf db 0dh,0ah,'$' ;回车换行
output db 'The result is:$'
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
mov ah,09h
lea dx,msg
int 21h
mov ah,0ah ;输入字符串
lea dx,input
int 21h
mov ah,09
lea dx,clrf
int 21h
mov ah,09h
lea dx,output
int 21h
mov ah,09
lea dx,clrf
int 21h
mov cl,input+1 ;input+1处为实际输入字符个数
mov ch,0
mov dl,input+1
mov dh,0
lea si,input+2 ;input+2处为实际输入字符的起始地址
add si,dx
s0: dec si ;SI为最后一个字符的地址
mov ah,02h
mov dl,[si]
int 21h
loop s0
mov ah,4ch
int 21h
code ends
end start
我用的是masm32
展开
 我来答
可轩163
2014-11-23 · TA获得超过1.3万个赞
知道大有可为答主
回答量:4824
采纳率:88%
帮助的人:1891万
展开全部

我将楼主的源程序,用masm6的ML.exe编译链接生成 11-23b.exe

在32位Win7的DOS 环境运行无误,以下是运行截图:

.

意法半导体(中国)投资有限公司
2023-06-12 广告
单片机汇编程序是用汇编语言编写的程序,用于控制单片机的操作。汇编语言是一种比较接近计算机硬件语言的低级语言,相对于高级语言来说更容易理解和实现。下面是单片机汇编程序的基本步骤:1. 将代码和数据汇编到规定的段中。2. 在存储器中用未初始化的... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
做而论道
高能答主

2014-11-23 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3.1万
采纳率:82%
帮助的人:8446万
展开全部
用 MASM 5.10 编译、...,执行,结果很正常。

可以实现:输入一串字符,在下一行以相反的次序显示。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式