社区
汇编语言
帖子详情
求一个字符串反转的例子!!!
ming6424
2005-10-19 09:57:16
尝试使用movsb,std没有成功
...全文
204
7
打赏
收藏
求一个字符串反转的例子!!!
尝试使用movsb,std没有成功
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
derek
2005-10-21
打赏
举报
回复
不知这样可否,请教:
data segment
string db 'hello world!!!',10,13,'$'
stringr db dup $-string (?)
strlen =stringr-string
data ends
code segment
assume cs:code
assume ds:data
start: push ds
xor ax,ax
push ax
mov ax,data
mov ds,ax
mov si,0
mov cs,strlen-1
Lop:
mov ax,string[strlen-si]
mov stringr[si],ax
inc si
loop lop
code ends
end start
derek
2005-10-21
打赏
举报
回复
data segment
string db 'hello world!!!',10,13,'$'
stringr db dup $-string (?)
strlen =stringr-string
data ends
code segment
assume cs:code
assume ds:data
start: push ds
xor ax,ax
push ax
mov ax,data
mov ds,ax
mov si,0
Lop:
mov ax,string[strlen-si]
mov stringr[si],ax
loop
ming6424
2005-10-20
打赏
举报
回复
.model small,c
DATA segment
msg DB 'After reversing...',0DH,0AH,'$'
string DB 'ABCD',0DH,0AH,'$','0'
string2 DB 20 Dup('0')
DATA ends
CODE segment
assume cs:code,ds:data
strlen proc uses AX BX,string0:PTR BYTE
mov bx, string0
xor cx, cx
mov al, [bx]
.while al != 0
inc cx
inc bx
mov al, [bx]
.endw
ret
strlen endp
strrev proc uses SI SI,strSrc:PTR BYTE,strDest:PTR BYTE
lea si, strSrc
lea di, strDest
add si, cx
again:
mov di,si
dec si
inc di
loop again
mov di, '$'
ret
strrev endp
start:
mov ax,data
mov ds,ax
mov dx,offset string
mov ah,9h
int 21h
mov dx,offset msg
mov ah,9h
int 21h
invoke strlen ,ADDR string
invoke strrev ,ADDR string, ADDR string2
mov dx, offset string2
mov ah, 9h
int 21h
mov ah,4ch
int 21h
CODE ends
end start
大家帮忙看一下啊
大熊猫侯佩
2005-10-20
打赏
举报
回复
data segment
string db 'hello world!!!',10,13,'$'
strlen = $ - string - 1
data ends
code segment
assume cs:code,ds:data
start:
push ds ;定位 int 20h 与后面 retf 相对应,
xor ax,ax ;未退出做准备。
push ax
mov ax,data ;初始化 ds 段寄存器。
mov ds,ax
lea dx,string ;显示倒序之前的字符串
mov ah,09h
int 21h
mov cl,strlen ;确定倒序操作次数。
shr cl,1
xor bx,bx
lop:
mov al,string[bx] ;倒序操作,核心使用使用 xchg 指令完成倒序。
push bx
mov dx,strlen
sub dx,bx
mov bx,dx
xchg al,string[bx-1]
pop bx
mov string[bx],al
inc bx
loop lop
lea dx,string ;显示倒序之后的字符串。
mov ah,09h
int 21h
retf ;退出。
code ends
end start
deping_chen
2005-10-20
打赏
举报
回复
xchg
VxD1
2005-10-20
打赏
举报
回复
你找mydo(坎道斯|Kinds)或者csdsjkk()帮你看看
他们很厉害,我是菜鸟
VxD1
2005-10-20
打赏
举报
回复
mov bx, string0 ?string0在哪定义的?
你的程序哪有问题?
你用debug调试一下
这些天比较忙
Python 47个字符串方法
# Python 47个字符串方法## 课程介绍同学们是否总是要搜资料、查官网后,才知道怎么操作字符串?如果是,来学学本课程吧,本课程以讲解官网文档的方式,讲解 Python 47个字符串方法,涉及替换、删除、连接、查找、...
递归的应用之
字符串反转
然而,如果使用递归的话,我们就能够非常轻松地编写出
一个
直接使
字符串反转
的函数,而不必用列表来作为中间存储。 这样做的基本思想是:把字符串当作
一个
递归对象。
一个
大的字符串是由若干个较小的对象组成的,而且...
C#
字符串反转
的几种方法
C#
字符串反转
在控制台程序中反转字符串窗体程序中反转字符串调用类库的函数反转字符串 在控制台程序中反转字符串 如果是在控制台内的话,通过反序的不换行输出获取的字符串即可达到反转的目的。 static void Main...
JavaScript实现基本的
字符串反转
函数
字符串反转
是一种常见的字符串操作,它将
一个
字符串从后往前倒序排列,生成
一个
新的字符串。在这篇技术文档中,我们将介绍如何使用JavaScript实现基本的
字符串反转
函数。
写出
一个
程序,接受
一个
字符串,然后输出该
字符串反转
后的字符串。
写出
一个
程序,接受
一个
字符串,然后输出该
字符串反转
后的字符串。例如: 输入描述: 输入N个字符 输出描述: 输出该
字符串反转
后的字符串 输入
例子
: abcd 输出
例子
: dcba import java...
汇编语言
21,453
社区成员
41,602
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章