Микроконтроллер 8051: как получить адреса входов в JB & amp; CJNE инструкции?
-
06-07-2019 - |
Вопрос
Я реализую весь набор инструкций 8051 в VHDL с нуля. Большинство вещей прошло хорошо, но наткнулся на эти 2 инструкции:
JB bit,rel
00100000 bit_address rel_address
CJNE A,#data,rel
10110100 immediate_data rel_address
Любая помощь или подсказка очень ценится. Заранее спасибо!
Решение
Относительный адрес предоставляется программистом. Обычно это вычисляется ассемблером по меткам.
Ваш asm-файл будет содержать:
...asm code
...asm code
JB some_bit, some_label
...more asm code
...more asm code
...more asm code
some_label:
...more asm code
...more asm code
Ассемблер проанализирует код между инструкцией JB и меткой и вычислит количество байтов смещения, необходимое для получения метки, это число, которое он передает в инструкцию JB.
Здесь - хорошее объяснение инструкций 8051. р>
Другие советы
Возможно, вы могли бы получить некоторые подсказки от http: //www.cs. ucr.edu/~dalton/i8051/i8051syn/ ?
Не связан с StackOverflow