读书人

80X86字符串中给定字符的轮换

发布时间: 2012-11-07 09:56:10 作者: rapoo

80X86字符串中给定字符的替换
要求,将字符串中所有的A替换成a并输出新产生的字符串。如果没有A则不替换;使用串操作指令,从串首到串尾进行扫描,发现一个替换一个。一定给分,求大神,一定用80X86啊,谢谢

[解决办法]
假定是32位程序,字符串地址为esi,新串的长度是edi,字符串长度为ecx,则可使用如下代码片段

or ecx,ecx
jz loop_end ;长度为0则什么也不做

loop_1:
mov al, [esi]
cmp al, 'a'
jnz next_00
sub al,32; 'a'的ASCII比'A'大32

next_00:
mov [edi],al

inc esi
inc edi
loop loop_1

loop_end:

读书人网 >汇编语言

热点推荐