Вставка Assembler в Delphi - Не получается загрузить в аккумулятор eax данные
Формулировка задачи:
Здравствуйте не могу загрузить в аккумулятор eax данные, компилятор отрабатывает, аккумулятор показывает 4354936. Покажите с примером, как это сделать, заранее благодарю.
unit Assembler; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) ListBox1: TListBox; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var eax,c: integer; begin asm mov eax,3 mov c,2 imul eax,c end; ListBox1.Items.Add(IntToStr(eax)+' '); end; end. interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) ListBox1: TListBox; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var c: integer; begin asm mov eax,3 mov c,2 imul eax,c end; ListBox1.Items.Add(IntToStr(eax)+' '); end; end.
Решение задачи: «Вставка Assembler в Delphi - Не получается загрузить в аккумулятор eax данные»
textual
Листинг программы
procedure TForm1.Button1Click(Sender: TObject); var a,c: integer; begin c:=2; asm mov eax,3 imul c mov a,eax end; ListBox1.Items.Add(IntToStr(a)+' '); end;
Объяснение кода листинга программы
- Объявлены две переменные: a и c типа integer.
- Значение переменной c установлено в 2.
- Выполняется ассемблерный блок с тремя инструкциями:
- mov eax,3 - значение переменной eax устанавливается равным 3.
- imul c - значение переменной eax умножается на значение переменной c.
- mov a,eax - значение переменной a устанавливается равным значению переменной eax.
- В список элементов добавляется строка, содержащая значение переменной a, с добавлением пробела в конец.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д