OberonCore https://forum.oberoncore.ru/ |
|
Получить беззнаковое значение BYTE https://forum.oberoncore.ru/viewtopic.php?f=29&t=4183 |
Страница 1 из 1 |
Автор: | Илья Ермаков [ Вторник, 11 Декабрь, 2012 02:14 ] |
Заголовок сообщения: | Получить беззнаковое значение BYTE |
Мне приходится использовать такую процедуру: Код: CONST littleEndian PROCEDURE UByte* (x: BYTE): INTEGER; VAR u: INTEGER; BEGIN u := 0; IF littleEndian THEN SYSTEM.PUT(S.ADR(u), x); ELSE HALT(126) END; RETURN u END UByte; Может быть, я не вижу варианта сделать это без модуля SYSTEM? |
Автор: | Alexander Shiryaev [ Вторник, 11 Декабрь, 2012 04:06 ] |
Заголовок сообщения: | Re: Получить беззнаковое значение BYTE |
x MOD 100H ORD(SHORT(CHR(x))) |
Автор: | Борис Рюмшин [ Вторник, 11 Декабрь, 2012 17:15 ] |
Заголовок сообщения: | Re: Получить беззнаковое значение BYTE |
Илья Ермаков писал(а): Может быть, я не вижу варианта сделать это без модуля SYSTEM? Мог бы у нас спросить)))) Нет, черезмерное употребление SYSTEM вредно для здоровья. |
Автор: | Илья Ермаков [ Вторник, 11 Декабрь, 2012 18:36 ] |
Заголовок сообщения: | Re: Получить беззнаковое значение BYTE |
Спасибо! |
Автор: | Пётр Кушнир [ Вторник, 11 Декабрь, 2012 18:59 ] |
Заголовок сообщения: | Re: Получить беззнаковое значение BYTE |
Борис Рюмшин писал(а): Нет, черезмерное употребление SYSTEM вредно для здоровья. Авторы SystemStores считают иначе, судя по всему. Хотя обойтись без SYSTEM там можно, это они так ресурсы экономили?
|
Автор: | Борис Рюмшин [ Вторник, 11 Декабрь, 2012 20:47 ] |
Заголовок сообщения: | Re: Получить беззнаковое значение BYTE |
Сложно сказать. Иногда это оправдано, иногда некоторые трюки даже оптимальнее... Лучше лишний раз подумать, прежде чем использовать SYSTEM. Илье Евгеньевичу это сложно сделать --- у него задачи регулярно близко к ядру приближаются, вот он и привыкает |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |