Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 24.01.2007, 00:16   #1
Cezar
Средний прогер
Форумчанин
 
Аватар для Cezar
 
Регистрация: 16.01.2007
Адрес: Украина/Ровно
Сообщений: 123
Репутация: 57
Вопрос БайтоРезка.

У меня очень простая проблема, но я ее не догоняю. И так.

Есть четырехбайтовая переменная целого типа Color (двойное слово - DWORD), и четыре переменные байтового типа: Z, R, G, B.
Задача: разделить Color на отдельные байты и переслать их в байтовые переменные. В Асме новичок, а на Паскале решить не получается . Очень нужно. Просьба кидать готовый исходник, и принцип его действия не помешает.

ЗЫ. FORTRAN FOREVER!!!.
Cezar вне форума   Ответить с цитированием
Старый 24.01.2007, 10:01   #2
Квэнди
Профессионал
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Адрес: Москва
Сообщений: 3,859
Репутация: 1192

icq: 637233
По умолчанию

1.
Colortorgb +F1
Getrvaluew+f1
Getgvalue +f1
Getbvalue +f1
это в Delphi.
__________________
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума   Ответить с цитированием
Старый 24.01.2007, 10:20   #3
zetrix
Delphi/C++/C#
Профессионал
 
Аватар для zetrix
 
Регистрация: 29.10.2006
Сообщений: 1,972
Репутация: 626
По умолчанию

На Паскале:
Код:
var color:longint;
    z,r,g,b:byte;
begin
Write('Введите переменую color: ');
Readln(color);
 asm
 xor al, al
 mov al, byte ptr color[0]
 mov z, al
 mov al, byte ptr color[1]
 mov r, al
 mov al, byte ptr color[2]
 mov g, al
 mov al, byte ptr color[3]
 mov b, al
 end;
Writeln('Z=',z);
Writeln('R=',r);
Writeln('G=',g);
Writeln('B=',b);
Readln;
end.
В z заносится 1-ый байт числа Color, в R-второй, G-третий, B-четвёртый.
zetrix вне форума   Ответить с цитированием
Старый 27.01.2007, 13:52   #4
Cezar
Средний прогер
Форумчанин
 
Аватар для Cezar
 
Регистрация: 16.01.2007
Адрес: Украина/Ровно
Сообщений: 123
Репутация: 57
По умолчанию

Zetrix, большое спасибо, очень выручил.
Cezar вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


13:27.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.