FFFF

Инструкции TBB , TBH

5 сообщений в этой теме

FFFF    0

был бы признателен если бы кто то подробно объяснил как работают инструкции табличного перехода. Ни как до конца не пойму как взаимосвязаны индекс передаваемый в регистре и значение записываемое в таблице. И как вообще происходит переход, что за значение записывается в таблице?

Спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
funs: // rx - регистр с номером строки таблицы
            tbh     [pc, rx, lsl #1]
Table:
    .hword   ((__funs_1 - Table)/2)
    .hword   ((__funs_2 - Table)/2)
    .hword   ((__funs_3 - Table)/2)
__funs_1:
			код
__funs_2:
			код
__funs_3:
			код

Часть вопроса является ответом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
LiVit    11

В ячейках таблицы хранится адрес функции на которую будет переход.

Например, у вас есть три функции, которые должны выполняться в зависимости от состояния переменной а. 
Если а == 0 - функция 1
если а== 1 - функция 2
если а == 2 - функция 3
В ячейку 0 записывается адрес функции 1, в ячейку 1 - адрес функции 2, в ячейку 2 - адрес функции 3.

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

А вообще - пишите на Си. И побольше комментариев.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
FFFF    0

Правильно ли я понимаю что для инструкции ТВВ  все переходы на процедуры лежат в диапазоне 514 байт, считая от начала  таблицы переходов, иными словами таблица переходов и адрес начала последней прцедуры должны располагаться не далее чем за 514 байт от первой ячейки таблицы переходов? Или откуда счет байтов идет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Сообщения

    • Уважаемый serste! Тон Вашего поста напоминает реакцию человека, которому нечаянно наступили на мозоль. Особенно удивляет Ваше стремление спрогнозировать ответ, который Вы, по всему, ожидаете услышать. Применяя для этого написание текста в верхнем регистре, что не приветствуется Правилами форума. Не очень боясь ошибиться, скажу, что усилитель имелся ввиду ламповый. Правильно спроектированный и настроенный. Места здесь такие. Что касается ресиверов, перечинил не мало и знаю их основную беду - редко в каком есть БП достаточно мощный, чтобы тянуть хотя бы пару каналов на полную заявленную мощность. Не говоря, уже, о 5-ти. И не зря, редко в каком есть усилитель саба. Из тех же причин дохлости БП.  В кино это не самая большая проблема, если учесть, что внимание не концентрируется исключительно на прослушивании саундтрека. Но... у меня, тоже, за плечами жизнь, отсутствие абсолютного слуха и, какой-никакой, личный опыт, включая... много чего. К стати, абсолю́тный слух, всего то, способность определять абсолютную высоту музыкальных звуков. А ля первой октавы, оно и будет ля первой октавы, хоть через радиоточку, хоть через топовый ресивер. Личный опыт мне говорит, что не требуется музыкального образования, чтобы понять и оценить звучание системы. Как не требуется знание хореографии, чтобы заметить из зала разницу в танце двух балерин. Вы просто слушаете музыку. Желательно, разноплановую. Если у вас не возникает при этом дискомфорта, значит система Вас полностью устраивает. В ином случае, через время, Вы неизбежно поймёте, что есть "слабое звено". Это может быть любой компонент системы. Но, определяется он точно. По себе знаю. Меняете. Система делает "шаг вперёд". И Вы, некоторое время, наслаждаетесь "подросшим звуком". Но, растёте и сами. И, вполне можете обнаружить следующее "слабое звено". Последовательность действий описана выше. Процесс итерационный, и заканчивается либо тем, что Вам удаётся создать систему, которая Вас устраивает (это сходимость), либо вложение капитала больше не даёт адекватного прироста в звуке (это асимптота). И Вы понимаете, что хватит. Третьего варианта, в чистом виде, не встречал. Так что, разница в звучании ресивера и лампового усилителя, всё таки существует. Особенно это слышно при прямом сравнении. Неоднократно наблюдал на реакции даже не подготовленной публики. Разводить же демагогию, типа - Производитель, элементная база, цена - ? - считаю бессмысленным. Ибо, адекватно обсуждать звучание можно только с человеком, который сидит, сию секунду, рядом с Вами на диване, и слышит то же, что и Вы. Иначе, это просто бесполезное словоблудие. Часто переходящее на личность. P.S. Говоря - создать систему, которая Вас устраивает - я имею ввиду, то, что написано. С акцентом на "Вас". А не то, что Вы создали самую идеальную систему, которая "кроет" все другие системы в мире, стоимостью до 10000 $.
    • Оно уже управляется по zigbee, на первой фотке плата с антенной. PS. Резисторы померяю.
    • Ну а с чего бы нет?Ведь сопротивление разряда постоянное,напряжение на кондере тоже.
    • Всем доброго времени суток. Общая задача такова - надо снимать сигнал (осциллограмму) с полосой до 400 кГц и временем записи 5 минут. Результат должен быть куда-то сохранен, чтобы потом была возможность сбросить цифровые данные на комп.  Нужен совет по одному (пока) вопросу. Я хочу писать бинарные данные напрямую на SD-карту. Минимальная частота дискретизации 800 кГц. Разрешение АЦП можно взять 8 бит. Как вы думаете, успеет ли флешка скушать данные?  Шаблон кода создаю кубом с использованием HAL, тестирую на камне 407VET6. При записи планирую использовать буфер, куда загоняю массив данных, чтобы писать не по одной выборке, а сразу пачкой. ЗЫ Есть еще вариант. Использовать в качестве промежуточной памяти вот такое https://static.chipdip.ru/lib/435/DOC001435109.pdf  , сохранить туда, а потом уже на внешнюю карту. По идее, есть возможность соединить по FSMC. Но для меня это крайний вариант, ибо до этого не пробовал такое.
    • Ну вот из того что я обнаружил,это то что  тепло на Р1 сильно зависит от напряжения питания,но вот почему это так я не понимаю..Ведь количество зарядок кондера в секунд всегда одинаковое число,оно не меняется,по скольку нагрузка разряда там постоянная,меняется только то время,пока открыт транзистор ,но чем больше напряжение тем меньше времени он открыт,и вроде как получается что при 24 вольтах конденсатор зарядится до тех же вольт в 4 раза быстрее чем при 12,и для резистора Р1 не будет никакой разницы с 12 заряжать конденсатор или с 24..Или тут что то не то......?
    • Конечно, искал. На TDA8362 есть схемы с обвязкой. Но это самый крайний вариант. Уж слишком большой по габаритам получается платка. А вот больше в нете на транскодеры CVBS в RGBS схем на другой элементной базе нет. По поводу LMH1251, так судя по картинкам, она преобразует компонентный видеосигнал в RGB. Хотя могу и ошибаться. Уже завтра на трезвую голову гляну даташит.