|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июн 18, 2003 21:24:15 · Поправил: Безпощадный даос Вопрос №1: Как правильно передать String из eax а ecx??? Где тут ошибка?? invoke GetCommandLine mov ecx, eax invoke MessageBox,HWND_DESKTOP,ecx,"DPRSystem by ID!0t.",MB_OK Вопрос №2: Как мне разложить строку. Например скопировать от символа Х до конца строки??? |
|
|
Дата: Июн 19, 2003 00:02:23 Вопрос №1: call dword ptr GetCommandLine mov ecx, eax // push MB_OK mov edx,szlpt push edx push ecx push 0 ;HWND_DESKTOP call dword ptr MessageBox lodsb Вопрос №2: вначале надо пойнтер на 'X' найти в в строке если пойнтер в регистре ECX наиболее понятно будет mov al,[ecx] cmp al,0 jz noFound cmp al,'X' jz Found inc ecx jmp lb1 noFound: Found: mov ecx,len_str1 mov esi,ecx les edi,str2 cld rep movsb в случае с UNICOD'ом mov ax,[ecx] cmp ax,0 jz noFound cmp ax,'X' jz Found add ecx,2 jmp lb1 HO более оптимально через LODSB но для UNICOD для 32 разрядной платформы LODSW после ассеблирования пойдет с префексом 66h |
|
|
Дата: Июн 19, 2003 00:35:31 SmikeX . . . push 0 ;HWND_DESKTOP call dword ptr MessageBox lodsb ; <- а зачем lodsb? . . . mov al,[ecx] cmp al,0 Перед этим забыли поставить метку lb1: |
|
|
Дата: Июн 19, 2003 02:36:29 Скопировать строку или ее часть можно с помощью Win32Api функций: lstrcpy - от заданной позиции и до конца lstrcpyn - от заданной позиции заданное количество символов |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.077 |