[an error occurred while processing this directive] [an error occurred while processing this directive]
Битовый массив в АСМе 51?
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Алехин Александр 20 февраля 2002 г. 10:03

Необходим массив из 16 битов.
Создал битовый сегмент:
BIT_SEGMENT SEGMENT BIT
Объявил в этом сегменте массив:
RSEG BIT_SEGMENT
State: DBIT 16

В программе обращаюсь к элементам массива так MOV State+8,C

Но не могу получить байтовый адрес начала массива (т.е. что бы обнулить все флаги записью нулей в байты, а не во все биты). Как быть?

Пробовал так - создать сегмент DATA BITADDRESSABLE, в нем два байта (на 16 битов).
Но тогда не могу обратиться как к битам к старшим 8 битам (т.е. MOV State^8,C дает ошибку на ^8 - индекс бита не более 7).
Как поступить? Ассемблер из Кейла.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru