powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Не работает DB в дельфи
10 сообщений из 10, страница 1 из 1
Не работает DB в дельфи
    #36493384
Фотография Master4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
 asm 
DB 'abcd$'
 and ;

программа сразу закрывается без ошибок. Причина? 10 байт строка "Она Идеальна!!!" идеальна потому что я не вижу в ней ошибок.

Не работает! Причина?
...
Рейтинг: 0 / 0
Не работает DB в дельфи
    #36493520
Фотография Master4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все кто не прочь потрепаться замолчали вдруг.. Сказать нечего.. в форуме 'треп' все крутые, а тут потрепаться сразу в кусты.
...
Рейтинг: 0 / 0
Не работает DB в дельфи
    #36493567
Vowk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Master4,
поставь jmp между asm и DB.
...
Рейтинг: 0 / 0
Не работает DB в дельфи
    #36493576
Фотография Master4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vowk,
а какая разница? jmp это переход на адрес... толку от вашего JMP?

Клоуна чтоль делаете из меня?
...
Рейтинг: 0 / 0
Не работает DB в дельфи
    #36493579
Siemargl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Master4Vowk,
а какая разница? jmp это переход на адрес... толку от вашего JMP?

Клоуна чтоль делаете из меня?

Ты и сам справляешься.

Поставь брекпоинт и посмотри на ассемблерный код, что получается.
...
Рейтинг: 0 / 0
Не работает DB в дельфи
    #36493584
Vowk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Master4,
вот посмотри, может понравится
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
procedure TForm1.Button1Click(Sender: TObject);
var x : Integer;
begin
  x:= 0 ;
 asm
   jmp @start
@byte1:
   db  15 , 30 
@start:
  xor eax,eax
  mov al, byte ptr [@byte1+ 1 ]
  mov x,eax
  end;
  ShowMessage(IntToStr(x ) ) ;
end;
end.
...
Рейтинг: 0 / 0
Не работает DB в дельфи
    #36493587
Фотография Master4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Siemargl,

дак дело в том что я не вижу здесь ошибки со своей стороны... почему оно не работает я не понимаю..

DB записать байт..

Зацените:

Код: plaintext
1.
//программу вышибает без ошибок
DB 'abcd$'
Код: plaintext
1.
2.
//messagebox: access violation
DB '123$'

я похоже чего-то не знаю или компилятор..

поставил брейкпоинт, вместо асма всё в вопросительных знаках
...
Рейтинг: 0 / 0
Не работает DB в дельфи
    #36493589
Фотография Master4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vowk, работает.
...
Рейтинг: 0 / 0
Не работает DB в дельфи
    #36493593
Vowk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Master4,
ошибка в том, что в сегменте кода размещаются элементы данных. Процессор "не знает" об этом, и пытается выполнить "abcd$" (уж не знаю, какая там команда выходит). Если уж позарез надо данные в DB, то их надо обойти , т.е. поставить jmp перед DB. Однако в этом случае данные будут выполнять свою роль наполовину - читать можно, а записывать нельзя ( потому что в сегменте кода в защищенном режиме нельзя изменять ничего). Так что смысла DB в Delphi + ASM почти никакого. Надо объявлять переменные в Delphi и использовать их имена в asm (только чтобы не совпадали с именами регистров).
...
Рейтинг: 0 / 0
Не работает DB в дельфи
    #36493595
Фотография Master4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vowk,

Вот, спасибо! объяснил доступно.
Тота я думаю, чего это в борландских юнитах не размещаются данные с db,dw т.д.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Не работает DB в дельфи
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]