ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #631  
Старый 05.11.2009, 01:33
Аватар для ZET36
ZET36
Участник форума
Регистрация: 08.10.2007
Сообщений: 259
Провел на форуме:
500748

Репутация: 137
По умолчанию

тоже бы не отказался от примера работы с сокетами на асме

Последний раз редактировалось ZET36; 05.11.2009 в 01:38..
 
Ответить с цитированием

  #632  
Старый 05.11.2009, 01:57
Аватар для d_x
d_x
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..
 
Ответить с цитированием

  #633  
Старый 09.11.2009, 12:28
Аватар для alexcomb
alexcomb
Новичок
Регистрация: 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..
 
Ответить с цитированием

  #634  
Старый 09.11.2009, 13:37
Аватар для slesh
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

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 ?
 
Ответить с цитированием

  #635  
Старый 09.11.2009, 13:41
Аватар для d_x
d_x
Reservists Of Antichat - Level 6
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме:
4137635

Репутация: 2407


По умолчанию

movzx cx, BUFER_LEN
 
Ответить с цитированием

  #636  
Старый 09.11.2009, 21:21
Аватар для alexcomb
alexcomb
Новичок
Регистрация: 09.11.2009
Сообщений: 3
Провел на форуме:
3130

Репутация: 0
По умолчанию

Спасибо slesh. На масме получается так:
Код:
mov ah,40h
lea dx,BUF
mov ch,00
mov cl,byte ptr [BUFER_LEN]
int 21h
 
Ответить с цитированием

  #637  
Старый 09.11.2009, 21:54
Аватар для d_x
d_x
Reservists Of Antichat - Level 6
Регистрация: 25.03.2008
Сообщений: 670
Провел на форуме:
4137635

Репутация: 2407


По умолчанию

Цитата:
mov ch,00
mov cl,byte ptr [BUFER_LEN]
Это эквивалентно на масме той единственной команде, которая выше в моем предыдущем посте.
 
Ответить с цитированием

  #638  
Старый 09.11.2009, 22:19
Аватар для alexcomb
alexcomb
Новичок
Регистрация: 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
-
 
Ответить с цитированием

  #639  
Старый 10.11.2009, 10:12
Аватар для slesh
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

Кстати, как отладчик для DOS COM-программы лично мне нравился не стандартный debug, а прожка под названием avputil.com входящяя в состав старинного антивируса AVP (ныне это каспер) и там был более менее норм отладчик.

Хотя как вариант еще юзать отладчик который поставляется в комплекте с Borland Pascal/C++ тоже можно юзать.
 
Ответить с цитированием

  #640  
Старый 10.11.2009, 18:54
Аватар для SENTRY
SENTRY
Новичок
Регистрация: 28.07.2009
Сообщений: 4
Провел на форуме:
177648

Репутация: 0
По умолчанию

Какбы такой вот простой вопрос:
Как в masm выводить строку в консоль?
Традиционный код

Код:
mov eax,09
lea edx,strt
int 21h
при после компиляции и запуска приложения показывает стандартное окно с отправкой отчета.

Последний раз редактировалось SENTRY; 10.11.2009 в 19:49..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопросы для новичков! (faq) PEPSICOLA С/С++, C#, Delphi, .NET, Asm 92 14.05.2010 17:59
Обзор программ для очистки жёсткого диска v1ru$ Soft - Windows 21 17.01.2010 21:07
ОС с нуля z01b С/С++, C#, Delphi, .NET, Asm 36 03.07.2008 15:30
Лучший софт для Linux _-Ramos-_ Soft - *nix 11 15.01.2008 12:08
Взлом Unix а silveran *nix 4 21.12.2005 22:46



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ