Русский / Russian English / Английский

Сейчас на форуме: Atlant1111, pittik, Gideon Vi, tusofka (+2 невидимых)
 · Начало · Статистика · Регистрация · Поиск · ПРАВИЛА ФОРУМА · Язык · RSS ·

 eXeL@B —› Программирование —› Заменить старший байт
Посл.ответ Сообщение

Ранг: 11.7 (новичок)
Статус: Участник

Создано: 14 марта 2020 00:52 · Поправил: Ate New!
Цитата · Личное сообщение · #1

Нужна была функция для преобразования значения цвета BGR <-> RGB с принудительной установкой альфы, написал так:

Code:
  1. mov dword eax, Color
  2. bswap eax
  3. ror eax, 8
  4.  
  5. ; принудительная установка альфы в 255
  6. ror eax, 24
  7. mov al, 0xFF
  8. rol eax, 24


почему-то думаю можно как-то проще заменить старший байт (последние три инструкции)


Ранг: 556.5 (!)
Статус: Участник
оптимист

Создано: 14 марта 2020 01:10 New!
Цитата · Личное сообщение · #2

Code:
  1. OR EAX,0FF0

?

| Сообщение посчитали полезным: Ate


Ранг: 152.6 (ветеран)
Статус: Участник

Создано: 14 марта 2020 01:30 New!
Цитата · Личное сообщение · #3

Code:
  1. shl eax, 8
  2. mov al, 0xFF
  3. bswap eax

| Сообщение посчитали полезным: Ate


Ранг: 11.7 (новичок)
Статус: Участник

Создано: 14 марта 2020 02:05 New!
Цитата · Личное сообщение · #4

Спасибо, то что нужно.

Ранг: 7.5 (гость)
Статус: Участник

Создано: 14 марта 2020 03:24 New!
Цитата · Личное сообщение · #5

ClockMan пишет:
OR EAX,0FF0

Почему маска странная? Опечатка?

Ранг: 44.3 (посетитель)
Статус: Участник

Создано: 14 марта 2020 05:37 New!
Цитата · Личное сообщение · #6

Вообще то какбэ or eax, 0xFF000000
 eXeL@B —› Программирование —› Заменить старший байт

Видеокурс ВЗЛОМ