Микроконтроллер 8051: как получить адреса входов в JB & amp; CJNE инструкции?

StackOverflow https://stackoverflow.com/questions/1631198

Вопрос

Я реализую весь набор инструкций 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/ ?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top