Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Преобразование чисел (Ассемблер) / 9 сообщений из 9, страница 1 из 1
14.04.2007, 21:05
    #34461392
valsio
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование чисел (Ассемблер)
Народ, может кто знает, подскажите пожалуйста, как преобразовать простое десятичное число в двоичное с помощью ассемблера?
...
Рейтинг: 0 / 0
14.04.2007, 22:13
    #34461424
daevaorn
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование чисел (Ассемблер)
valsioНарод, может кто знает, подскажите пожалуйста, как преобразовать простое десятичное число в двоичное с помощью ассемблера?
какой ассемблер, для какой платформы и архитектуры?
...
Рейтинг: 0 / 0
14.04.2007, 23:17
    #34461464
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование чисел (Ассемблер)
valsioНарод, может кто знает, подскажите пожалуйста, как преобразовать простое десятичное число в двоичное с помощью ассемблера?

Вы хотите получить готовое решение на блюдечке, или чему-то научится?
...
Рейтинг: 0 / 0
15.04.2007, 21:45
    #34462034
dr-Wicked
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование чисел (Ассемблер)
Често говоря всегда думал, что числа бывают однобайтовые, двухбайтовые, четырёх и.т.д
Regards
dr-Wicked
...
Рейтинг: 0 / 0
16.04.2007, 11:27
    #34462855
valsio
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование чисел (Ассемблер)
dr-WickedЧесто говоря всегда думал, что числа бывают однобайтовые, двухбайтовые, четырёх и.т.д
Regards
dr-Wicked
Сор, просто написал, как есть, смысл то понятен ... На то он такой большой мир, чтобы так все перекручивать. ... гы :D .... ))))


mayton
Вы хотите получить готовое решение на блюдечке, или чему-то научится?
Второе. Просто, чтобы хорошенько все освоить не хватает времени. Интересует именно эта тема. Лит-ры много, а времени не очень, поэтому советуюсь.


daevaorn
какой ассемблер, для какой платформы и архитектуры?
WIN32, Можно встроеный под Delphi, хотя по программе универа нужно будет писать на чем то стандартном, а что оно может быть и не знаю.
...
Рейтинг: 0 / 0
16.04.2007, 11:49
    #34462958
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование чисел (Ассемблер)
valsio mayton
Вы хотите получить готовое решение на блюдечке, или чему-то научится?
Второе. Просто, чтобы хорошенько все освоить не хватает времени. Интересует именно эта тема. Лит-ры много, а времени не очень, поэтому советуюсь.

В регистрах машины, числа ВСЕГДА хранятся в двоичной системе. Воспользуйтесь этим свойством. Вам необходимо лишь проверять состояние крайнего бита, и выводить "0" или "1" в зависимости от состояния, а затем делать "сдвиг" всех битов.
...
Рейтинг: 0 / 0
16.04.2007, 12:23
    #34463100
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование чисел (Ассемблер)
valsioНарод, может кто знает, подскажите пожалуйста, как преобразовать простое десятичное число в двоичное с помощью ассемблера?твой одногруппник здесь уже был http://www.sql.ru/forum/actualthread.aspx?tid=418650
...
Рейтинг: 0 / 0
19.04.2007, 13:15
    #34472567
valsio
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование чисел (Ассемблер)
mayton
В регистрах машины, числа ВСЕГДА хранятся в двоичной системе. Воспользуйтесь этим свойством. Вам необходимо лишь проверять состояние крайнего бита, и выводить "0" или "1" в зависимости от состояния, а затем делать "сдвиг" всех битов.

Может вопросы и код будут глупыми, сор зарание ;)
Это написано на встроеном ассеблере под Borland.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
function NumberSummToBin(Num1, Num2 : integer) : integer;
var
  IX : integer;
begin
  asm
    MOV EAX, DWORD PTR Num1 
    MOV ECX, DWORD PTR Num2

    MOV EDX, BYTE PTR EAX 
    MOV EDI, BYTE PTR ECX

    MOV IX, EDX
    ADD IX, EDI

  end;
  Result :=  IX;
end;

В отношении типов, регистров DWORD, BYTE. К примеру если Num1 := 7777, тогда регитр EAX будет содержать, два двойних слова, 77 и 77 ?
А регистр EDX = 4 байта ?

Как правильно прочитать побитно регист EDX?

Пробовал с массивом челочисленых:
ar : array [1..5] of integer = (2, -5, 8, 1, -4);
там все просто:
MOV EAX, DWORD PTR ar = 2,
MOV EAX, DWORD PTR ar + 4 = -5,
MOV EAX, DWORD PTR ar + 8 = 8.
...
Рейтинг: 0 / 0
19.04.2007, 14:03
    #34472767
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Преобразование чисел (Ассемблер)
Как представлено десятичное число ? (строка, BCD)

P.S. Только что проверил - на яндексе работает поиск и находится даже готовый код.
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Преобразование чисел (Ассемблер) / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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