Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Ср мар 29, 2017 12:35 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 344 сообщения ]  На страницу Пред. 117 18 19 20 2123 След.
Автор Сообщение
 Заголовок сообщения: Re: Вопрос
СообщениеДобавлено: Сб мар 05, 2016 9:12 pm 
Не в сети

Зарегистрирован: Сб ноя 14, 2015 11:15 am
Сообщения: 299
Yason , виндовые цвета, в частности вот эти:
ClBlack:=$000000; ClLime=$00FF00; ClBlue=$FF0000; СlRed=$0000FF;
надо преобразовать в КОС цвета
т. е. на переставить в DWORDе котрый PutPixel_color, байты, первый и третий !?... вроде так?!... хотя я уже сам сомневаюсь делая пробы и испытания... что-то не получается у меня добится соответствия того что мне нужно


Вернуться к началу
 Заголовок сообщения: Re: Вопрос
СообщениеДобавлено: Сб мар 05, 2016 9:26 pm 
Не в сети

Зарегистрирован: Сб ноя 14, 2015 11:15 am
Сообщения: 299
Yason и другие участники форума, пока всё! Спасибо! Разобрался что к чему!


Вернуться к началу
 Заголовок сообщения: Re: Вопрос
СообщениеДобавлено: Сб мар 05, 2016 9:55 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1112
Ужос то какой...

Если в регистре, то

bswap eax
ror eax, 8

Если в памяти, то

mov al, [pointer]
xchg [pointer+2], al
mov [pointer], al


Вернуться к началу
 Заголовок сообщения: Re: Вопрос
СообщениеДобавлено: Вс мар 06, 2016 12:54 am 
Не в сети
Аватара пользователя

Зарегистрирован: Сб сен 27, 2014 2:59 pm
Сообщения: 102
[quote="Pathoswithin"]Ужос то какой...

Если в регистре, то

bswap eax
ror eax, 8

Если в памяти, то

mov al, [pointer]
xchg [pointer+2], al
mov [pointer], al[/quote]

Во-первых, я не мастер оптимизаций. Во-вторых оптимизировать налету, не умею. Во-вторых, последним постом, я оптимизировал по скорости, пому как, предпочитаю скорость.

mov eax, dword [pixel_color1]
rol eax, 8
mov [pixel_color2], dword eax

Два обращения к памяти будут работать быстрее, чем твои 3. Но спорить не собираюсь - каждый пишет, кому как нравится.


Вернуться к началу
 Заголовок сообщения: Re: Вопрос
СообщениеДобавлено: Вс мар 06, 2016 12:56 am 
Не в сети
Аватара пользователя

Зарегистрирован: Сб сен 27, 2014 2:59 pm
Сообщения: 102
И кто, как умеет.


Вернуться к началу
 Заголовок сообщения: Re: Вопрос
СообщениеДобавлено: Вс мар 06, 2016 1:37 am 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1112
Твой последний вообще не правильный, получится 4,1,2,3.
Тогда уж будет

mov eax, [pixel_color1]
bswap eax
ror eax, 8
mov [pixel_color2], eax


Вернуться к началу
 Заголовок сообщения: Re: Вопрос
СообщениеДобавлено: Вс мар 06, 2016 1:40 am 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1112
Или

mov eax, [pixel_color1]
rol eax, 8
bswap eax
mov [pixel_color2], eax


Вернуться к началу
 Заголовок сообщения: Re: Вопрос
СообщениеДобавлено: Вс мар 06, 2016 3:47 am 
Не в сети
Аватара пользователя

Зарегистрирован: Сб сен 27, 2014 2:59 pm
Сообщения: 102
Так я в начале так и писал, только не оптимизировал. И ещё писал, что непомню где альфа канал распологается, и напмсал код в соответствии со своим предположением.


Вернуться к началу
 Заголовок сообщения: Re: Вопрос
СообщениеДобавлено: Вс мар 06, 2016 3:57 am 
Не в сети
Аватара пользователя

Зарегистрирован: Сб сен 27, 2014 2:59 pm
Сообщения: 102
Если б, знал бы точно, где альфа конал находится (так как не помню, а выяснять бало лень), написал бы правильно. Я ALEXS1983 просто набор команд дал, которыми можно оперировать, а там пусть сам решает, что ему лучше.


Вернуться к началу
 Заголовок сообщения: Re: Вопрос
СообщениеДобавлено: Вс мар 06, 2016 10:05 am 
Не в сети

Зарегистрирован: Сб ноя 14, 2015 11:15 am
Сообщения: 299
Ребята не спорьте! Я уже решил ту проблему!... и уже отписал об этом!


Вернуться к началу
 Заголовок сообщения: Re: Вопрос
СообщениеДобавлено: Вт мар 15, 2016 1:00 pm 
Не в сети

Зарегистрирован: Сб ноя 14, 2015 11:15 am
Сообщения: 299
Прошу помощи!
Вот процедура которая инициализирует таблицу адресами процедур для Case of , точнее говоря вырезка из таблицы

;Инициализация таблицы Case of
;= Таблица Case of
adrs rd 256
init_table_in_case_opcode:
mov[adrs+(4*0)],C00
.........................
.........................
mov[adrs+(4*11)],C0B
.........................
.........................
mov[adrs+(4*29)],C1D
mov[adrs+(4*30)],C1E
mov[adrs+(4*40)],C28
.........................
.........................
mov[adrs+(4*41)],C29
mov[adrs+(4*42)],C2A
mov[adrs+(4*253)],CFD
mov[adrs+(4*254)],CFE
mov[adrs+(4*255)],CFF
ret
;/конец = Таблица Case of


Вот процедура вызывающая соответствующую процедуру в зависимости от значения opcode.
(Каждая вызываемая процедура из таблицы заканчивается pop ebx ret)

i8080_do_opcodes_case_opcode_of:
push ebx
mov ebx,eax
mov eax,[opcode]
jmp dword [eax*4+adrs]

Правильно ли это реализовано ?


Вернуться к началу
 Заголовок сообщения: Re: Вопрос
СообщениеДобавлено: Вт мар 15, 2016 2:18 pm 
Не в сети

Зарегистрирован: Сб ноя 14, 2015 11:15 am
Сообщения: 299
Хочу дебагить свою программу. как значение регистра выводить в форму ?


Вернуться к началу
 Заголовок сообщения: Re: Вопрос
СообщениеДобавлено: Пн мар 21, 2016 8:34 pm 
Не в сети

Зарегистрирован: Сб ноя 14, 2015 11:15 am
Сообщения: 299
Допустим нужно реализовать вот такое:

1. ВРЕМЯ=0
2. выполнить процедуру
3. пока ВРЕМЯ<=20/1000 секунды — отдавать ресурсы другим приложения ну или пустой цикл, иначе идём дальше п.4.
4............

КАКУЮ ПРОЦЕДУРУ ИСПОЛЬЗОВАТЬ ДЛЯ РЕАЛИЗАЦИЯ ТАКОГО ?
Проблема в том что в Функция 5 (пауза) там есть миллисекунды, но это не совсем то, что нужно. А в Функция 3 (получить системное время) нет миллисекунд.
Чего я не знаю ? Что я не понимаю ?


Вернуться к началу
 Заголовок сообщения: Re: Вопрос
СообщениеДобавлено: Вт мар 22, 2016 3:42 pm 
Не в сети
Mentor/Kernel Developer
Аватара пользователя

Зарегистрирован: Чт мар 26, 2015 5:16 pm
Сообщения: 1112
Есть ещё функция 26.9


Вернуться к началу
 Заголовок сообщения: Re: Вопрос
СообщениеДобавлено: Чт мар 24, 2016 12:28 pm 
Не в сети

Зарегистрирован: Сб ноя 14, 2015 11:15 am
Сообщения: 299
А вот кто мне скажет, разъяснит, что это за тема такая пошла, что пишется
"
GSoC students, march 25 is a deadline for submitting final proposals.
Note: because of students' traditions in time management, GSoC site might fall on the last day and be unavailable. Beware and hurry!
"
Что это вообще такое с чем его едят ? :-) Акция какая-то ? Да и в чате чего-то там об этом пишется....
Где об этом можно почитать на РУССКОМ языке ?


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 344 сообщения ]  На страницу Пред. 117 18 19 20 2123 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


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

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB