首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

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

2012-11-07 
80X86字符串中给定字符的替换要求,将字符串中所有的A替换成a并输出新产生的字符串。如果没有A则不替换;使用

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:

热点排行