![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Borland Delphi 6 + asm [D6, XP]
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 и там пишите на здоровье.