Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Borland Delphi 6 + asm [D6, XP]


Страницы:   1 2

Windows ©   (2007-10-04 20:34:00) 

Здравствуйте. Никак не могу понять, как записать значение в память
mov ax, 0b800h
mov es, ax - вылетает... Хотя не должно.
так же
mov ax, 0b800h
mov bx, 10h
mov [ax], bx - вылетает.

Объясните пожалуйста, как нада правильно писать в память)


Anatoly Podgoretsky   (2007-10-04 21:53:00) [21]

> palva  (04.10.2007 21:50:12)  [12]

Работает? Тогда ты в рубашке родился.


palva   (2007-10-04 21:50:00) [22]

Регистр ax не допускает косвенную адресацию. Ее можно делать для bx,bp,si,di и их четырехбайтных аналогов ebx,ebp,esi,edi
Вот такой код работает:

procedure TForm1.Button1Click(Sender: TObject);
var
 i: Integer;
begin
 i := 64;
 asm
lea ebx, i
mov eax, 777
mov [ebx], eax
 end;
 Form1.Caption := IntToStr(i)
end;


Anatoly Podgoretsky   (2007-10-04 21:47:00) [23]

> Windows  (04.10.2007 21:46:10)  [10]

Куда лезешь в ассемблер, в котором ничего не понимаешь, освой сначала Паскаль.


Windows   (2007-10-04 21:46:00) [24]

asm
   jmp @start
   @data_:
   @perem: dw 2
   @start:

 end;
Как записать данные в @perem... Вот, что меня интересует. Спасибо.


engine   (2007-10-04 21:42:00) [25]

> [7] Windows ©   (04.10.07 21:40)

Переменная := Значение;


Anatoly Podgoretsky   (2007-10-04 21:42:00) [26]

> Windows  (04.10.2007 21:40:07)  [7]

В переменную просто

var := Value;


Windows   (2007-10-04 21:40:00) [27]

А как тогда записать значение в переменную?


Anatoly Podgoretsky   (2007-10-04 21:39:00) [28]

> Windows  (04.10.2007 21:32:05)  [5]

В таком случае ты не знаешь, что на пользовательском уровне физическая память недоступна и она не используется явно пользовательскими программами.


Windows   (2007-10-04 21:32:00) [29]

Вообще, я не имею ввиду конкретно любой адрес памяти. Это я привел для примера. В моем случаи там указывается адрес переменной.


Anatoly Podgoretsky   (2007-10-04 21:28:00) [30]

А раз ты не знаешь, что в этом коде делается, то нафига тебе он?


DVM   (2007-10-04 21:28:00) [31]


> Я даже не знаю, что такое писать в видиопамять

а вы, извиняюсь, вообще знаете, что делаете в написанном?


Windows   (2007-10-04 21:26:00) [32]

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


palva   (2007-10-04 20:47:00) [33]

Я понял так, что вы пытаетесь писать в видеопамять. Под Windows это не получится. Перезагружайтесь в DOS и там пишите на здоровье.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо