Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Delphi/Asm, вставки в делфи 
:(
    Опции темы
ne0n
Дата 23.11.2005, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

Репутация: 1
Всего: 11



Цитата(oleg1973 @ 23.11.2005, 17:29)
а дельфи в асм вставках поддерживает DD или DB ?

еслибы я знал асм я бы ответил!!!
PM MAIL ICQ   Вверх
Alexeis
Дата 24.11.2005, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



Цитата
а дельфи в асм вставках поддерживает DD или DB ?

Создание новых переменных в asm вставках невозможно!!!


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
oleg1973
Дата 24.11.2005, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 1
Всего: 34



alexeis1
это не переменные
оно зарезервирует в случае с DD 4 байта при компиляции
или если сделать DB "HELLO WORLD" то "воткнет" текст непосредственно в код


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
ne0n
Дата 25.11.2005, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


PlayBoy
**


Профиль
Группа: Участник
Сообщений: 733
Регистрация: 5.8.2005
Где: Н.Новгород

Репутация: 1
Всего: 11



Ну понятно, по ходу ни кто не знает smile
Блин конкретный облом!!!
Спасибо тем кто хоть попытался помочь!!!
PM MAIL ICQ   Вверх
Ciber SLasH
Дата 26.11.2005, 06:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: нет
Всего: 67



Цитата(ne0n)
Ну понятно, по ходу ни кто не знает

Ты бы лучше код выложил, тогда бы знали над чем работать !!
PM   Вверх
oleg1973
Дата 26.11.2005, 10:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 1
Всего: 34



Код

begin
asm
  jmp go
pc:
   db 'xaxaxa',0
pt:
   db 'xoxoxo',0
go:
  pushad
  push MB_YESNO
  push pc
  push pt
  push 0
  call MessageBoxA
  popad
end;
end;

пробуй (к меня дельфи нет)

п.с.
запаришся ты без знания асма протектор писать - это однозначно


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Ciber SLasH
Дата 26.11.2005, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1813
Регистрация: 9.11.2004
Где: С.-Петербург

Репутация: нет
Всего: 67



Вот рабочее:
Код
  asm
        jmp @go
    @pc:
        db 'xaxaxax',0
    @pt:
        db 'xoxoxo',0
    @go:
        pushad
        push MB_YESNO
        push OFFSET @pc
        push OFFSET @pt
        push 0
        call MessageBoxA
        popad
  end;

Кстати в Delphi есть хэлп по работе с асмом: "Кнопка Пуск -> Borland Delphi 7 -> Help -> Object Pascal Reference -> раскрываем узел: Delphi Language Guide -> предпоследний пункт: Inline assembly code"

Привожу пример к Delphi7, т.к. у меня только эта версия.

Это сообщение отредактировал(а) Ciber SLasH - 27.11.2005, 12:53
PM   Вверх
RideX
Дата 28.11.2005, 17:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Awaiting Authorisation
Сообщений: 94
Регистрация: 8.9.2004

Репутация: 4
Всего: 7



Цитата(ne0n @ 22.11.2005, 20:55)
процедуру проверки crc не могу(т.к она долхна быть на asm'e)


Код

.const
   CRCPoly    equ   0EDB88320h
   _fmtHEX    TCHAR '%08X',0

.data?
   hFile          HANDLE ?
   hFileMap    HANDLE ?
   pMemory    LPCVOID ?
   fSize          DWORD ?
   szFileName TCHAR MAX_PATH dup(?)
   CRCTable    DWORD 256 dup(?)

.code
 start:
   call CreateTable

   mov hFile,eax

   invoke GetFileSize, hFile, NULL
   mov fSize, eax
   invoke CreateFileMapping, hFile, NULL, PAGE_READWRITE, 0, fSize, NULL
   mov hFileMap,eax
   invoke MapViewOfFile, hFileMap, FILE_MAP_ALL_ACCESS, 0, 0, 0
   mov pMemory,eax

   push fSize
   push pMemory
   call CRC32

   push esi
   mov esi,eax

   invoke UnmapViewOfFile, pMemory
   invoke CloseHandle,hFileMap
   invoke CloseHandle,hFile

   invoke wsprintf, addr buff, addr _fmtHEX, esi
   invoke SetDlgItemText, hMainWnd, IDC_EDIT02, addr buff
   pop esi
@@:
;...
CreateTable proc uses ebx esi edi
    mov edi,offset CRCTable - 4
    xor ecx,ecx

m0:
    mov eax,ecx
    add edi,4
    mov esi,8
    @@:
    shr eax,1    
    sbb edx,edx  
    and edx,CRCPoly
    xor eax,edx
    sub esi,1
    jnz @b
    add ecx,1
    mov dword ptr[edi],eax
    cmp ecx,256
    jb m0
    ret
CreateTable endp

CRC32 proc lpData:DWORD, DataSize:DWORD
    push esi
    mov esi,lpData
    xor edx,edx
    or  eax,0FFFFFFFFh
    mov ecx, DataSize

    @@:
    mov dl, byte ptr[esi]
    xor dl, al
    shr eax, 8
    xor eax, dword ptr[CRCTable + 4*edx]
    add esi,1
    sub ecx,1
    jnz @b

    not eax
    pop esi
    ret
CRC32 endp

end start

PM   Вверх
DemoCode
Дата 1.12.2005, 21:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 890
Регистрация: 20.10.2005
Где: Россия

Репутация: 2
Всего: 41



Цитата
Спасибо(жалко что на англицком, ну да ладно)!!!

neOn, вот на русском

Использование ассемблера в Дельфи
http://podgoretsky.com/ftp/Docs/Delphi/basm/basmru.zip


--------------------
Жить стало лучше, жить стало веселей
© И.В. Сталин 
PM MAIL ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0778 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.