Как изменить часть цикла ассемблера в двоичный код? - PullRequest
0 голосов
/ 05 мая 2018

На двухпроходном ассемблере, если есть код сборки, такой как

test     start   1000
first    lda     index
         ldx     index
read     jsub    strcpy
         ldch    str,x
         comp    eof
         jeq     end
         lda     index
         add     one
         sta     index
         ldx     index
         j       read  
strcpy   td      indev
         jeq     strcpy
         rd      indev
         stch    str,x
         rsub
end      lda     index
index    word    0
one      word    1
str      resw    5
indev    byte    x'f3'
eof      byte    x'000004'
         end     first

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

1 Ответ

0 голосов
/ 05 мая 2018

Конечно нет. Что если у вас нет априорных знаний о том, сколько раз это потребуется? Каждая метка будет адресом в памяти кода. Ассемблер преобразует эти метки в адреса. Переход преобразуется в двоичный машинный код, как и все другие операторы ассемблера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...