Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

05.11.2009, 01:33
|
|
Участник форума
Регистрация: 08.10.2007
Сообщений: 259
Провел на форуме: 500748
Репутация:
137
|
|
тоже бы не отказался от примера работы с сокетами на асме
Последний раз редактировалось ZET36; 05.11.2009 в 01:38..
|
|
|

05.11.2009, 01:57
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме: 4137635
Репутация:
2407
|
|
Вот хороший пример работы с сокетами (HTTP-протокол, сокс5, прокси):
http://kaimi.ru/?p=455
Правда, в этой версии библиотеки не реализована возможность задавать таймауты, думаю, что в скором времени я ее обновлю.
Последний раз редактировалось d_x; 05.11.2009 в 02:01..
|
|
|

09.11.2009, 12:28
|
|
Новичок
Регистрация: 09.11.2009
Сообщений: 3
Провел на форуме: 3130
Репутация:
0
|
|
Подскажите почему в lea cx,[BUFER_LEN] заносится адрес, а не данные по этому смещению. Мне нужно в "cx" вставить длину строки, которая в "BUFER_LEN". Подскажите, а то я все перепробовал что знаю.
Код:
q segment
org 100h
start:
mov ah,3ch
lea dx,FILE
mov cx,0
int 21h
mov ax,3d10h
lea dx,FILE
int 21h
mov bx,ax
mov ah,0ah
lea dx,BUFER
int 21h
mov ah,40h
lea dx,BUF
lea cx,[BUFER_LEN]
int 21h
mov ah,3eh
int 21h
ret
;---------data---------
FILE db "1.txt",0
BUFER label byte
BUFER_MAX db 254
BUFER_LEN db ?
BUF equ $
q ends
end start
Последний раз редактировалось alexcomb; 09.11.2009 в 13:02..
|
|
|

09.11.2009, 13:37
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
lea cx,[BUFER_LEN] - LEA - загрузка эффективного адреса, а не данных. Юзай MOV
Но не забывай про типы данных.
Регистр CX - 16 битный, а
BUFER_LEN db ? - 8 битный
Так что делай так:
mov cx, BUFER_LEN или mov cx, [BUFER_LEN] или mov cx, word [BUFER_LEN] или mov cx, word ptr [BUFER_LEN] ; зависит от компилятора
........
BUFER_LEN dw ?
|
|
|

09.11.2009, 13:41
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме: 4137635
Репутация:
2407
|
|
movzx cx, BUFER_LEN
|
|
|

09.11.2009, 21:21
|
|
Новичок
Регистрация: 09.11.2009
Сообщений: 3
Провел на форуме: 3130
Репутация:
0
|
|
Спасибо slesh. На масме получается так:
Код:
mov ah,40h
lea dx,BUF
mov ch,00
mov cl,byte ptr [BUFER_LEN]
int 21h
|
|
|

09.11.2009, 21:54
|
|
Reservists Of Antichat - Level 6
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме: 4137635
Репутация:
2407
|
|
mov ch,00
mov cl,byte ptr [BUFER_LEN]
Это эквивалентно на масме той единственной команде, которая выше в моем предыдущем посте.
|
|
|

09.11.2009, 22:19
|
|
Новичок
Регистрация: 09.11.2009
Сообщений: 3
Провел на форуме: 3130
Репутация:
0
|
|
После компиляции с "movzx" файл почемуто увеличивается на 16 байт посравнению с предыдущим. Программа ничего не делает, а в отладчике вот это:
Код:
D:\MASM611\BIN>DEBUG 3.COM
-R
AX=0000 BX=0000 CX=004A DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=13FE ES=13FE SS=13FE CS=13FE IP=0100 NV UP EI PL NZ NA PO NC
13FE:0100 B43C MOV AH,3C
-T
AX=3C00 BX=0000 CX=004A DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=13FE ES=13FE SS=13FE CS=13FE IP=0102 NV UP EI PL NZ NA PO NC
13FE:0102 66 DB 66
-T
AX=3C00 BX=0000 CX=004A DX=0000 SP=FFFE BP=0000 SI=0000 DI=0000
DS=13FE ES=13FE SS=13FE CS=13FE IP=0105 NV UP EI PL NZ NA PO NC
13FE:0105 42 INC DX
-T
AX=3C00 BX=0000 CX=004A DX=0001 SP=FFFE BP=0000 SI=0000 DI=0000
DS=13FE ES=13FE SS=13FE CS=13FE IP=0106 NV UP EI PL NZ NA PO NC
13FE:0106 0100 ADD [BX+SI],AX DS:0000=20CD
-
|
|
|

10.11.2009, 10:12
|
|
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме: 3288241
Репутация:
3349
|
|
Кстати, как отладчик для DOS COM-программы лично мне нравился не стандартный debug, а прожка под названием avputil.com входящяя в состав старинного антивируса AVP (ныне это каспер) и там был более менее норм отладчик.
Хотя как вариант еще юзать отладчик который поставляется в комплекте с Borland Pascal/C++ тоже можно юзать.
|
|
|

10.11.2009, 18:54
|
|
Новичок
Регистрация: 28.07.2009
Сообщений: 4
Провел на форуме: 177648
Репутация:
0
|
|
Какбы такой вот простой вопрос:
Как в masm выводить строку в консоль?
Традиционный код
Код:
mov eax,09
lea edx,strt
int 21h
при после компиляции и запуска приложения показывает стандартное окно с отправкой отчета.
Последний раз редактировалось SENTRY; 10.11.2009 в 19:49..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|