Люди, подскажите пожалуйста как сделать структуру wsadata базонезависимой ? Да, и еще правильно ли объявил и заполнил структуру sockaddr_in call sock dw 0 ;family dw 0 ;port dd 0 ;adr db 8 dup(0) sock: pop ecx ;ЗАПОЛНЕНИЕ mov ecx,AF_INET invoke htons,6969 add ecx,2 mov ecx,eax ; порт в сетевом порядке байт invoke inet_addr, addr AdresIP add ecx,4 mov ecx,eax ; помещаем в структуру айпи в нужном порядке байт Буду очень признателен за разъяснения .
JohnGalt, Стóит изучить: * разницу между указателем и тем, на что оный указывает (ecx и [ecx], к примеру); * как правильно преобразовать low-endian (a.k.a. host формат данных для ix86) константы в big-endian (a.k.a. network формат); * отчего нет необходимости объявлять пустую константу и тут же её затирать нужным значением; * почему не всегда стоит совать 32 бита туда, где обычно 16 бит живут. Базонезависимость была достигнута с помощью call/pop, остались детали (типа выравнивания .