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

为何执行,会退出整个程序

2012-12-31 
为什么执行,会退出整个程序Readstr proc strname:DWORDLOCAL szLinkBuff[256]:BYTEinvoke RtlZeroMemory,a

为什么执行,会退出整个程序
Readstr proc strname:DWORD
      LOCAL szLinkBuff[256]:BYTE
         invoke RtlZeroMemory,addr szLinkBuff,sizeof szLinkBuff    
              mov edi,strname             
              .while  byte ptr [edi]   
                     invoke RtlZeroMemory,addr szLinkBuff,sizeof szLinkBuff 
                     lea esi, szLinkBuff                 
                    .while byte ptr [edi] != ","
                       xor eax,eax
                       mov al,byte ptr [edi]
                       mov [esi],al
                       inc esi
                       inc edi
                   .endw               
                invoke lstrcpy,addr buffer2, addr szLinkBuff
                inc edi  
             .endw
     ret
Readstr  endp
执行完这段,为什么会退出整个程序
[解决办法]

.while byte ptr [edi] != "," && byte ptr [edi] != "0"
; 上面的 !="0" 应该是 != 0 吧。字符串结束标记不是字符 '0' 而是字节 00h

热点排行