|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Фев 6, 2003 15:05:50 Братцы помогите советом...... Данная прога компилится TASM'ом и вылетает с ошибкой "Программа выполнела и т.д." Ну что, блин, здесь не так ??????? .386P .model Flat,StdCall mb_Ok equ 0 hWnd equ 0 lpText equ offset text lpCaption equ offset caption SocksVersion equ 0101h extrn ExitProcess:PROC extrn MessageBoxA:PROC extrn WSAStartup:PROC .Data WSAData STRUCT wVersion dw 0 wHighVersion dw 0 szDescription db 257 dup(0);256+1 szSystemStatus db 129 dup(0);128+1 iMaxSockets dw 0 iMaxUpdDg dw 0 lpVendorInfo dd 0 WSAData ENDS text db "Server is work now.",13,10,0 caption db "Socks Server",0 .Code Main: push offset WSAData push SocksVersion call WSAStartup cmp eax,0 jne EndOfProgramm push mb_Ok push lpCaption push lpText push hWnd call MessageBoxA EndOfProgramm: call ExitProcess End Main |
|
|
Дата: Фев 6, 2003 15:30:36 Бразер, а ты чего системе ExitProcess-ом возвращаешь? Вообще надо: push 0 call ExitProcess А то если месагбокс вылез, то в eax не ноль (см. описание). |
|
|
Дата: Фев 6, 2003 15:42:17 А MessageBox вообще показывает? И где WSACleanup? |
|
|
Дата: Фев 6, 2003 16:07:49 WSACleanup не обязателен. Просто это для своей проги. Другая при инициализации всё равно произведёт "зачистку". Ну а если месагбокс не показывает, то в eax и так нуль. |
|
|
Дата: Фев 6, 2003 18:04:12 MessageBox не показывает :((( Вылетает именно на WSAStartup дебагером смотрел...... |
|
|
Дата: Фев 6, 2003 20:16:26 А если заменить .Data WSAData STRUCT wVersion dw 0 wHighVersion dw 0 szDescription db 257 dup(0);256+1 szSystemStatus db 129 dup(0);128+1 iMaxSockets dw 0 iMaxUpdDg dw 0 lpVendorInfo dd 0 WSAData ENDS На .Data WSAData db 398 dup (0) Что тогда? |
|
|
Дата: Фев 6, 2003 20:55:53 Тогда работает !!!!!! %(( Так это что, не работает определение струстуры??? Вернее её адресация......... Вроде правильно задал.... Мож знает кто ?? |
|
|
Дата: Фев 6, 2003 21:30:34 Я не пользуюсь TASM, но проблема наверное в следующем: .Data WSAData STRUCT ... WSAData ENDS просто определяет структуру, но не инициализирует её. Тогда, правильнее будет так: .Data WSADT STRUCT wVersion dw 0 wHighVersion dw 0 szDescription db 257 dup(0) szSystemStatus db 129 dup(0) iMaxSockets dw 0 iMaxUpdDg dw 0 lpVendorInfo dd 0 WSADT ENDS WSAData WSADT <> ; Или как там в TASM'е? |
|
|
Дата: Фев 6, 2003 22:27:24 Спасибо, так есть протормозил с определением структур...... |
|
|
Дата: Фев 6, 2003 23:09:37 Пользуйся masm32. Незря ж люди старались, что б вот такие ньюбисы, как ты, не тормозили. Все структуры в одном файле да и синтаксис очень похож на С. Вообщем твоё дело. |
|
|
Дата: Фев 7, 2003 03:09:07 Только не начинайте... MASM vs. TASM и т.д. и т.п. :) |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.074 |