вопрос был почему она не была использована? были причины какие-то или их компилятор её не знал.
скорее всего банально так программисту захотелось и он в каждой комманде явно указывал .w или .l,
либо была директива компилятору, что для комманд перехода, где явно не указана длина, использовать 16 или 32 бита
а здесь вопрос стоит так: если они делают одно и тоже, зачем было делать две одинаковые по сути команды?
еще раз говорю - это две разные комманды
BSR - безусловный переход на подпрограмму относительно PC
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 1 0 0 0 0 1 |8бит смещение |
если смещение = 0 -> смещение следующие 2 байта
если смещение = FF -> смещение следующие 4 байта (68020+)
JSR - безусловный переход на подпрограмму по EA
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 1 0 0 1 1 1 0 1 0 mode register
Адресация Mode Register
(An) 010 номер регистра A
(d16,An) 101 номер регистра A
(d8,An,Xn) 110 номер регистра A
(xxx).W 111 000
(xxx).L 111 001
(d16,PC) 111 010
(d8,PC,Xn) 111 011
плюс еще 6 видов адресации для 68020+
Добавлено позже:ну и главное различие между B-коммандами и J-коммандами:
B-комманды есть по условию или безусловные, но только относительно PC
J-комманды только безусловные, но с кучей разных адресаций