Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
1963Victor
0 / 0 / 0
Регистрация: 29.10.2014
Сообщений: 134
1

Вывести младшее слово через переменную [Delphi + Assembler]

20.06.2015, 12:25. Просмотров 271. Ответов 5
Метки нет (Все метки)

Здравствуйте. Не могу вывести младшие слово из аккумулятора в переменную.Заранее благодарю.
Компилятор говорит, не совместимы mov a,ax
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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  
  a: integer;
 begin
  asm
 
 
   mov eax,16777216
   bswap eax
   mov a,ax
 
  end;
  ListBox1.Items.Add(IntToStr(a)+' Ñîäåðæèìîå ÿ÷åéêè ');
  
 
end;
 
end.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2015, 12:25
Ответы с готовыми решениями:

Разбить 32-х разрядное число на старшее и младшее слово
Нужно сделать функцию с ассемблерной вставкой на С++, которая будет разбивать число которое...

Вывести данные из матрицы (Delphi + Assembler)
Здравствуйте, из памяти не все данные выводятся в автомате правильно, если подставлять вручную...

Как вывести дробное число. Delphi+Assembler
Здравствуйте. Как вывести дробное число с фиксированной точкой в Delphi FloatToStr, если это слово...

Ввести строку и слово. Вывести те слова, которые не содержат букв, входящих в слово (через <stdio.h>)
Помогите плз...лучше с пояснениями

Как взять слово целиком в Char переменную если оно через дефис (-)
Всем доброго времени суток. Есть такая проблема, не могу понять как взять слово целиком если оно...

5
Ethereal
5892 / 2040 / 273
Регистрация: 17.02.2013
Сообщений: 3,046
20.06.2015, 12:36 2
Дык a - 32-битная переменная, а ax - 16-битный регистр. Правильно говорит.

Добавлено через 2 минуты
mov eax,16777216
and eax, 0FFFFh
mov a,eax

Добавлено через 1 минуту
Цитата Сообщение от 1963Victor Посмотреть сообщение
bswap eax
Эта команда для перехода от большого эндиана к малому и от малого к большому. Она тут как-бы ни к чему.
1
Charles Kludge
Клюг
7648 / 3163 / 383
Регистрация: 03.05.2011
Сообщений: 8,381
20.06.2015, 13:21 3
Цитата Сообщение от 1963Victor Посмотреть сообщение
Компилятор говорит, не совместимы mov a,ax
Дык, объявите a как short или smallint.
1
1963Victor
0 / 0 / 0
Регистрация: 29.10.2014
Сообщений: 134
21.06.2015, 18:44  [ТС] 4
Здравствуйте. Покажите пожалуйста, как объявить a short или smallint. Сделал так, не помогает.
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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  
  a: short integer;
 begin
  asm
 
 
   mov eax,16777216
   bswap eax
   mov a,ax
 
  end;
  ListBox1.Items.Add(IntToStr(a)+' Ñîäåðæèìîå ÿ÷åéêè ');
  
 
end;
 
end
0
Ethereal
5892 / 2040 / 273
Регистрация: 17.02.2013
Сообщений: 3,046
21.06.2015, 18:59 5
Pascal
1
var  a: word;
если надо a беззнаковое
Pascal
1
var  a: smallint;
если надо a знаковое

Добавлено через 1 минуту
В обоих случаях a - 16-битное целое.
1
1963Victor
0 / 0 / 0
Регистрация: 29.10.2014
Сообщений: 134
21.06.2015, 20:19  [ТС] 6
Большое спасибо, все получилось.
0
21.06.2015, 20:19
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.06.2015, 20:19

Вывести текст через программу в Delphi через COMPort на бегущую строку
Доброго времени суток, форумчане! Дали задание вывести через COMPort текст на табло(бегущую...

Как вывести переменную string через cout?
Я думаю из кода все понятно станет #include &quot;stdafx.h&quot; #include &quot;iostream&quot; #include &quot;ctime&quot;...

Как переменную вывести в комбобокс через таймер
в комбобокс 3 выбираем секунды и нажимаем &quot;старт&quot;. после нажатия в комбобокс 3 должно число...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru