大家是怎么样反向输出字符串的?

zergjimmy 2003-05-16 03:58:10
要求从键盘输入一字符串,在屏幕上反向输出。要怎么实现?
我用:
lea di,actlen ;actlne is the actual length of str1
lea si, str1
add si,[si]
lea di,str2
然后再把si的内容一个一个mov到str2中去。可是lea di,actlen的时候出了问题,
因为它把actlen后一个字节的内容也load过来了,于是后面的结果就错了。
...全文
90 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
see22 2003-05-31
  • 打赏
  • 举报
回复
用栈
dragonheros 2003-05-31
  • 打赏
  • 举报
回复
name test
code segment
assume cs:code
start:MOV BX,SP
Loop1:MOV AH,01H
INT 21H
CMP AL,0DH
JZ Loop2
PUSH AX
JMP Loop1
Compa:CMP BX,SP
JNZ Loop2
INT 20
Loop2:POP DX
MOV AH,02
INT 21
JMP Compa
code ends
end start
lezi1022 2003-05-31
  • 打赏
  • 举报
回复
看看我的!
name text2_2
data segment
s db 5 dup(?)
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
mov cx,5
mov si,4 ;现赋值5,使其指向第五个字节
loop1:mov ah,01h
int 21h
mov s[si],al
dec si
loop loop1 ;循环输入5个数,从高字节si=4起保存,到低字节si=0结束!
mov cx,5
mov si,0
loop2:mov dl,s[si]
mov ah,2
int 21h
inc si
loop loop2 ;从si=0,到si=4顺序输出!
mov ah,4ch
int 21h
code ends
end start

asmzyd 2003-05-20
  • 打赏
  • 举报
回复
STD然后
MOVSB
programmer200x 2003-05-18
  • 打赏
  • 举报
回复
一个问题用的着这样吗?
zergjimmy 2003-05-16
  • 打赏
  • 举报
回复
我认识你么,baolong530?或则你认识我么?
如果都不是的话,那么我鄙视你的人格。
林雨亭 2003-05-16
  • 打赏
  • 举报
回复
1: 可以用栈存文字
2:输出的时候从后向前不就行了

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧